-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Hello. I was running benchmarks for my program and encountered a strange error randomly:
Exception in thread "main" Exception in thread "zio-fiber-9207130" scala.MatchError: null
at zio.stream.internal.ChannelExecutor.unwind$1(ChannelExecutor.scala:39)
at zio.stream.internal.ChannelExecutor.popAllFinalizers(ChannelExecutor.scala:45)
at zio.stream.internal.ChannelExecutor.close(ChannelExecutor.scala:92)
at zio.stream.internal.ChannelExecutor.restorePipe(ChannelExecutor.scala:25)
at zio.stream.internal.ChannelExecutor.$anonfun$run$13(ChannelExecutor.scala:194)
at zio.stream.internal.ChannelExecutor.$anonfun$popAllFinalizers$1(ChannelExecutor.scala:41)
at zio.ZIO.$anonfun$$times$greater$1(ZIO.scala:89)
at <empty>.Demo.main.fa(Demo.scala:7)
at <empty>.Demo.main.fa(Demo.scala:6)
at <empty>.Demo.main.fa(Demo.scala:8)
at <empty>.Demo.main(Demo.scala:12)
Caused by: scala.MatchError: null
at zio.stream.internal.ChannelExecutor.unwind$1(ChannelExecutor.scala:39)
at zio.stream.internal.ChannelExecutor.popAllFinalizers(ChannelExecutor.scala:45)
at zio.stream.internal.ChannelExecutor.close(ChannelExecutor.scala:92)
at zio.stream.internal.ChannelExecutor.restorePipe(ChannelExecutor.scala:25)
at zio.stream.internal.ChannelExecutor.$anonfun$run$13(ChannelExecutor.scala:194)
at zio.stream.internal.ChannelExecutor.$anonfun$popAllFinalizers$1(ChannelExecutor.scala:41)
at zio.ZIO.$anonfun$$times$greater$1(ZIO.scala:89)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1218)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1218)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1011)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:1218)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.runLoop(FiberRuntime.scala:934)
at zio.internal.FiberRuntime.evaluateEffect(FiberRuntime.scala:389)
at zio.internal.FiberRuntime.evaluateMessageWhileSuspended(FiberRuntime.scala:512)
at zio.internal.FiberRuntime.drainQueueOnCurrentThread(FiberRuntime.scala:229)
at zio.internal.FiberRuntime.run(FiberRuntime.scala:138)
at zio.internal.ZScheduler$$anon$4.run(ZScheduler.scala:476)
I can reproduce the problem in my environment with the following code:
import zio.stream.ZStream
import zio.Unsafe
import zio.ZIO
object Demo {
def main(args: Array[String]): Unit = {
val fa = ZStream.unwrapScoped {
ZStream.range(0, 100).toQueue().map(q => ZStream.fromQueue(q).flattenTake)
}.runDrain
Unsafe.unsafe { implicit unsafe =>
while (true) // Also reproduced by `fa.forever`.
zio.Runtime.default.unsafe.run(fa).getOrThrowFiberFailure()
}
}
}The time it takes for the error to occur is random. In my environment, it can be anywhere from a few minutes to a few dozen minutes.
ZIO: 2.0.5, 2.0.6
JVM: Temurin-11.0.17+8
Scala: 2.13.10
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working