Getting stacktrace for userspace applications on crash(SIGSEGV)

Daniel. danielhilst at gmail.com
Fri Sep 9 14:21:48 EDT 2016


Hi everybody,

I'm debugging a library that implement some nasty protocol. This
library is used by some JNI library which exports the native library
to Java world. By the way I'm running on ARMv7.

Well, some times, at random times, that library crashes. The problem
is that I can't get stacktrace. Not from JVM's fatal errors logs, not
from core dumps, not from libSegFault... I'm using "-g -rdynamic
-funwind-tables -mapcs-frame" compiler options but still I can't get a
stacktrace. I've tried using glibc backtrace too. What I don't tried
yet: libunwind, valgrid and making kernel do the stacktrace. The cool
part is that when I ran my library outside from the JVM (with native
application) I do get backtraces! [Damn Java]

I'm here to ask: Is it possible to make kernel print the stacktrace
for some userspace application when it crashes?

I saw USER_STACKTRACE_SUPPORT but can't find any help from it's
Kconfig. I saw this https://kernelnewbies.org/FAQ/StackTrace and this
http://processors.wiki.ti.com/index.php/Enabling_Stack_Dumping_in_Linux_Kernel
but can't find "Kernel hacking -> Verbose kernel error messages" even
with "Kernel hacking -> Kernel Debuggin" enabled.

Any help is appreciated! Thanks !!!

-- 
"Do or do not. There is no try"
  Yoda Master



More information about the Kernelnewbies mailing list