RFD: C2 bug: 8157306 random infrequent null pointer exceptions in javac
Edward Nevill
edward.nevill at gmail.com
Thu Jun 30 12:56:16 UTC 2016
Hi Andrew,
On Wed, 2016-06-22 at 19:22 +0100, Andrew Haley wrote:
> This bogus NullPointerException happens because nodes are cloned from
> a block into its successors by PhaseCFG::call_catch_cleanup. When the
> clone is performed we don't do an anti-dependence check, so scheduling
> is free to move a store even above a load which has an anti-dependence.
Well done on finding this!
We had previously disabled the use of FP as an allocatable register because we thought this was the cause of the problem. The problem seemed to start happening with the introduction of FP as an allocatable register.w
See the following JBS/change
https://bugs.openjdk.java.net/browse/JDK-8148240
http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/rev/ec13f1d4a9d3
However, it looks like this was just shifting the furniture around and made the problem go away for it to reappear later.
Could we re-introduce the use of FP as an allocatable register now?
All the best,
Ed.
More information about the hotspot-dev
mailing list