[Haskell-beginners] Segmentation fault
Michael Peternell
michael.peternell at gmx.at
Sat Apr 27 16:15:29 CEST 2013
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
More information about the Beginners
mailing list