Message11277

Author stefan.richthofer
Recipients jamesmudd, jeff.allen, stefan.richthofer, zyasoft
Date 2017-03-27.16:46:45
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1490633206.73.0.185806680062.issue2536@psf.upfronthosting.co.za>
In-reply-to
Content
>I'm still not exactly clear what happens the the OutOfMemoryError or StackOverflowError

I think it's StackOverflowError, but I suppose under heavy memory load the former one could cause a similar phenomenon.

Actually I wasn't able to detect the Error explicitly "in field", but the attached Test.java can provoke the explained behavior (You'll have to run it several times, but it runs fast and I observe the issue every 5th run or so, so it's still easy to reproduce).

Additionally, the fact that xss-value can affect likeliness of the issue supports the StackOverflowError thesis.

If you run Test.java often enough you will observe something like this:

...
recursion 4607
recursion 4608
recursion 4609
recursion 4610
recursion 4611java.lang.Stacjava.lang.StackOverflowErrorjava.lang.StackOverflowErrorjava.lang.StackOverflowError
4608
10619136
10628355
continue normal execution...

If the checksums (10619136, 10628355) differ some finally blocks were bypassed; note that the difference is 4609+4610, which belong to the frames that were also dropped by the catch: It printed 4608. The construct as a whole however still resumes normal execution.

I am currently not able to pin down how this program structure is exactly embedded in guava, but I am convinced it is present there in manifold ways (which is why we observed various slightly different deadlocks).
History
Date User Action Args
2017-03-27 16:46:46stefan.richthofersetmessageid: <1490633206.73.0.185806680062.issue2536@psf.upfronthosting.co.za>
2017-03-27 16:46:46stefan.richthofersetrecipients: + stefan.richthofer, zyasoft, jeff.allen, jamesmudd
2017-03-27 16:46:46stefan.richthoferlinkissue2536 messages
2017-03-27 16:46:45stefan.richthofercreate