Changes between Initial Version and Version 1 of Ticket #10641, comment 4
- Timestamp:
- Mar 6, 2014, 3:29:10 PM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #10641, comment 4
initial v1 3 3 [23:11] <msaboff> PulkoMandy: If you have the disassembler enabled for your platform, you can set showDisassembly to true to see the generated code. showDisassembly can be set via the environment variable JSC_showDisassembly=1 4 4 [23:12] <PulkoMandy> http://paste.debian.net/85505/ 5 [23:13] <PulkoMandy> I get this6 5 [23:13] <msaboff> PulkoMandy: The logging file will actually be DATA_LOG_FILENAME with the pid and ".txt" appended. 7 [23:13] <PulkoMandy> I guess I have to enable disassembly now 8 [23:13] <msaboff> PulkoMandy: That means that the disassembly is not enabled for your platform. You can see the byte ranges for generated code though. 6 [23:13] <msaboff> PulkoMandy: You can see the byte ranges for generated code though. 9 7 [23:15] <msaboff> PulkoMandy: If you disassemble beginning at 0x145000, you can see the instructions that set up the stack for that function. 10 8 [23:15] <msaboff> PulkoMandy: Same thing for disassembling beginning from 0x102940 … … 12 10 [23:16] <PulkoMandy> the matching backtrace for this run 13 11 [23:16] <PulkoMandy> the addresses are different, so... 14 [23:18] <PulkoMandy> so, the caller ? is JIT, and the callee doesn't seem to be15 12 [23:19] <msaboff> PulkoMandy: The baseline compile of sleep#BywTgC should create a small frame 16 13 [23:20] <msaboff> PulkoMandy: In http://paste.debian.net/85505/, the first function is a baseline JIT compile of a function named "sleep()" … … 19 16 [23:23] <msaboff> PulkoMandy: No. From a debugger, are you able to disassembly the first ~30 instructions of each of the JSC functions on the stack? 20 17 [23:23] <msaboff> PulkoMandy: That is after the crash, but before the process dies. 21 [23:24] <PulkoMandy> our debugger doesn't seem to want to disassemble this :(22 [23:25] <PulkoMandy> I can get an hex dump23 [23:27] <msaboff> PulkoMandy: You could see about enabling the udis86 disassembler in wtf/Platform.h - Look where WTF_USE_UDIS86 is defined24 [23:28] <msaboff> PulkoMandy: It shouldn't require anything special from your OS.25 [23:29] <PulkoMandy> ok - this will take a while to recompile, however26 [23:29] <msaboff> PulkoMandy: Are you trying to disassemble using an address?27 18 [23:30] <PulkoMandy> I don't find a way to do that in our debugger 28 19 [23:31] <PulkoMandy> well, we have a gdb port, but it is too old, I can try it but it probably won't be very helpful 29 20 [23:34] <PulkoMandy> http://paste.debian.net/85514/ 30 [23:34] <PulkoMandy> yes, that doesn't really help31 [23:34] <PulkoMandy> is disassemble the right command to use?32 21 [23:35] <msaboff> PulkoMandy: But gdb shows many more frames 33 22 [23:36] <msaboff> PulkoMandy: Some of those frames look bogus (0xfffffffb which is likely a JSC tag)