These are some example sleep-times, mostly generated by replaying the random-states posted above. *** *** *** Example 1: tests$ sbcl --script wait-on-semaphore.script.lisp s4 ::: Running (:SEMAPHORE-NOTIFICATION :WAIT-ON-SEMAPHORE) .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- [ 0.1s] 48 safe remaining: T5, T7, T9, T11, T13, T15, T17, T19, T21, T23, T25, T27, T29, T31, T33, T35, T37, T39, T41, T43, T45, T47, T49, T51, T53, T55, T57, T59, T61, T63, T65, T67, T69, T71, T73, T75, T77, T79, T81, T83, T85, T87, T89, T91, T93, T95, T97, T99 *** Notes: (# 0 691) (# 1 720) (# 1 736) *** Inc's: (# 0 720) (# 1 799) *** Kills: (# NIL 736 736) (# NIL 799 799) (# NIL 875 875) (# NIL 929 929) [...] Backtrace for: # *** *** *** Example 2: tests$ sbcl --script wait-on-semaphore.script.lisp s2 ::: Running (:SEMAPHORE-NOTIFICATION :WAIT-ON-SEMAPHORE) .E.E.E.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- [ 0.1s] 42 safe remaining: T17, T19, T21, T23, T25, T27, T29, T31, T33, T35, T37, T39, T41, T43, T45, T47, T49, T51, T53, T55, T57, T59, T61, T63, T65, T67, T69, T71, T73, T75, T77, T79, T81, T83, T85, T87, T89, T91, T93, T95, T97, T99 *** Notes: (# 0 699) (# 1 723) (# 2 730) (# 3 825) (# 4 832) (# 5 878) (# 6 901) (# 7 999) (# 8 1048) (# 9 1058) (# 9 1066) (# 10 1114) (# 10 1126) *** Inc's: (# 0 723) (# 1 730) (# 2 825) (# 3 832) (# 4 878) (# 5 900) (# 6 999) (# 7 1048) (# 8 1058) (# 9 1114) (# 10 1168) *** Kills: (# # 797 797) (# # 849 849) (# # 909 909) (# NIL 969 969) (# NIL 1010 1010) (# NIL 1066 1066) (# NIL 1125 1125) (# NIL 1168 1168) (# NIL 1260 1260) (# NIL 1293 1293) [...] Backtrace for: # Maybe someone with more in-depth knowledge of what is expected can suggest how to proceed?