Overly brief stack traces for Java/linux ?


Bradley Schatz
 

Hi,

 

I’m just starting to come to grips with bcc & perf-map-agent for introspecting java on linux, with the goal of identifying what appears to be an off-heap memory leak (using memleak).

 

I appear to be getting reliable stack decoding for jvm library code and for jit’ed java methods (see below for an example of the former). However I am seeing some very short stack traces which don’t seem to decode (the latter three stacks of below).

 

It’s looking to me like the frame starting with “jna…” is likely the native JNI shared library for the FFI library “JNA”.

 

Any suggestions as to why these latter three are so brief and/or how I can increase the resolution?

 

Apologies if this is the wrong place for such a question. Thank you for your help.

 

Kind regards,

Bradley

 

 

 

 

       119408 bytes in 71 allocations from stack

              os::malloc(unsigned long, MemoryType, NativeCallStack const&)+0xb5 [libjvm.so]

              CodeBlob::set_oop_maps(OopMapSet*) [clone .part.5]+0x75 [libjvm.so]

              CodeBlob::CodeBlob(char const*, CodeBuffer*, int, int, int, int, OopMapSet*)+0xe3 [libjvm.so]

              nmethod::nmethod(Method*, int, int, int, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, int)+0x4d [libjvm.so]

              nmethod::new_nmethod(methodHandle, int, int, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, int)+0x219 [libjvm.so]

              ciEnv::register_method(ciMethod*, int, CodeOffsets*, int, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, int, bool, bool, RTMState)+0x1b1 [libjvm.so]

              Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool)+0xe60 [libjvm.so]

              C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0xa3 [libjvm.so]

              CompileBroker::invoke_compiler_on_method(CompileTask*)+0x808 [libjvm.so]

              CompileBroker::compiler_thread_loop()+0x6d8 [libjvm.so]

              JavaThread::thread_main_inner()+0x1c7 [libjvm.so]

              JavaThread::run()+0x2fa [libjvm.so]

              java_start(Thread*)+0x102 [libjvm.so]

              start_thread+0xf3 [libpthread-2.28.so]

       34603008 bytes in 33 allocations from stack

              [unknown] [jna9005484735610534564.tmp (deleted)]

              [unknown] [perf-31566.map]

       96468992 bytes in 92 allocations from stack

              [unknown] [jna9005484735610534564.tmp (deleted)]

              [unknown] [perf-31566.map]

       295698432 bytes in 282 allocations from stack

              [unknown] [jna9005484735610534564.tmp (deleted)]

              [unknown] [perf-31566.map]

 

Join iovisor-dev@lists.iovisor.org to automatically receive all group messages.