From b75e7486de73868e6821a9f680e9e13794dff15c Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Tue, 4 Feb 2020 15:44:39 -0500 Subject: rts: Remove incorrect assertions around MSG_THROWTO messages Previously we would assert that threads which are sending a `MSG_THROWTO` message must have their blocking status be blocked on the message. In the usual case of a thread throwing to another thread this is guaranteed by `stg_killThreadzh`. However, `throwToSelf`, used by the GC to kill threads which ran out of heap, failed to guarantee this. Noted while debugging #17785. --- rts/Messages.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/rts/Messages.c b/rts/Messages.c index 374f3d673e..2f80370845 100644 --- a/rts/Messages.c +++ b/rts/Messages.c @@ -92,9 +92,6 @@ loop: debugTraceCap(DEBUG_sched, cap, "message: throwTo %ld -> %ld", (W_)t->source->id, (W_)t->target->id); - ASSERT(t->source->why_blocked == BlockedOnMsgThrowTo); - ASSERT(t->source->block_info.closure == (StgClosure *)m); - r = throwToMsg(cap, t); switch (r) { -- cgit v1.2.1