upickle icon indicating copy to clipboard operation
upickle copied to clipboard

Possible dead lock

Open mio-19 opened this issue 4 months ago • 3 comments

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)

mio-19 avatar Oct 19 '24 10:10 mio-19