Skip to content

Assertion failure when using multithreading in debug mode.

Using the -debug compiler option in search of a (hopefully unrelated) bug, I've begun to receive the following error message a few seconds after starting my program;

Multi: internal error: ASSERTION FAILED: file rts/Schedule.c, line 1311

    (GHC version 7.6.2 for x86_64_unknown_linux)
    Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
Aborted

When I have time and if this site allows, I'll try to find what precisely in my code is generating the error and add that to this ticket. Until then, what information I can give:

  • Running the same executable in non-threaded mode (executing with "+RTS N1" rather than "+RTS N2" or greater) produces no error.

  • The program calls into C using the FFI interface, and there is also a callback from C back into Haskell. This would be happening around when the error occurs.

  • For reasons I presume to have to do with the C++ code, the program segfaults after extended execution; this is the hopefully unrelated bug I was after when I found this.

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