JDK-8057038 : Speculative traps not robust when compilation and class unloading are concurrent
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-09-02
  • Updated: 2021-09-20
  • Resolved: 2014-09-03
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9 Other
8u321Fixed 9 b31Fixed openjdk8u322Unresolved
Related Reports
Relates :  
Relates :  
Relates :  
Description
Speculative traps recorded in a MethodData can be removed at a safepoint. During a compilation, as a MethodData is copied and translated by a compiler thread to build a ciMethodData, a safepoint can occur as speculative traps are being copied, and not yet copied speculative traps may be removed. That changes the layout of the traps. The loop doing the copying doesn't handle it currently.
Comments
URL: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/5a313cfb5637 User: lana Date: 2014-09-17 17:25:47 +0000
17-09-2014

ILW=possible incorrect behaviour, race, none=MLH=P4
04-09-2014

URL: http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/rev/5a313cfb5637 User: roland Date: 2014-09-03 17:01:26 +0000
03-09-2014

regarding lack of test case: this requires class unloading to happen concurrently with compilation and the compiler thread to safepoint at a particular point in the code. Very hard to achieve with a simple test case.
03-09-2014