[GHC] #12062: Parallel make with -j0 and hs-boot leads to floating point exception
GHC
ghc-devs at haskell.org
Sun May 15 03:29:05 UTC 2016
#12062: Parallel make with -j0 and hs-boot leads to floating point exception
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: low | Milestone:
Component: Runtime | Version: 8.0.1-rc2
System |
Keywords: newcomer | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
When I run https://ghc.haskell.org/trac/ghc/ticket/1012#comment:5 with
`ghc-8.0 --make ModuleB.hs -j0 -fforce-recomp` (the `-j0` is important) I
get a `Floating point exception (core dumped)`.
When I run under GDB, I get:
{{{
(gdb) r
Starting program:
/srv/code/ghc-8.0.0.20160204/usr/lib/ghc-8.0.0.20160204/bin/ghc
-B/home/ezyang/Dev/ghc-8.0.0.20160204/usr/lib/ghc-8.0.0.20160204 --make
ModuleB.hs -j0 -fforce-recomp
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffecd7f700 (LWP 28877)]
[New Thread 0x7fffe7fff700 (LWP 28878)]
[New Thread 0x7fffe77fe700 (LWP 28879)]
[1 of 4] Compiling ModuleA[boot] ( ModuleA.hs-boot, ModuleA.o-boot )
[2 of 4] Compiling ModuleC ( ModuleC.hs, ModuleC.o )
[3 of 4] Compiling ModuleA ( ModuleA.hs, ModuleA.o )
[4 of 4] Compiling ModuleB ( ModuleB.hs, ModuleB.o )
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7fffecd7f700 (LWP 28877)]
schedule (initialCapability=<optimized out>, task=task at entry=0x7b6310) at
rts/Schedule.c:373
373 rts/Schedule.c: No such file or directory.
(gdb) bt
#0 schedule (initialCapability=<optimized out>, task=task at entry=0x7b6310)
at rts/Schedule.c:373
#1 0x00007fffed65018c in scheduleWorker (cap=<optimized out>,
task=0x7b6310) at rts/Schedule.c:2378
#2 0x00007ffff738a6aa in start_thread (arg=0x7fffecd7f700) at
pthread_create.c:333
#3 0x00007fffed14fe9d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
}}}
I once got a different error running this:
{{{
warning: Corrupted shared library list: 0x7e1ee0 != 0x7ffff7ffd9d8
}}}
Looking at the code which is a `capabilities[cap->no %
enabled_capabilities]`, I guess this is just something goofy, like GHC not
rejecting `-j0` and then however we're setting the capabilities not
checking this case.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12062>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list