From: Ed Tsang <netdesign_98@yahoo.com>
To: Bastien Nocera <hadess@hadess.net>,
Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: Bluettooth Linux <linux-bluetooth@vger.kernel.org>
Subject: Re: obexd 0.14 "put" file corruption
Date: Fri, 5 Mar 2010 10:07:39 -0800 (PST) [thread overview]
Message-ID: <768077.72808.qm@web52601.mail.re2.yahoo.com> (raw)
In-Reply-To: <1267806674.22567.4.camel@localhost.localdomain>
I think I found the problem. It is when the MTU is 4096, the send size is set to
3896 (200 for the overhead). So the last 200 did not get send
and it remember as "pre-fill" for the next transfer. The code did try to move the data but incorrectly.
clinet/session.c put_xfer_progress()
----- origional
memmove(session->buffer + written, session->buffer, session->filled);
/* try to move from the remaining from the bottom of the buffer to the beginning of buffer
but memove is (*dest, * src, len) not as normally most people, including me, will guess (*src, *dest, len)
-------- should be
memmove(session->buffer, session->buffer + written, session->filled);
with the change, it seem working now?
Ed
----- Original Message ----
From: Bastien Nocera <hadess@hadess.net>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: Ed Tsang <netdesign_98@yahoo.com>; Bluettooth Linux <linux-bluetooth@vger.kernel.org>
Sent: Fri, March 5, 2010 11:31:14 AM
Subject: Re: obexd 0.14 "put" file corruption
On Fri, 2010-02-26 at 10:41 +0200, Luiz Augusto von Dentz wrote:
> Hi,
>
> On Thu, Feb 25, 2010 at 12:23 AM, Ed Tsang <netdesign_98@yahoo.com> wrote:
> >
> >
> >>I am using obexd 0.14 to push files into phone. The image file received by some phone seem a bit strange and in some phone it could not be >display at all. So I tried a simple text file with line number as text. Then I saw the file received from the phone is corrupted. Looking into the >hcidump look like the second "Put cmd" and forward, the first "0xc8" bytes was not copied (stay the same as the firs put cmd).
> >> Anyone know if this is a known problem in 0.14 or fixed in the latest (obexd 0.20).
> > Installed the obexd o.20. Same problem???
> > -------------------------- first put
> > RFCOMM(d): UIH: cr 1 dlci 12 pf 0 ilen 303 fcs 0x4f
> > OBEX: Put cmd(c): len 3922
> > Name (0x01) = Unicode length 12
> > 0000: 00 74 00 2e 00 74 00 78 00 74 00 00 .t...t.x.t..
> > Length (0xc3) = 8208
> > Body (0x48) = Sequence length 3896
> > 0000: 30 30 20 66 69 72 73 74 20 6c 69 6e 65 20 20 0a 00 first line .
> > 0010: 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 1 .
> >
> > ...................... second put (after 0xc8 is fine)
> > RFCOMM(d): UIH: cr 1 dlci 12 pf 0 ilen 283 fcs 0x4f
> > OBEX: Put cmd(c): len 3902 (continue)
> > Body (0x48) = Sequence length 3896
> > 0000: 30 30 20 66 69 72 73 74 20 6c 69 6e 65 20 20 0a 00 first line .
> > 0010: 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 1 .
> > 0020: 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 2 .
> > 0030: 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 3 .
> > 0040: 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 4 .
> > 0050: 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 5 .
> > 0060: 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 6 .
> > 0070: 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 7 .
> > 0080: 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 8 .
> > 0090: 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 9 .
> > 00a0: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a A .
> > 00b0: 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a B .
> > 00c0: 43 20 20 20 20 20 20 20 31 30 30 20 73 65 63 6f C 100 seco
> > 00d0: 6e 64 20 70 61 67 65 0a 31 20 20 20 20 20 20 20 nd page.1
> > 00e0: 20 20 20 20 20 20 32 0a 32 20 20 20 20 20 20 20 2.2
> >
> > Anyone bump into this?? look like the start of copying problem...
>
> Weird, are you sure the client is sending this properly? Anyway we do
> store the data in a buffer even if was sent together with put cmd, Im
> very suspicious that this is not the problem since we would have
> notice this before. Btw obexd does not push/send files obex-client
> does, are you talking about obex-client?
This has been reported to me as well, with obexd 0.19:
https://bugzilla.redhat.com/show_bug.cgi?id=550538
Ideas on how to debug this?
Cheers
__________________________________________________________________
The new Internet Explorer® 8 - Faster, safer, easier. Optimized for Yahoo! Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/
next prev parent reply other threads:[~2010-03-05 18:07 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-24 22:23 obexd 0.14 "put" file corruption Ed Tsang
2010-02-26 8:41 ` Luiz Augusto von Dentz
2010-03-05 16:31 ` Bastien Nocera
2010-03-05 18:07 ` Ed Tsang [this message]
2010-03-05 19:35 ` Vinicius Gomes
2010-03-05 19:51 ` Ed Tsang
2010-03-05 20:38 ` Vinicius Gomes
2010-03-08 14:31 ` Bastien Nocera
2010-03-08 16:53 ` Ed Tsang
-- strict thread matches above, loose matches on Subject: below --
2010-02-24 21:50 Ed Tsang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=768077.72808.qm@web52601.mail.re2.yahoo.com \
--to=netdesign_98@yahoo.com \
--cc=hadess@hadess.net \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox