Skip to content

IOSimPOR assertion failures #76

@coot

Description

@coot

Recently two execution of the propExploration errored:

Logs

    propExploration:                           FAIL (36.64s)
      *** Failed! (after 53 tests and 48 shrinks):
      Exception:
        Assertion failed
        CallStack (from HasCallStack):
          assert, called at src/Control/Monad/IOSimPOR/Internal.hs:990:5 in io-sim-0.4.0.0-inplace:Control.Monad.IOSimPOR.Internal
      Tasks [Task [WhenSet 9 0],Task [WhenSet 0 0],Task [WhenSet 10 10,WhenSet 10 9],Task [WhenSet 0 0]]
      Schedule control: ControlAwait [ScheduleMod (RacyThreadId [4],1) ControlDefault [(RacyThreadId [3],0),(RacyThreadId [3],1),(RacyThreadId [2],0),(RacyThreadId [2],1),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],2)]]
      RacyThreadId [3] delayed at time Time 0s
        until after:
          RacyThreadId [4]
      
      Cons (SimPOREvent (Time 0s) (ThreadId []) 0 (Just "main") (EventSimStart (ControlAwait [ScheduleMod (RacyThreadId [4],1) ControlDefault [(RacyThreadId [3],0),(RacyThreadId [3],1),(RacyThreadId [2],0),(RacyThreadId [2],1),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],2)]]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 0 (Just "main") (EventTxCommitted [] [Labelled (TVarId 0) Nothing] (Just (Effect {effectReads = fromList [], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 0 (Just "main") (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (ThreadId []) 0 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 1 (Just "main") (EventTxCommitted [] [Labelled (TVarId 1) Nothing] (Just (Effect {effectReads = fromList [], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 1 (Just "main") (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (ThreadId []) 1 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 2 (Just "main") (EventThreadForked (RacyThreadId [1]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 2 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 3 (Just "main") (EventThreadForked (RacyThreadId [2]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 3 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 4 (Just "main") (EventThreadForked (RacyThreadId [3]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 4 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 5 (Just "main") (EventThreadForked (RacyThreadId [4]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 5 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 6 (Just "main") (EventTxCommitted [Labelled (TVarId 1) Nothing] [] (Just (Effect {effectReads = fromList [], effectWrites = fromList [TVarId 1], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 6 (Just "main") (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (ThreadId []) 6 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 7 (Just "main") (EventThreadDelay (Time 1000000000s))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 0 Nothing (EventTxCommitted [] [Labelled (TVarId 2) Nothing] (Just (Effect {effectReads = fromList [TVarId 1], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 0 Nothing (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 0 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 1 Nothing (EventFollowControl (ControlAwait [ScheduleMod (RacyThreadId [4],1) ControlDefault [(RacyThreadId [3],0),(RacyThreadId [3],1),(RacyThreadId [2],0),(RacyThreadId [2],1),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],2)]]))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 1 Nothing (EventAwaitControl (RacyThreadId [4],1) (ControlFollow [(RacyThreadId [3],0),(RacyThreadId [3],1),(RacyThreadId [2],0),(RacyThreadId [2],1),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],2)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 0 Nothing EventThreadSleep) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 1 Nothing (EventDeschedule Sleep)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 0 Nothing EventThreadWake) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 0 Nothing (EventReschedule (ControlFollow [(RacyThreadId [3],0),(RacyThreadId [3],1),(RacyThreadId [2],0),(RacyThreadId [2],1),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],2)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 0 Nothing (EventPerformAction (RacyThreadId [3],0))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 0 Nothing (EventTxCommitted [] [Labelled (TVarId 3) Nothing] (Just (Effect {effectReads = fromList [TVarId 1], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 0 Nothing (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 0 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 1 Nothing (EventReschedule (ControlFollow [(RacyThreadId [3],1),(RacyThreadId [2],0),(RacyThreadId [2],1),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],2)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 1 Nothing (EventPerformAction (RacyThreadId [3],1))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 1 Nothing (EventTxCommitted [Labelled (TVarId 0) Nothing] [] (Just (Effect {effectReads = fromList [TVarId 0], effectWrites = fromList [TVarId 0], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 1 Nothing (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 1 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 0 Nothing (EventReschedule (ControlFollow [(RacyThreadId [2],0),(RacyThreadId [2],1),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],2)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 0 Nothing (EventPerformAction (RacyThreadId [2],0))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 0 Nothing (EventTxCommitted [] [Labelled (TVarId 4) Nothing] (Just (Effect {effectReads = fromList [TVarId 1], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 0 Nothing (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 0 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 1 Nothing (EventReschedule (ControlFollow [(RacyThreadId [2],1),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],2)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 1 Nothing (EventPerformAction (RacyThreadId [2],1))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 1 Nothing (EventTxBlocked [Labelled (TVarId 0) Nothing] (Just (Effect {effectReads = fromList [TVarId 0], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 1 Nothing (EventDeschedule Blocked)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 0 Nothing (EventReschedule (ControlFollow [(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],2)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 0 Nothing (EventPerformAction (RacyThreadId [1],0))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 0 Nothing (EventTxCommitted [] [Labelled (TVarId 5) Nothing] (Just (Effect {effectReads = fromList [TVarId 1], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 0 Nothing (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 0 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 1 Nothing (EventReschedule (ControlFollow [(RacyThreadId [1],1),(RacyThreadId [2],2)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 1 Nothing (EventPerformAction (RacyThreadId [1],1))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 1 Nothing (EventTxBlocked [Labelled (TVarId 0) Nothing] (Just (Effect {effectReads = fromList [TVarId 0], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 1 Nothing (EventDeschedule Blocked)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 2 Nothing (EventReschedule (ControlFollow [(RacyThreadId [2],2)] []))) 
      Assertion failed
      CallStack (from HasCallStack):
        assert, called at src/Control/Monad/IOSimPOR/Internal.hs:990:5 in io-sim-0.4.0.0-inplace:Control.Monad.IOSimPOR.Internal
      Use --quickcheck-replay=898967 to reproduce.
      Use -p '/propExploration/' to rerun this test only.
    propExploration:                           FAIL (44.78s)
      *** Failed! (after 66 tests and 44 shrinks):
      Exception:
        Assertion failed
        CallStack (from HasCallStack):
          assert, called at src\Control\Monad\IOSimPOR\Internal.hs:989:5 in io-sim-0.4.0.0-inplace:Control.Monad.IOSimPOR.Internal
      Tasks [Task [],Task [ThrowTo 4],Task [WhenSet 19 18,ThrowTo 0],Task [WhenSet 18 0,ThrowTo 2],Task [WhenSet 0 0]]
      Schedule control: ControlAwait [ScheduleMod (RacyThreadId [5],2) ControlDefault [(RacyThreadId [4],2),(RacyThreadId [3],2),(RacyThreadId [2],0),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],1)]]
      RacyThreadId [4] delayed at time Time 0s
        until after:
          RacyThreadId [5]
      
      Cons (SimPOREvent (Time 0s) (ThreadId []) 0 (Just "main") (EventSimStart (ControlAwait [ScheduleMod (RacyThreadId [5],2) ControlDefault [(RacyThreadId [4],2),(RacyThreadId [3],2),(RacyThreadId [2],0),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],1)]]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 0 (Just "main") (EventTxCommitted [] [Labelled (TVarId 0) Nothing] (Just (Effect {effectReads = fromList [], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 0 (Just "main") (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (ThreadId []) 0 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 1 (Just "main") (EventTxCommitted [] [Labelled (TVarId 1) Nothing] (Just (Effect {effectReads = fromList [], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 1 (Just "main") (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (ThreadId []) 1 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 2 (Just "main") (EventThreadForked (RacyThreadId [1]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 2 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 3 (Just "main") (EventThreadForked (RacyThreadId [2]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 3 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 4 (Just "main") (EventThreadForked (RacyThreadId [3]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 4 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 5 (Just "main") (EventThreadForked (RacyThreadId [4]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 5 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 6 (Just "main") (EventThreadForked (RacyThreadId [5]))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 6 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 7 (Just "main") (EventTxCommitted [Labelled (TVarId 1) Nothing] [] (Just (Effect {effectReads = fromList [], effectWrites = fromList [TVarId 1], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (ThreadId []) 7 (Just "main") (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (ThreadId []) 7 (Just "main") (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (ThreadId []) 8 (Just "main") (EventThreadDelay (Time 1000000000s))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [5]) 0 Nothing (EventTxCommitted [] [Labelled (TVarId 2) Nothing] (Just (Effect {effectReads = fromList [TVarId 1], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [5]) 0 Nothing (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [5]) 0 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [5]) 1 Nothing (EventTxBlocked [Labelled (TVarId 0) Nothing] (Just (Effect {effectReads = fromList [TVarId 0], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [5]) 1 Nothing (EventDeschedule Blocked)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 0 Nothing (EventTxCommitted [] [Labelled (TVarId 3) Nothing] (Just (Effect {effectReads = fromList [TVarId 1], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 0 Nothing (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 0 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 1 Nothing (EventTxBlocked [Labelled (TVarId 0) Nothing] (Just (Effect {effectReads = fromList [TVarId 0], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 1 Nothing (EventDeschedule Blocked)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 0 Nothing (EventTxCommitted [] [Labelled (TVarId 4) Nothing] (Just (Effect {effectReads = fromList [TVarId 1], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 0 Nothing (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 0 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 1 Nothing (EventTxCommitted [Labelled (TVarId 0) Nothing] [] (Just (Effect {effectReads = fromList [TVarId 0], effectWrites = fromList [TVarId 0], effectForks = fromList [], effectThrows = [], effectWakeup = [RacyThreadId [5],RacyThreadId [4]], effectStatusReads = [], effectStatusWrites = [RacyThreadId [5],RacyThreadId [4]]})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [5]) 1 Nothing (EventTxWakeup [Labelled (TVarId 0) Nothing])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 1 Nothing (EventTxWakeup [Labelled (TVarId 0) Nothing])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 1 Nothing (EventUnblocked [RacyThreadId [5],RacyThreadId [4]])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 1 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [5]) 2 Nothing (EventFollowControl (ControlAwait [ScheduleMod (RacyThreadId [5],2) ControlDefault [(RacyThreadId [4],2),(RacyThreadId [3],2),(RacyThreadId [2],0),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],1)]]))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [5]) 2 Nothing (EventAwaitControl (RacyThreadId [5],2) (ControlFollow [(RacyThreadId [4],2),(RacyThreadId [3],2),(RacyThreadId [2],0),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],1)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 2 Nothing EventThreadSleep) (Cons (SimPOREvent (Time 0s) (RacyThreadId [5]) 2 Nothing (EventDeschedule Sleep)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 2 Nothing EventThreadWake) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 2 Nothing (EventReschedule (ControlFollow [(RacyThreadId [4],2),(RacyThreadId [3],2),(RacyThreadId [2],0),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],1)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 2 Nothing (EventPerformAction (RacyThreadId [4],2))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 2 Nothing (EventTxCommitted [Labelled (TVarId 0) Nothing] [] (Just (Effect {effectReads = fromList [TVarId 0], effectWrites = fromList [TVarId 0], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 2 Nothing (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [4]) 2 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 2 Nothing (EventReschedule (ControlFollow [(RacyThreadId [3],2),(RacyThreadId [2],0),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],1)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 2 Nothing (EventPerformAction (RacyThreadId [3],2))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [3]) 2 Nothing (EventThrowTo (ExitFailure 0) (RacyThreadId [1]))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 0 Nothing (EventReschedule (ControlFollow [(RacyThreadId [2],0),(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],1)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 0 Nothing (EventPerformAction (RacyThreadId [2],0))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 0 Nothing (EventTxCommitted [] [Labelled (TVarId 5) Nothing] (Just (Effect {effectReads = fromList [TVarId 1], effectWrites = fromList [], effectForks = fromList [], effectThrows = [], effectWakeup = [], effectStatusReads = [], effectStatusWrites = []})))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 0 Nothing (EventUnblocked [])) (Cons (SimPOREvent (Time 0s) (RacyThreadId [2]) 0 Nothing (EventDeschedule Yield)) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 0 Nothing (EventReschedule (ControlFollow [(RacyThreadId [1],0),(RacyThreadId [1],1),(RacyThreadId [2],1)] []))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 0 Nothing (EventPerformAction (RacyThreadId [1],0))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 0 Nothing (EventThrow (ExitFailure 0))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 0 Nothing (EventThreadUnhandled (ExitFailure 0))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 0 Nothing (EventDeschedule (Terminated FinishedDied))) (Cons (SimPOREvent (Time 0s) (RacyThreadId [1]) 1 Nothing (EventReschedule (ControlFollow [(RacyThreadId [1],1),(RacyThreadId [2],1)] []))) 
      Assertion failed
      CallStack (from HasCallStack):
        assert, called at src\Control\Monad\IOSimPOR\Internal.hs:989:5 in io-sim-0.4.0.0-inplace:Control.Monad.IOSimPOR.Internal
      Use --quickcheck-replay=721896 to reproduce.
      Use -p '/propExploration/' to rerun this test only.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions