upickle
upickle copied to clipboard
Possible dead lock
I am on 4.0.2 and scala 3.5.2-RC2.
I have a tree defined with multiple sealed trait and case class. All sealed traits have derives ReadWriter
Today I introduced 3 more sealed traits to describe a property that some case classes, and I faced dead lock. I reverted them in a commit and the dead lock issue disappeared. https://github.com/chester-lang/chester/commit/ac7eef2a513ed3013ed6a0098118d44c76f0af26
I am unable to write minimal example that can generate such dead lock
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1048)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:230)
at chester.syntax.core.Term$.derived$ReadWriter$lzyINIT5(Term.scala:119)
at chester.syntax.core.Term$.derived$ReadWriter(Term.scala:119)
at chester.syntax.core.Term$.x0$lzyINIT3$1(Term.scala:119)
at chester.syntax.core.Term$.x0$3(Term.scala:119)
at chester.syntax.core.Term$.derived$ReadWriter$lzyINIT5(Term.scala:119)
at chester.syntax.core.Term$.derived$ReadWriter(Term.scala:119)