Segfaulting programs with GHC 6.4.1
John Goerzen
jgoerzen at complete.org
Fri Oct 21 05:20:22 EDT 2005
On Fri, Oct 21, 2005 at 09:52:50AM +0100, Simon Marlow wrote:
> At this stage we need to resort to gdb. Run the version of the program
> compiled with -debug under gdb, and take a look at the backtrace when it
> crashes. Hopefully it'll be somewhere in the RTS, if it's somewhere in
> Haskell code you won't get an informative backtrace.
OK, here's what I've got. There's a little bit here -- no idea if
this provides any clues. In fact, it looks pretty much the same as
when I ran gdb against the core file that it created when it crashed
-- but with the addition of the last few lines. Here are the useful
bits:
ThreadId 9: quix.us:70:9:/Software/mulinux/Newer Upload/mulinux-14r0.iso
ThreadId 8: serpiente.dgsca.unam.mx:70:0:0/noticia_mex_mundo/nacional/febrero94/07/depo/07febdepo14.txt
[New Thread -1416234064 (LWP 26413)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1214252112 (LWP 26365)]
0x080ba84a in s34n_info ()
(gdb) bt
#0 0x080ba84a in s34n_info ()
#1 0xb7ac8374 in ?? ()
#2 0xb7a01910 in ?? ()
#3 0xb7ac8764 in ?? ()
#4 0xb7a05bac in ?? ()
#5 0x00028738 in ?? ()
#6 0x08172728 in MainCapability ()
#7 0x00000002 in ?? ()
#8 0x00000001 in ?? ()
#9 0xb7ac266c in ?? ()
#10 0x00000001 in ?? ()
#11 0xb7ac8738 in ?? ()
#12 0x00000000 in ?? ()
#13 0x00000000 in ?? ()
... [ thousands of lines of this deleted ] ...
#1872 0x00000000 in ?? ()
#1873 0x00000000 in ?? ()
#1874 0x08174058 in ?? ()
#1875 0x08174058 in ?? ()
#1876 0xb7a774b4 in ?? ()
#1877 0xb79ff138 in ?? ()
#1878 0x08134aa5 in allocBlock ()
#1879 0x080ba95c in s3eu_info ()
I then tried running it under +RTS -DbStprPlmg. Here are the last few
lines of output:
group at 0xb7a9c000, length 32 blocks
group at 0xb7ac0000, length 1 blocks
Gen Steps Max Mutable Mut-Once Step Blocks Live Large
Blocks Closures Closures Objects
0 2 256 0 0 0 64 0 0
1 3 9212 5
1 1 256 5565 0 0 87 342876 47
ThreadId 5: userserve.ucsd.edu:70:4:4ftp:Public:Communications Programs:FTP Software:HyperFTP14 folder:HyperFTP14.sea
ThreadId 12: serpiente.dgsca.unam.mx:70:0:0/noticia_mex_mundo/nacional/febrero94/07/depo/07febdepo4.txt
In other words, there was no debugging output immediately prior to the
crash -- the last two lines are regular messages my program outputs.
> If it's possible for us to reproduce the bug here, I'll happily take a
> look.
You will need a PostgreSQL installation, but with that, you can fire
up the program -- probably need to run it about 3 or 4 times before it
has enough data in the DB to keep all the threads busy -- and
hopefully that will do it. I will try a test from scratch later today
and make sure that the bug occurs then as well. Otherwise, I'll post
a dump of my PostgreSQL database somewhere.
It usually segfaults less than a minute after getting going
full-speed.
-- John
More information about the Glasgow-haskell-users
mailing list