Hi,

>From the umem_status I too agree that some thing in my program corrupted
the memory. I am working on as to what caused the problem. The same
program works fine always in "SPARC" platform. Why is it that it is
causing problems on x86 architecture only?

Thanks
Priya

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of [EMAIL PROTECTED]
Sent: Wednesday, December 26, 2007 6:36 PM
To: Vamsee Priya
Cc: [email protected]
Subject: Re: [osol-discuss] SIGSEGV in libc.so.1`_malloc_unlocked
onSolarisx86machine 



>This is the o/p I get with umem_status when I attach mdb to the process
>running.
>
>Status:         ready and active
>Concurrency:    0
>Logs:           (inactive)
>Message buffer:
>umem allocator: redzone violation: write past end of buffer
>buffer=80c7c68  bufctl=80c8ce8  cache: umem_alloc_80

This error basically says: you have allocated an "X" (<= 80 bytes) of
memory but you wrote more than 80 bytes in that buffer.

The buffer was allocated from this point in your application:

>previous transaction on buffer 80c7c68:
>thread=1  time=T-0.000415973  slab=80b8ed8  cache: umem_alloc_80
>libumem.so.1'?? (0xfef99a48)
>libumem.so.1'umem_cache_alloc+0xe1
>libumem.so.1'umem_alloc+0x3f
>libumem.so.1'malloc+0x23
>ipfs_diff.exe'get_meta+0x28e            <--- here
>ipfs_diff.exe'active_out+0xb5
>ipfs_diff.exe'active+0xe0
>ipfs_diff.exe'main+0xd59
>ipfs_diff.exe'_start+0x80


And was freed here at which point the corruption was detected.

>umem: heap corruption detected
>stack trace:
>libumem.so.1'?? (0xfef96099)
>libumem.so.1'?? (0xfef98b1c)
>libumem.so.1'umem_free+0xf6
>libumem.so.1'?? (0xfef97c05)
>libumem.so.1'free+0x14
>ipfs_diff.exe'meta_free+0xbf
>ipfs_diff.exe'active_out+0x44e
>ipfs_diff.exe'active+0xe0
>ipfs_diff.exe'main+0xd59
>ipfs_diff.exe'_start+0x80

You could look at the buffer (+ 0t80) and see what was written there.

Casper




_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to