> 
> Howdy,
> 
> I am trying to use findleaks to spot a memory leak in one of our 
> applications. When I run "::findleaks -dv" it reports numerous
> leaks, and a stack backtrace for each leak:
> 
> umem_alloc_112 leak: 94 buffers, 112 bytes each, 10528 bytes total
>              ADDR          BUFADDR        TIMESTAMP           THREAD
>                              CACHE          LASTLOG         CONTENTS>> More 
> [<space>, <cr>, q,
>         100c98ee0        100c97960    21ff452829f0c                1
>                          100b44368                0                0
>                   libumem.so.1`umem_cache_alloc+0x21c
>                   libumem.so.1`umem_alloc+0x5c
>                   libumem.so.1`malloc+0x40
>                   0x10085f2a0
>                   0x1004fd388
>                   0x10044a93c
>                   0x100517748
>                   0x10055ca44
>                   0x10055f588
>                   rnrq+0x204
>                   main+0x600
>                   _start+0x17c
> 
> I tried to resolve address 0x10085f2a0 with nm, but for some reason it 
> can't resolve the address to a symbol name. I also searched through $e, 
> but it looks like the address is missing from the results. Does anyone 
> happen to know if there is a way to get the name of the function 
> associated with address 0x10085f2a0?
> 
> Thanks for any insight,
> - Ryan

Typically there are two reasons for seeing something like this:

        - a stripped binary or stripped loadable object
        - a loadable object which has been dlclose()d

Is it possible you're hitting one of these cases?  One thing you can
quickly check is to do:

        <addr>$m

which will tell you what mapping the address is in.  If you get an answer
from that, then it may be stripped.  If you don't, then that address
refers to something which wasn't in memory anymore.

-Mike

-- 
Mike Shapiro, Solaris Kernel Development. blogs.sun.com/mws/

Reply via email to