Skip to content

Reporting Crashes

Sean Cannella edited this page Sep 5, 2013 · 12 revisions

Here are some tips to ensure that crash reports are as actionable as possible given that we don't have a mechanism for uploading cores at the moment:

  • Reproducing a crash in a debug build built from source ensures that the bug hasn't already been fixed and provides a maximum amount of diagnostic information. Please provide a backtrace gathered in this manner.

  • Providing a small and isolated case which can be used to reproduce the issue will exponentially increase the chances of someone being able to diagnose and fix the issue.

  • If a crash is in the machine code that HHVM (in JIT mode) generates at runtime, the backtrace alone is often completely unhelpful. Such crashes will always have the following two frames on the top of the stack:

(gdb) bt
#0  0x0000000005c396a9 in ?? ()
#1  0x0000000000f2211e in enterTCHelper ()
...

If the crash is a JIT crash, then an IR dump will be needed to determine what HHVM was doing when it crashed. To produce such a dump, reproduce the crash with TRACE=printir:2 in the environment and a logfile will be generated (by default /tmp/hhvm.log) that contains the IR.

Please provide a link to this file (using gist or some other storage as it is likely to be large in any real PHP application) along with the backtrace.

Clone this wiki locally