diff --git a/rts/ThreadPaused.c b/rts/ThreadPaused.c index 8e8d6051a65162bfc321236a6f5778281726033f..fd480601d3187f792162a6cdc5b3020e57ac39c0 100644 --- a/rts/ThreadPaused.c +++ b/rts/ThreadPaused.c @@ -304,7 +304,7 @@ threadPaused(Capability *cap, StgTSO *tso) // the value to the frame underneath: tso->stackobj->sp = (StgPtr)frame + sizeofW(StgUpdateFrame) - 2; tso->stackobj->sp[1] = (StgWord)bh; - ASSERT(bh->header.info != &stg_TSO_info); + ASSERT(RELAXED_LOAD(&bh->header.info) != &stg_TSO_info); tso->stackobj->sp[0] = (W_)&stg_enter_info; // And continue with threadPaused; there might be