Re: Jaguar broke my Bluetooth code!
This is a good (but bad news) find -- looks like we have a bug in our parser that does not handle a zero-length name header properly. Unfortunately, we have never seen any device send a zero-length name, so we did not catch it. I can provide you with a new parser library that should fix the problem, just let me know if you would like to try it out. At least it will get you going again. jason bubba@apple.com
It is quite likely I have a memory problem somewhere, but as I know
Apple engineers are reading this, I am hoping for some inside
information on what could be going wrong.
Basically, in my OBEX-get handler, I extract the OBEX-headers like this:
CFDictionaryRef dictionaryRef = NULL;
dictionaryRef = OBEXGetHeaders( inOBEXSessionEventData->headerDataPtr,
inOBEXSessionEventData->headerDataLength );
This ends up crashing on Jaguar 6C106. Stack trace as follows:
#0 0x90074e84 in memmove
#1 0x901bc84c in __CFStringCreateImmutableFunnel3
#2 0x9014f9fc in CFStringCreateWithBytes
#3 0x96f20128 in OBEXGetHeaders
#4 0x002d177c in -[JSIrMCTransportImpl OBEXGetHandler:]
(JSIrMCTransportImpl.m:315)
Now, it works fine the first time I'm doing a get, but crashes with a
SIGSEGV the second time (for a different file). Looking at the headers
before calling OBEXGetHeaders, I noticed that the second time around,
the device has passed an empty "name" header, like this:
0000: 01 00 03 49 01 bb 54 6f 74 61 6c 2d 52 65 63 6f
...I..Total-Reco
It is _possible_ (although not likely) that this is causing the problem
in OBEXGetHandler. Unless, of course I have messed up the heap before
all this happens.
Any ideas? Most importantly, it would be really helpful to learn from
Apple developers what could be going wrong in OBEXGetHeaders; as far as
I can tell from using NSLog, the data I'm passing to OBEXGetHeaders is
ok.
Cheers,
Jonas
PS. Also. The received data fits in one frame.
PPS. If there is a better channel for discussing this, let me know.
_______________________________________________
bluetooth-dev mailing list | bluetooth-dev@lists.apple.com
Help/Unsubscribe/Archives:
Do not post admin requests to the list. They will be ignored.
_______________________________________________ bluetooth-dev mailing list | bluetooth-dev@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/bluetooth-dev Do not post admin requests to the list. They will be ignored.
participants (1)
-
Bubba Giles