>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