Segfaulting programs with GHC 6.4.1
John Goerzen
jgoerzen at complete.org
Fri Oct 21 22:24:44 EDT 2005
Here's some more data.
I tried this program with three versions of GHC.
GHC 6.4 with forkIO: could not produce a segfault at all
GHC 6.4 with forkOS: rapid segfault (<30 sec)
GHC 6.4.1 with forkIO: segfault in <5 min
GHC 6.4.1 with forkOS: segfault in <1 min
GHC 6.5: same results as GHC 6.4.1
Now, I also obtained a backtrace from GHC 6.4 with forkOS. Here's a
bit of it:
#0 0x080c2e3e in ForeignziCziString_zdwpeekCAString_info ()
#1 0xb7a9e868 in ?? ()
#2 0x00000020 in ?? ()
#3 0xb7ecb08c in _res () from /lib/tls/libc.so.6
#4 0xb7ad80ec in ?? ()
#5 0x00000004 in ?? ()
#6 0x016b0d36 in ?? ()
#7 0xb7ac3f9c in ?? ()
#8 0x93c0cef9 in ?? ()
#9 0x4359a1e1 in ?? ()
#10 0x000742d3 in ?? ()
#11 0x00000000 in ?? ()
....
#2021 0x00000000 in ?? ()
#2022 0xb7ed80a6 in __pthread_mutex_cond_lock () from /lib/tls/libpthread.so.0
#2023 0x080c2f4c in ForeignziCziString_zdwpeekCAString_info ()
now this is the first time something from pthread actually appeared,
which is interesting.
The code surrounding that CAString_info is:
0x080c2f44 <ForeignziCziString_zdwpeekCAString_info+356>: and %eax,(%eax)
0x080c2f46 <ForeignziCziString_zdwpeekCAString_info+358>: add %al,(%eax)
0x080c2f48 <ForeignziCziString_zdwpeekCAString_info+360>: and $0x0,%al
0x080c2f4a <ForeignziCziString_zdwpeekCAString_info+362>: add %al,(%eax)
0x080c2f4c <ForeignziCziString_zdwpeekCAString_info+364>: movl $0x80c2f10,0x0(%ebp)
0x080c2f53 <ForeignziCziString_zdwpeekCAString_info+371>: jmp *(%esi)
0x080c2f55 <ForeignziCziString_zdwpeekCAString_info+373>: nop
0x080c2f56 <ForeignziCziString_zdwpeekCAString_info+374>: nop
Hope this carries a clue somewhere.
-- John
More information about the Glasgow-haskell-users
mailing list