HTTP/1.1 -1 Read error in cache disk data: SuccessContent-Type: text/tab-separated-values; charset="utf-8" Last-Modified: Sat, 22 Jan 2022 03:17:35 GMT Content-length: 1483 Connection: Close Proxy-Connection: Close X-Cache: HIT from web1.osuosl.org Server: ProxyTrack 0.5 (HTTrack 3.49.2) id summary reporter owner description type status priority milestone component version severity resolution keywords cc lang patch platform 1710 [BUG] exit of a Coroutine affects all of its sister clones pmichaud "If any clone of a Coroutine dies, then it exits all of the clones. The best way to illustrate is with code: {{{ $ cat coro.pir .sub 'main' :main .const 'Sub' $P99 = 'coro' .local pmc three, four, five three = clone $P99 four = clone $P99 five = clone $P99 three(3) four(4) five(5) three() four() five() three() .end .sub '' :anon :subid('coro') .param int x print x say '.0' .yield (x) print x say '.1' .yield (x) print x say '.done' .end $ ./parrot coro.pir 3.0 4.0 5.0 3.1 4.1 5.1 3.done 4.done 5.done Cannot resume dead coroutine. current instr.: 'main' pc 37 (coro.pir:11) $ }}} Note that calling the 'three' clone the final time is sufficient to make the 'four' and 'five' clones to also resume + exit (without being explicitly invoked), and leads to the ""Cannot resume dead coroutine"" exception. This is very likely to be strongly related to TT #1702. One possible workaround is to make sure that a coroutine never exits; e.g., by entering an infinite ""yield"" loop at the end of the Coroutine. This is what PGE has apparently done for quite some time. Pm" bug new normal none 2.5.0 medium ass="first">Login