> > 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/