[Haskell-beginners] Segmentation fault

Michael Peternell michael.peternell at gmx.at
Sun Apr 28 10:56:50 CEST 2013


Hi,

My XCode version is 4.2 Build 4C199.

I doubt that it is a hardware issue, because:
1) only ghci crashes
2) when ghci crashes, it always crashes exactly at the same stage during initialization. (see logs in my previous message)
3) it always crashes because of EXC_BAD_ACCESS in function evacuate1
4) This time, the GDB says "0x00000001c4db959a in evacuate1 ()". Last time it told me "0x00000001b777859a in evacuate1 ()". The addresses are different, so its not a particular bit in physical memory that is broken. And if my RAM were generally broken, then it would crash always at the same position.

I'm 99.999% sure that there is a bug in the garbage collection code somewhere, presumably in evacuate1(). Check out the backtrace...

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00000000e327a440
0x00000001e326359a in evacuate1 ()
(gdb) bt
#0  0x00000001e326359a in evacuate1 ()
#1  0x00000001e32691b8 in scavenge_block1 ()
Previous frame inner to this frame (gdb could not unwind past this frame)
(gdb) 


Am 28.04.2013 um 08:08 schrieb Kyle Murphy:

> Something else to look into is that this sounds like bad ram to me. Have you run any memory diagnostics and/or checked to see if you're having any HD issues? Anytime you have intermittent crashes like these I tend to suspect hardware issues. Do you have another computer with the same OS version you could try to reproduce the issue on?
> 
> On Apr 27, 2013 12:13 PM, "Hollister Herhold" <hollister at fafoh.com> wrote:
> 
> The haskell platform installs to /usr/bin and /Library/Haskell. You can run /usr/bin/uninstall-hs to remove the Haskell Platform. Just running it does nothing - it will tell you what it's going to do and then you have to feed it the appropriate option to make it actually do the uninstall.
> 
> What's your XCode version?
> 
> 
> On Apr 27, 2013, at 9:15 AM, Michael Peternell wrote:
> 
> > Hi,
> >
> > thanks for you help so far!
> >
> > I have OX X Snow Leopard with all software updates installed (I checked this 5min ago). My OSX-Version is 10.6.8 . I have downloaded the 64bit version of GHC.
> >
> > hmm, this is strange: i downloaded ghc-7.6.3 from
> > http://www.haskell.org/ghc/download_ghc_7_6_3#macosx_x86_64
> > i did "./configure" and "sudo make install", but still it seems that I have version 7.4.2. It turns out that one installer installs into /usr/bin and the other into /usr/local/bin.
> >
> > michael at MacMichi:~ $ /usr/local/bin/ghci --version
> > The Glorious Glasgow Haskell Compilation System, version 7.6.3
> > michael at MacMichi:~ $ /usr/bin/ghci --version
> > The Glorious Glasgow Haskell Compilation System, version 7.4.2
> > michael at MacMichi:~ $ ghci --version
> > The Glorious Glasgow Haskell Compilation System, version 7.4.2
> > michael at MacMichi:~ $ which ghci
> > /usr/bin/ghci
> >
> > version 7.6.3 still crashes occasionally:
> >
> > michael at MacMichi:~ $ /usr/local/bin/ghci
> > GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
> > Loading package ghc-prim ... linking ... done.
> > Loading package integer-gmp ... linking ... done.
> > Loading package base ... linking ... done.
> > Segmentation fault
> >
> > Maybe it is really this bug that just needs to be fixed and that won't just disappear on its own?
> > http://hackage.haskell.org/trac/ghc/ticket/7212
> > http://hackage.haskell.org/trac/ghc/ticket/7403
> >
> > DEBUGGING:
> >
> > I added an echo line into /usr/local/bin/ghc-7.6.3 so it reads
> >
> > #!/bin/sh
> > exedir="/usr/local/lib/ghc-7.6.3"
> > exeprog="ghc-stage2"
> > executablename="$exedir/$exeprog"
> > datadir="/usr/local/share"
> > bindir="/usr/local/bin"
> > topdir="/usr/local/lib/ghc-7.6.3"
> > executablename="$exedir/ghc"
> > echo "$executablename" -B"$topdir" ${1+"$@"}
> > exec "$executablename" -B"$topdir" ${1+"$@"}
> >
> > So I have all the ingredients to start GDB.
> >
> > +++ BEGIN DEBUG SESSION +++
> >
> > michael at MacMichi:~ $ /usr/local/bin/ghci
> > /usr/local/lib/ghc-7.6.3/ghc -B/usr/local/lib/ghc-7.6.3 --interactive
> > GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
> > Loading package ghc-prim ... linking ... done.
> > Loading package integer-gmp ... linking ... done.
> > Loading package base ... linking ... done.
> > Segmentation fault
> > michael at MacMichi:~ $ gdb
> > GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Mon Aug 15 16:03:10 UTC 2011)
> > Copyright 2004 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and you are
> > welcome to change it and/or distribute copies of it under certain conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for details.
> > This GDB was configured as "x86_64-apple-darwin".
> > (gdb) set args -B/usr/local/lib/ghc-7.6.3 --interactive
> > (gdb) show args
> > Argument list to give program being debugged when it is started is "-B/usr/local/lib/ghc-7.6.3 --interactive".
> > (gdb) run
> > Starting program:  -B/usr/local/lib/ghc-7.6.3 --interactive
> > No executable file specified.
> > Use the "file" or "exec-file" command.
> > (gdb) exec-file /usr/local/lib/ghc-7.6.3/ghc
> > Reading symbols for shared libraries .... done
> > (gdb) run
> > Starting program: /usr/local/lib/ghc-7.6.3/ghc -B/usr/local/lib/ghc-7.6.3 --interactive
> > Reading symbols for shared libraries . done
> > Reading symbols for shared libraries warning: Could not find object file "/Users/ian/zz64/ghc-7.6.3/rts/dist/build/libHSrts_thr.a(darwin64.o)" - no debug information available for "/var/folders/9z/yntzqjqn1j95xbpb6dr3qbww0000gn/T//ccr2b8iU.s".
> >
> > warning: Could not find object file "/Users/ian/zz64/ghc-7.6.3/rts/dist/build/libHSrts_thr.a(ffi64.o)" - no debug information available for "../src/x86/ffi64.c".
> >
> > warning: Could not find object file "/Users/ian/zz64/ghc-7.6.3/rts/dist/build/libHSrts_thr.a(prep_cif.o)" - no debug information available for "../src/prep_cif.c".
> >
> > warning: Could not find object file "/Users/ian/zz64/ghc-7.6.3/rts/dist/build/libHSrts_thr.a(types.o)" - no debug information available for "../src/types.c".
> >
> > ..... done
> > GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
> > Loading package ghc-prim ... linking ... done.
> > Loading package integer-gmp ... linking ... done.
> > Loading package base ... linking ... done.
> >
> > Program received signal EXC_BAD_ACCESS, Could not access memory.
> > Reason: KERN_INVALID_ADDRESS at address: 0x00000000b778f440
> > 0x00000001b777859a in evacuate1 ()
> > (gdb)
> >
> > +++ END DEBUG SESSION +++
> >
> > It doesn't crash every time. If it doesn't crash, I still get some warnings in GDB:
> >
> > +++ BEGIN DEBUG SESSION +++
> >
> > michael at MacMichi:~ $ gdb
> > GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Mon Aug 15 16:03:10 UTC 2011)
> > Copyright 2004 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and you are
> > welcome to change it and/or distribute copies of it under certain conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for details.
> > This GDB was configured as "x86_64-apple-darwin".
> > (gdb) exec-file /usr/local/lib/ghc-7.6.3/ghc
> > Reading symbols for shared libraries .... done
> > (gdb) set args -B/usr/local/lib/ghc-7.6.3 --interactive
> > (gdb) run
> > Starting program: /usr/local/lib/ghc-7.6.3/ghc -B/usr/local/lib/ghc-7.6.3 --interactive
> > Reading symbols for shared libraries . done
> > Reading symbols for shared libraries warning: Could not find object file "/Users/ian/zz64/ghc-7.6.3/rts/dist/build/libHSrts_thr.a(darwin64.o)" - no debug information available for "/var/folders/9z/yntzqjqn1j95xbpb6dr3qbww0000gn/T//ccr2b8iU.s".
> >
> > warning: Could not find object file "/Users/ian/zz64/ghc-7.6.3/rts/dist/build/libHSrts_thr.a(ffi64.o)" - no debug information available for "../src/x86/ffi64.c".
> >
> > warning: Could not find object file "/Users/ian/zz64/ghc-7.6.3/rts/dist/build/libHSrts_thr.a(prep_cif.o)" - no debug information available for "../src/prep_cif.c".
> >
> > warning: Could not find object file "/Users/ian/zz64/ghc-7.6.3/rts/dist/build/libHSrts_thr.a(types.o)" - no debug information available for "../src/types.c".
> >
> > ..... done
> > GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
> > Loading package ghc-prim ... linking ... done.
> > Loading package integer-gmp ... linking ... done.
> > Loading package base ... linking ... done.
> > Prelude> takewhile (<200) (let fib a b = a:(fib b (a+b)) in fib 1 1)
> >
> > <interactive>:2:1:
> >    Not in scope: `takewhile'
> >    Perhaps you meant `takeWhile' (imported from Prelude)
> > Prelude> takeWhile (<200) (let fib a b = a:(fib b (a+b)) in fib 1 1)
> > [1,1,2,3,5,8,13,21,34,55,89,144]
> > Prelude>
> >
> > +++ END DEBUG SESSION +++
> >
> > Greetings to ian!!
> >
> > Regards,
> > Michael
> >
> > Am 27.04.2013 um 15:21 schrieb Hollister Herhold:
> >
> >>
> >> Sorry, I wasn't clear - I was thinking OS X 10.8.3. Your uname says 10.8.0, which I now see (after running uname on my 10.7.5 installation, it says darwin 11.4.2) has nothing to do with the version of OS X you're running, so never mind. What version of OS X *are* you running?
> >>
> >> The Haskell Platform comes with ghc 7.4.2. The newest release version of ghc is actually 7.6.3, and you can find the binary distributions here:
> >>
> >> http://www.haskell.org/ghc/
> >>
> >> The Haskell Platform "ships" with an older version that's been "shaken down" a little more than the latest-and-greatest ghc. It also comes with a selection of libraries that have been well-tested. You *can* start with just ghc 7.6.3 and install the libraries yourself, however. I believe the next Haskell Platform release (scheduled for May-ish, I think) will have 7.6.3, but don't quote me on that. Discussions were ongoing last I looked.
> >>
> >> I'd suggest downloading and installing the binary for ghc 7.6.3 and see if ghci runs on that without crashing.
> >>
> >> Hope this helps.
> >>
> >>
> >> On Apr 27, 2013, at 7:56 AM, Michael Peternell wrote:
> >>
> >>> Is there a version 10.8.3?
> >>>
> >>> I downloaded Haskell from the official website at http://www.haskell.org/platform/ . I followed the one and only "Download" link on the homepage. The Wikipedia says that 7.6.2 is the newest version although I cannot find that version on the haskell website. It's hard for me to believe that the development version would be 3 major version numbers ahead, but maybe we are talking about different implementations?
> >>>
> >>> Where can I find the latest version?
> >>>
> >>> Regards,
> >>> Michael
> >>>
> >>> Am 27.04.2013 um 14:12 schrieb Hollister Herhold:
> >>>
> >>>>
> >>>> Just a guess, but maybe you could try updating to 10.8.3? I'm pretty sure I've seen people on the ghc-devel mailing list running 10.8.3 and things work. You could also try downloading the ghc 7.6.2 binary.
> >>>>
> >>>>
> >>>> On Apr 27, 2013, at 5:59 AM, Michael Peternell wrote:
> >>>>
> >>>>> Hey,
> >>>>>
> >>>>> i did a little search.
> >>>>>
> >>>>> it seems like this was already a bug 3 years ago:
> >>>>> http://trac.haskell.org/haskeline/ticket/105
> >>>>> and it reappeared on a Mac in version 7.4.1  8 months ago
> >>>>> http://hackage.haskell.org/trac/ghc/ticket/7212
> >>>>> someone has refiled the bug for 7.4.2
> >>>>> http://hackage.haskell.org/trac/ghc/ticket/7403
> >>>>> the bug is discussed in communities
> >>>>> http://forums.gentoo.org/viewtopic-t-844842-start-0.html
> >>>>>
> >>>>> the 7212 ticket is marked as "wontfix" and the 7403-ticket is marked as "duplicate". i don't wanna file another bug report, there are already enough of them.
> >>>>>
> >>>>> please, someone fix this bug.
> >>>>>
> >>>>> Regards,
> >>>>> Michael
> >>>>>
> >>>>> Am 27.04.2013 um 12:42 schrieb Michael Peternell:
> >>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> sometimes when I start ghci, I just get a segmentation fault. Sometimes I get even 15 segmentation faults in a row, and sometimes I can open it many times and it works each time.
> >>>>>>
> >>>>>> I downloaded the Haskell Platform for Mac, 64Bit, from
> >>>>>> http://www.haskell.org/platform/mac.html
> >>>>>> I verified the SHA1-Sum, btw.
> >>>>>>
> >>>>>> I tried reinstalling the platform, and I tried deleting the ~/.ghc directory, but nothing works. I didn't do anything fancy with Haskell, I just downloaded it yesterday and I didn't tamper with any haskell-files outside of my home-directory. The only kernel extensions I have installed are the ones from VMWare Fusion and maybe flux. (i'm not sure if flux involves kernel extensions or how deeply it messes with the OS.)
> >>>>>>
> >>>>>> michael at MacMichi:~ $ rm -rf .ghc
> >>>>>> michael at MacMichi:~ $ ghci
> >>>>>> GHCi, version 7.4.2: http://www.haskell.org/ghc/  :? for help
> >>>>>> Loading package ghc-prim ... linking ... done.
> >>>>>> Loading package integer-gmp ... linking ... done.
> >>>>>> Loading package base ... linking ... done.
> >>>>>> Segmentation fault
> >>>>>> michael at MacMichi:~ $ uname -a
> >>>>>> Darwin MacMichi.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64
> >>>>>>
> >>>>>> michael at MacMichi:~ $ ghci
> >>>>>> GHCi, version 7.4.2: http://www.haskell.org/ghc/  :? for help
> >>>>>> Loading package ghc-prim ... linking ... done.
> >>>>>> Loading package integer-gmp ... linking ... done.
> >>>>>> Loading package base ... linking ... done.
> >>>>>> Segmentation fault
> >>>>>> michael at MacMichi:~ $ ghci
> >>>>>> GHCi, version 7.4.2: http://www.haskell.org/ghc/  :? for help
> >>>>>> Loading package ghc-prim ... linking ... done.
> >>>>>> Loading package integer-gmp ... linking ... done.
> >>>>>> Loading package base ... linking ... done.
> >>>>>> Prelude> sum (takeWhile (<10000) (filter odd (map (^2) [1..])))
> >>>>>> 166650
> >>>>>> Prelude>
> >>>>>>
> >>>>>> Any insights on what is really going on behind the scenes will be appreciated.
> >>>>>>
> >>>>>> Regards,
> >>>>>> Michael
> >>>>>>
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> Beginners mailing list
> >>>>>> Beginners at haskell.org
> >>>>>> http://www.haskell.org/mailman/listinfo/beginners
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> Beginners mailing list
> >>>>> Beginners at haskell.org
> >>>>> http://www.haskell.org/mailman/listinfo/beginners
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Beginners mailing list
> >>>> Beginners at haskell.org
> >>>> http://www.haskell.org/mailman/listinfo/beginners
> >>>
> >>>
> >>> _______________________________________________
> >>> Beginners mailing list
> >>> Beginners at haskell.org
> >>> http://www.haskell.org/mailman/listinfo/beginners
> >>
> >>
> >> _______________________________________________
> >> Beginners mailing list
> >> Beginners at haskell.org
> >> http://www.haskell.org/mailman/listinfo/beginners
> >
> >
> > _______________________________________________
> > Beginners mailing list
> > Beginners at haskell.org
> > http://www.haskell.org/mailman/listinfo/beginners
> 
> 
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners




More information about the Beginners mailing list