[ug-bosug] Bluetooth Stack in userspace

Moinak Ghosh Moinak.Ghosh at Sun.COM
Mon Mar 31 08:09:55 PDT 2008


Ananth Shrinivas wrote:
> realfree() is the libc function that coalesces free blocks and maintains 
> them in a splay tree. If your program crashes here,  it means you have 
> written past or before a valid pointer, and modified metadata about 
> allocated blocks that libc maintains.
>
> Makes sense because a redundant malloc() alters the behavior of your 
> program.
>
> Run your program under libumem or watchmalloc - The point of failure 
> will be closer to your root-cause due to the red-zone protection code.
>   

   To add to this the following two links should be useful:

   http://blogs.sun.com/ahl/entry/solaris_10_top_11_20
   http://access1.sun.com/techarticles/libumem.html

Regards,
Moinak.

> Cheers,
> Ananth
>
> Anand Bheemarajaiah wrote:
>   
>> Hello all,
>>
>> I am currently building the bluetooth stack support in solaris for usb bluetooth dongles using the libusb api as a part of my undergraduate final year project.
>>
>> I have completed the hci-usb layer, hci layer, l2cap layer, sdp layer. I am currently doing the rfcomm layer.
>>
>> My query is with the code, it has started to behave in an unpredictable manner,
>>
>> for example,
>>
>> In the main function i am first inquiring for devices, then extracting their human readable names, then connecting to them and going on up the various layers of the bluetooth stack.
>>
>> here in the code, main function looks something like this,
>>
>> .....
>> hci_inquiry(hd,req,resp);  // inquire for devices
>> print_inq(resp);        // extracts the human readable names of devices discovered
>> ....
>>
>>
>> This code started crashing within the print_inq function after some time, now if i embed a malloc in between the two calls it works, 
>>
>> .....
>> hci_inquiry(hd,req,resp);  // inquire for devices
>> malloc(sizeof(struct hci_evt)); 
>> // hci_evt is the structure holding info of incoming event pkts.
>> print_inq(resp);        // extracts the human readable names of devices discovered
>> ....
>>
>>
>> can you tell why it is happening so.... and the runtime error is
>>
>> sigsegv with mapper code ... - it actually shows the callstack to be at realfree.
>>
>> i am sure it is not running out of memory because other commands and memory allocations work just fine.
>>
>> Any help would be great because i believe this is a stupid error and don't want to waste too much time on this.
>>
>> regards,
>> Anand B
>>  
>>  
>> This message posted from opensolaris.org
>> _______________________________________________
>> ug-bosug mailing list
>> List-Unsubscribe: mailto:ug-bosug-unsubscribe at opensolaris.org
>> List-Owner: mailto:ug-bosug-owner at opensolaris.org
>> List-Archives: http://www.opensolaris.org/jive/forum.jspa?forumID=54
>>   
>>     
>
> _______________________________________________
> ug-bosug mailing list
> List-Unsubscribe: mailto:ug-bosug-unsubscribe at opensolaris.org
> List-Owner: mailto:ug-bosug-owner at opensolaris.org
> List-Archives: http://www.opensolaris.org/jive/forum.jspa?forumID=54
>   



More information about the ug-bosug mailing list