
#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): On Fedora 17, with GHC 7.4.2, I tried running valgrind on the Main program from ghc-bug-002.zip with this result: {{{ valgrind --leak-check=full ./Main ==30226== Memcheck, a memory error detector ==30226== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==30226== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==30226== Command: ./Main ==30226== Setting callback set_callback: at top set_callback: p_callback = (nil) set_callback: callback_data = 0 set_callback: p_finalizer = (nil) set_callback: new pointer values: set_callback: p_callback = 0x401102c set_callback: callback_data = 10 set_callback: p_finalizer = 0x401100c set_callback: done Invoking callback invoke_callback: at top invoke_callback: p_callback = 0x401102c invoke_callback: callback_data = 10 invoke_callback: p_finalizer = 0x401100c invoke_callback: calling callback ==30226== Invalid read of size 1 ==30226== at 0x822D5E8: freeSignalHandlers (Signals.c:90) ==30226== Address 0xa is not stack'd, malloc'd or (recently) free'd ==30226== ==30226== ==30226== Process terminating with default action of signal 11 (SIGSEGV) ==30226== Access not within mapped region at address 0xA ==30226== at 0x822D5E8: freeSignalHandlers (Signals.c:90) ==30226== If you believe this happened as a result of a stack ==30226== overflow in your program's main thread (unlikely but ==30226== possible), you can try to increase the size of the ==30226== main thread stack using the --main-stacksize= flag. ==30226== The main thread stack size used in this run was 8388608. ==30226== ==30226== HEAP SUMMARY: ==30226== in use at exit: 40,622 bytes in 32 blocks ==30226== total heap usage: 52 allocs, 20 frees, 43,076 bytes allocated ==30226== ==30226== LEAK SUMMARY: ==30226== definitely lost: 0 bytes in 0 blocks ==30226== indirectly lost: 0 bytes in 0 blocks ==30226== possibly lost: 0 bytes in 0 blocks ==30226== still reachable: 40,622 bytes in 32 blocks ==30226== suppressed: 0 bytes in 0 blocks ==30226== Reachable blocks (those to which a pointer was found) are not shown. ==30226== To see them, rerun with: --leak-check=full --show-reachable=yes ==30226== ==30226== For counts of detected and suppressed errors, rerun with: -v ==30226== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) Segmentation fault }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7629#comment:18 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler