Opened 3 years ago

Closed 6 months 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 Revisions:

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:  http://www.haskell.org/ghc/reportabug

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 3 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 3 years ago by sseverance

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

comment:3 Changed 3 years ago by igloo

  • Description modified (diff)
  • difficulty set to Unknown

comment:4 Changed 3 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 3 years ago by simonmar

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

comment:6 Changed 3 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 3 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 3 years ago by simonmar

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

comment:9 Changed 3 years ago by sseverance

1.5 MB Gzipped. Here is the link: https://dl.dropbox.com/u/85043508/clean_err.log.gz

comment:10 Changed 20 months 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 20 months ago by monoidal

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

comment:12 Changed 13 months ago by thoughtpolice

  • Cc simonmar added
  • Milestone changed from 7.8.3 to

comment:13 Changed 13 months ago by thoughtpolice

  • Milestone changed from to 7.10.1

comment:14 Changed 6 months 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.