
#7629: segmentation fault in compiled program, involves gtk, selinux
-----------------------------------------------------------------+----------
Reporter: wgmitchener | Owner: simonmar
Type: bug | Status: infoneeded
Priority: high | Milestone: 7.6.2
Component: Runtime System | Version: 7.4.2
Keywords: segmentation fault, multithreading, selinux, gtk | Os: Linux
Architecture: x86 | Failure: Runtime crash
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
-----------------------------------------------------------------+----------
Comment(by wgmitchener):
Maybe it's not an 8 byte problem. If the callback is eventually supposed
to call adjustorCode, then the error is even weirder:
On Fedora 17, (SE, GHC 742), in just_invoke_callback (ghc-bug-003),
tracing through...
Inside createAdjustor in ghc-7.4.2/rts/Adjustor.c, the AdjustorStub code
that is generated at line 386 :-o is
{{{
(gdb) disas /r adjustorStub,+5
Dump of assembler code from 0xb7ffc02c to 0xb7ffc031:
0xb7ffc02c: e8 87 a4 22 50 call 0x82264b8 <adjustorCode>
End of assembler dump.
}}}
e8 is the opcode for an ip-relative jump.
The same bytes during set_callback and just_invoke_callback are
interpreted differently for some reason:
{{{
(gdb) print adjustorCode
$20 = {