I haven't yet seen the result of the obvious, simple, "load the core with 
mdb" technique...

James Coleman wrote:
> 
> libumem uses fixed size pools so for example if you malloc 70 bytes umem 
> will return a buffer which is 95 bytes. So maybe there is a buffer 
> overrun. And with libumem the spare space gets clobbered.
> But with other libraries the start of another buffer gets clobbered.
> I think that's most likely what is happening.
> 
> Use C++ stl strings instead of c char arrays maybe :)
> 
> Try running with umem debug.  preload like this:
> UMEM_DEBUG=default UMEM_LOGGING=transaction LD_PRELOAD=libumem.so.1 
> <your cmd>
> ::umem_verify will check for corruption just over the end of buffers.
> ::umem_status will show details and stack if umem exited because of 
> buffer corruption
> 
> James.
> 
> Jan Kopriva wrote:
>> Hi all,
>>
>> I have a strange problem. A utility I am using sometimes coredumps  
>> SIGSEGV. If I use it with libumem preloaded it works perfectly.
>> Is there any debugging technique I can use in such cases?
>>
>> Thanks
>>
>> Jan
>> _______________________________________________
>> mdb-discuss mailing list
>> mdb-discuss at opensolaris.org
> 
> _______________________________________________
> mdb-discuss mailing list
> mdb-discuss at opensolaris.org


Reply via email to