-
Notifications
You must be signed in to change notification settings - Fork 3k
Reporting Crashes
In general, reproducing crashes in debug builds from source both ensure that the bug hasn't already been fixed and provides a maximum amount of diagnostic information. At a minimum a backtrace is essential.
The first step to making sure a reported crash is diagnosable is to determine whether or not it is in the HHVM code or in the machine code that HHVM (in JIT mode) generates at runtime.
Crashes in JITed code having the following two frames on the top of the stack:
(gdb) bt #0 0x0000000005c396a9 in ?? () #1 0x0000000000f2211e in enterTCHelper () ...
enterTCHelper is used to call into the translation cache where the generated code is stored; the ?? frame is generated code.
If the crash does look like this, then additionally, an IR dump is needed (so we can determine what we were trying to do when we crashed.)
Assuming the crash is reproducible, running with TRACE=printir:2 in the environment when running hhvm will generate (by default in /tmp/hhvm.log) an IR trace.
Please provide a link to the contents of this file (using gist or some other storage as it is likely to be large in any real PHP application) along with the backtrace.