[Haskell-beginners] Segmentation fault
Hollister Herhold
hollister at fafoh.com
Sun Apr 28 15:59:33 CEST 2013
The bug report says XCode 4.1 or higher. Hmm.
Have you tried the 32-bit version of the Haskell Platform?
On Apr 28, 2013, at 3:56 AM, Michael Peternell wrote:
> 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
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
More information about the Beginners
mailing list