Closed mnussbaum closed 9 years ago
Turning on instrumentation verification by setting the system property -Dco.paralleluniverse.fibers.verifyInstrumentation=true
doesn't highlight anything abnormal? Could you try with the 0.6.3-SNAPSHOT version of Quasar as well?
Turning on instrumentation highlighted a stack of lazy functions we were using, starting from a for
loop. Upon removing the lazy sequence iteration in favor of a loop/recur
the issue appears to go away. Thanks for the pointer in the right direction!
I believe we've found a race condition that is triggered by invoking
core/rcv
on the channel returned by a Pulsarasync/thread
. When iterating through a large list of channels and invokingrcv
on them we occasionally seeNullPointerException
raised byrcv
. If we slow down the rate at which we maprcv
on the list we don't see the exception. The channels is the list are the output of Pulsar'sasync/thread
method, and as far we can tell totally uniform. We are executingrcv
inside of a Pulsar actor.I've included the stack trace:
Unfortunately we've yet to be able to reproduce the issue on anything less then our full project. Any suggestions welcome.
Thanks!