Remove an incorrect assertion in threadPaused:
authorÖmer Sinan Ağacan <omeragacan@gmail.com>
Thu, 6 Sep 2018 08:39:46 +0000 (11:39 +0300)
committerÖmer Sinan Ağacan <omeragacan@gmail.com>
Thu, 6 Sep 2018 08:39:56 +0000 (11:39 +0300)
The assertion is triggered when we have a loop in the program (in which case we
see the same update frame multiple times in the stack). See #14915 for more
details.

Reviewers: simonmar, bgamari, erikd

Reviewed By: simonmar

Subscribers: rwbarton, carter

GHC Trac Issues: #14915

Differential Revision: https://phabricator.haskell.org/D5133

rts/ThreadPaused.c

index 3f7bdde..a916891 100644 (file)
@@ -306,13 +306,6 @@ threadPaused(Capability *cap, StgTSO *tso)
                 continue;
             }
 
-            // We should never have made it here in the event of blackholes that
-            // we already own; they should have been marked when we blackholed
-            // them and consequently we should have stopped our stack walk
-            // above.
-            ASSERT(!((bh_info == &stg_BLACKHOLE_info)
-                     && (((StgInd*)bh)->indirectee == (StgClosure*)tso)));
-
             // zero out the slop so that the sanity checker can tell
             // where the next closure is.
             OVERWRITING_CLOSURE(bh);