[racket] current backtrace implications of JIT

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sun Jun 27 23:23:06 EDT 2010

At Sun, 27 Jun 2010 23:07:16 -0400, Neil Van Dyke wrote:
> What effect does the JIT currently have on debugging backtraces?  Or, 
> how can one get some or all of the benefit of the JIT, but still 
> reliably get useful backtraces?

The JIT backtraces have gotten slightly better in some corner cases,
but not much overall on x86 or PPC. On x86_64, backtraces were
originally limited or absent, but that was fixed a while ago.

> I see that DrScheme now has an option for disabling some JIT 
> optimizations.  Should I just do whatever that checkbox is doing?

I hadn't noticed before, but the checkbox needs to be relabeled by
dropping "JIT". It disables bytecode-compiler optimizations, which
apply whether or not you are using the JIT.

So, if you're getting useful info already without the JIT, then that
checkbox isn't the right direction.

> Details on my particular system... A while ago, I had to disable the JIT 
> for a large system so that we could reliably get useful backtraces at 
> the time (i.e., not just our top-level entry point).

The difference between JIT and non-JIT backtraces usually isn't so big.
Assuming that it's still a problem (i.e., it wasn't on x86_64 and long
enough ago), then probably we need to fix something in the JIT
backtrace implementation.

Posted on the users mailing list.