Skip to content

SEGFAULT in stg_ap_ppp_info()

Running a multi-threaded server application under stress testing, eventually get one of the following errors:

app: internal error: stg_ap_ppp_ret
Please report this as a bug to glasgow-haskell-bugs@haskell.org,
or http://www.sourceforge.net/projects/ghc/

or

SEGFAULT in stg_ap_ppp_info()

This was observed in GHC 6.4, and is still present after upgrading to 6.4.2. gdb stack trace below:

[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 27919)]
[New Thread 32769 (LWP 27922)]
[New Thread 16386 (LWP 27923)]
[New Thread 32771 (LWP 27924)]
[New Thread 49156 (LWP 27925)]
[New Thread 65541 (LWP 27929)]
[New Thread 81926 (LWP 28021)]
[New Thread 98311 (LWP 28864)]
[New Thread 114696 (LWP 3114)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 32771 (LWP 27924)]
0x08338c8d in stg_ap_ppp_info ()
(gdb) thread apply all where

Thread 9 (Thread 114696 (LWP 3114)):
#0  0x001450f4 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
#1  0x00144728 in __pthread_wait_for_restart_signal () from /lib/i686/libpthread.so.0
#2  0x00140fab in pthread_cond_wait@GLIBC_2.0 () from /lib/i686/libpthread.so.0
#3  0x08342246 in waitCondition ()
#4  0x083b4180 in returning_worker_cond ()
#5  0x083bf368 in in_haskell ()
#6  0x00000000 in ?? ()

Thread 8 (Thread 98311 (LWP 28864)):
#0  0x001450f4 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
#1  0x00144728 in __pthread_wait_for_restart_signal () from /lib/i686/libpthread.so.0
#2  0x00140fab in pthread_cond_wait@GLIBC_2.0 () from /lib/i686/libpthread.so.0
#3  0x08342246 in waitCondition ()
#4  0x083b4180 in returning_worker_cond ()
#5  0x083bf368 in in_haskell ()
#6  0x00000000 in ?? ()

Thread 7 (Thread 81926 (LWP 28021)):
#0  0x001450f4 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
#1  0x00144728 in __pthread_wait_for_restart_signal () from /lib/i686/libpthread.so.0
#2  0x00140fab in pthread_cond_wait@GLIBC_2.0 () from /lib/i686/libpthread.so.0
#3  0x08342246 in waitCondition ()
#4  0x083b4180 in returning_worker_cond ()
#5  0x083bf368 in in_haskell ()
#6  0x00000000 in ?? ()

Thread 6 (Thread 65541 (LWP 27929)):
#0  0x004e1c21 in select () from /lib/i686/libc.so.6
#1  0x083bf888 in MainCapability ()
#2  0x0089c91c in ?? ()
#3  0x006f5778 in ?? ()
#4  0x00000000 in ?? ()

Thread 5 (Thread 49156 (LWP 27925)):
#0  0x001450f4 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
#1  0x00144728 in __pthread_wait_for_restart_signal () from /lib/i686/libpthread.so.0
#2  0x00140fab in pthread_cond_wait@GLIBC_2.0 () from /lib/i686/libpthread.so.0
#3  0x08342246 in waitCondition ()
#4  0x083b4180 in returning_worker_cond ()
#5  0x083bf368 in in_haskell ()
#6  0x044d6bc0 in ?? ()
#7  0x0014aff4 in ?? () from /lib/i686/libpthread.so.0
#8  0x00000001 in ?? ()
#9  0x083bf368 in in_haskell ()
#10 0x030d8e48 in ?? ()
#11 0x0833a93e in waitForCapability ()
#12 0x00000000 in ?? ()

Thread 4 (Thread 32771 (LWP 27924)):
#0  0x08338c8d in stg_ap_ppp_info ()
#1  0x00692c38 in ?? ()
#2  0x00148464 in write () from /lib/i686/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#3  0x00000001 in ?? ()
#4  0x006f5800 in ?? ()
#5  0x00000001 in ?? ()
#6  0x00000002 in ?? ()
#7  0x006f57b8 in ?? ()
#8  0x0014d41c in wait_node_free_list () from /lib/i686/libpthread.so.0
#9  0x083c91e0 in ?? ()
#10 0x00000001 in ?? ()
#11 0x026d4a80 in ?? ()
#12 0x00000000 in ?? ()

Thread 3 (Thread 16386 (LWP 27923)):
#0  0x001450f4 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
#1  0x00144728 in __pthread_wait_for_restart_signal () from /lib/i686/libpthread.so.0
#2  0x00140fab in pthread_cond_wait@GLIBC_2.0 () from /lib/i686/libpthread.so.0
#3  0x08342246 in waitCondition ()
#4  0x083b4180 in returning_worker_cond ()
#5  0x083bf368 in in_haskell ()
#6  0x00000000 in ?? ()

Thread 2 (Thread 32769 (LWP 27922)):
#0  0x004df82a in poll () from /lib/i686/libc.so.6
#1  0x001424c0 in __pthread_manager () from /lib/i686/libpthread.so.0
#2  0x00142e95 in __pthread_manager_event () from /lib/i686/libpthread.so.0
#3  0x004e8ffa in clone () from /lib/i686/libc.so.6

Thread 1 (Thread 16384 (LWP 27919)):
#0  0x001450f4 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
#1  0x00144728 in __pthread_wait_for_restart_signal () from /lib/i686/libpthread.so.0
#2  0x00140fab in pthread_cond_wait@GLIBC_2.0 () from /lib/i686/libpthread.so.0
#3  0x08342246 in waitCondition ()
#4  0x083c53a4 in ?? ()
#5  0x083bf368 in in_haskell ()
#6  0x00000000 in ?? ()
Edited by Simon Marlow
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information