[LLVMdev] Stack traces from JIT code

Priyendra Deshwal deshwal at thoughtspot.com
Tue Nov 12 14:56:03 PST 2013


[Resending this email after subscribing to the group. Got an error message
the previous time around]

Hey guys,

In our project we have the following workflow:

- Given a user request, we construct a C++ program to service the request
- We create a compiler invocation to compile that program into an IR module
- We use JIT (and optionally MCJIT) to convert the IR into executable code
and run it

Occasionally, we have a crash in the JIT code and we are looking to figure
out best practices around debuggability. With the MCJIT option, we can
debug in gdb so that is already a big step forward.

However, that does not work for a production crash. We want to capture the
stack trace from the crash and write it to stderr. Our binary has a signal
handler that does stack unwinding and symbolization upon crash. Based on my
reading so far, we need to implement a JITEventListener which would keep
track of the dynamically generated symbol addresses and use the resulting
maps for symbolization.

Will that work? Is there a simpler way?

Thanks,
-- Priyendra
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131112/e6677a44/attachment.html>


More information about the llvm-dev mailing list