Opened 4 years ago

Closed 2 years ago

#7189 closed bug (duplicate)

RTS Assertion Crash

Reported by: sseverance Owned by: simonmar
Priority: normal Milestone: 7.10.1
Component: Runtime System Version: 7.4.2
Keywords: Cc: nathanhowell@…, simonmar
Operating System: Linux Architecture: x86_64 (amd64)
Type of failure: Runtime crash Test Case:
Blocked By: Blocking:
Related Tickets: #8014 Differential Rev(s):
Wiki Page:

Description (last modified by igloo)

I occasionally get the following crash when I compile with -debug:

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

    (GHC version 7.4.2 for x86_64_unknown_linux)
    Please report this as a GHC bug:

If the application is not compiled with -debug this does not seem to happen. Usually I just don't link in the debug runtime however I have been trying to rundown an IO that never completes. I can't post the app but I am happy to collect information to attach to this ticket.

Change History (14)

comment:1 Changed 4 years ago by sseverance

  • Component changed from Compiler to Runtime System
  • Operating System changed from Unknown/Multiple to Linux
  • Type of failure changed from None/Unknown to Runtime crash

comment:2 Changed 4 years ago by sseverance

  • Architecture changed from Unknown/Multiple to x86_64 (amd64)

comment:3 Changed 4 years ago by igloo

  • Description modified (diff)
  • difficulty set to Unknown

comment:4 Changed 4 years ago by igloo

  • Milestone set to 7.8.1
  • Owner set to simonmar

This is

ASSERT(task->incall->tso == t);

in scheduleHandleThreadFinished. It looks unchanged in HEAD.

Simon, perhaps you could take a look please?

comment:5 Changed 4 years ago by simonmar

Please could you run with +RTS -Ds and post the resulting log. Thanks.

comment:6 Changed 4 years ago by nathanhowell

  • Cc nathanhowell@… added

I have debugged this a little bit... from my recollection, the two TSOs were identical but were located at different addresses (hence the assert). It seemed like the GC had copied it but failed to update the task->incall pointer.

comment:7 Changed 4 years ago by sseverance

The log file is 34MB. Do you want me to upload it somewhere where it can be downloaded for would the last 256K be fine?

comment:8 Changed 4 years ago by simonmar

Please upload it somewhere (is that 34MB compressed?). e.g. Dropbox is fine.

comment:9 Changed 4 years ago by sseverance

1.5 MB Gzipped. Here is the link:

comment:10 Changed 3 years ago by simonmar

  • Status changed from new to infoneeded

I can't see anything obvious from the log or by looking for bugs in the code, and I tried in vain to reproduce it. What RTS options are you using?

comment:11 Changed 3 years ago by monoidal

This might be related to #8014, which also occurs in -debug mode.

comment:12 Changed 2 years ago by thoughtpolice

  • Cc simonmar added
  • Milestone changed from 7.8.3 to

comment:13 Changed 2 years ago by thoughtpolice

  • Milestone changed from to 7.10.1

comment:14 Changed 2 years ago by thomie

  • Resolution set to duplicate
  • Status changed from infoneeded to closed

Closing as a duplicate of #8014. Alas, we still don't have any way to reproduce this.

Note: See TracTickets for help on using tickets.