Subsurface crashes on launch in OS Mavericks
thiago at macieira.org
Sat Jan 11 19:24:14 UTC 2014
On domingo, 12 de janeiro de 2014 07:42:40, Linus Torvalds wrote:
> On Jan 12, 2014 6:55 AM, "Dirk Hohndel" <dirk at hohndel.org> wrote:
> > can you also send the output of "uname -a"
> > (just making sure you Core 2 Duo is indeed running in 64bit mode as it
> > should)
> You can tell from the register dump that it's in 64-bit mode, so that part
> should be fine.
> It looks (again, from the registers) like it crashed in marble. Weren't
> there problems with alternate installations of marble being found first on
There were: if the person had built Marble locally, its plugins might be found
by Subsurface but they might be incompatible.
But I don't see that in the backtrace. It looks like it crashed before main,
in a global initialiser in QtGui. The RIP register has value
0x0000000101f78244, which places it in QtGui:
0x101f39000 - 0x102798ff7 +QtGui (4.8.5)
And the backtrace:
0 Crashed:: Dispatch queue: com.apple.main-thread
0 QtGui 0x0000000101f78244 0x101f39000 +
It's close enough to the beginning of QtGui to be in the text section:
$ otool -l QtGui
Load command 0
align 2^4 (16)
If I disassemble 258628 (0x3f244) bytes from the beginning, I see:
000000000003f240 pushq %rbp
000000000003f241 movq %rsp, %rbp
000000000003f244 popq %rbp
000000000003f245 jmpq __ZN7QWidgetD2Ev
000000000003f24a nopw (%rax,%rax)
I don't see how that 1-byte instruction can cause a SIGILL, especially since
there's a push two instructions below that didn't cause a problem.
It's possible that I didn't locate the correct instruction. Which begs the
question: what kind of crash reporter shows a SIGILL but doesn't include the
bytes close to RIP?
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Software Architect - Intel Open Source Technology Center
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 190 bytes
Desc: This is a digitally signed message part.
More information about the subsurface