Skip to content

Parallel make with -j0 and hs-boot leads to floating point exception

When I run #1012 (closed)##12062 (closed) 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@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@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.

Trac metadata
Trac field Value
Version 8.0.1-rc2
Type Bug
TypeOfFailure OtherFailure
Priority low
Resolution Unresolved
Component Runtime System
Test case
Differential revisions
BlockedBy
Related
Blocking
CC simonmar
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information