JDK-8015848 : SA: ClassWriter have to support JSR292
  • Type: Bug
  • Component: hotspot
  • Sub-Component: svc-agent
  • Affected Version: hs25
  • Priority: P2
  • Status: Resolved
  • Resolution: Not an Issue
  • OS: generic
  • CPU: generic
  • Submitted: 2013-06-03
  • Updated: 2019-08-15
  • Resolved: 2017-11-07
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 10
10Resolved
Related Reports
Blocks :  
Blocks :  
Blocks :  
Relates :  
Relates :  
Description
SA ClassWriter have to support JSR292
Comments
Thanks Tobias for confirming. Closing as NAI as the issue is now fixed.
07-11-2017

I think we can close this bug if buildreplayjars now works with lambdas. The warnings with replay compilation can be ignored by -XX:+ReplayIgnoreInitErrors. The problem that replay compilation does not work with compilations that inline lambdas is out of the scope of this bug.
07-11-2017

'buildreplayjars' works with a testcase containing lambdas and creates app.jar & boot.jar. Trying to replay from the above files gives these kind of errors java.lang.NoClassDefFoundError: java/lang/invoke/LambdaForm$MH Error while parsing line 22: java/lang/invoke/LambdaForm$MH java.lang.NoClassDefFoundError: java/lang/invoke/LambdaForm$DMH Error while parsing line 23: java/lang/invoke/LambdaForm$DMH java.lang.NoClassDefFoundError: java/lang/invoke/LambdaForm$MH Error while parsing line 24: java/lang/invoke/LambdaForm$MH Is that something we should be worrying in this bug ?
17-03-2017

Buildreplayjars goes through fine now. Probably got fixed with 8164783: SA: jhsdb clhsdb 'printall' often throws "Corrupted constant pool" assertion failure.
13-03-2017

Haha! It just got pushed to 10...
10-03-2017

What is the status of this bug? Is it going to be fixed soon? The issue completely disables compilation replay, blocking investigation of other bugs.
03-07-2014

I got next call stack: hsdb> buildreplayjars all /tmp/kvn/ Exception in thread "main" java.lang.InternalError at sun.jvm.hotspot.tools.jcore.ClassWriter.writeIndex(ClassWriter.java:106) at sun.jvm.hotspot.tools.jcore.ClassWriter.writeMethod(ClassWriter.java:550) at sun.jvm.hotspot.tools.jcore.ClassWriter.writeMethods(ClassWriter.java:431) at sun.jvm.hotspot.tools.jcore.ClassWriter.write(ClassWriter.java:93) at sun.jvm.hotspot.tools.jcore.ClassDump.dumpKlass(ClassDump.java:166) at sun.jvm.hotspot.tools.jcore.ClassDump.access$000(ClassDump.java:38) at sun.jvm.hotspot.tools.jcore.ClassDump$1.visit(ClassDump.java:109) at sun.jvm.hotspot.memory.Dictionary.classesDo(Dictionary.java:68) at sun.jvm.hotspot.memory.SystemDictionary.classesDo(SystemDictionary.java:190) at sun.jvm.hotspot.tools.jcore.ClassDump.run(ClassDump.java:105)
24-04-2014

So when this will be fixed at least in jdk9?
24-04-2014

SQE defer OK
11-10-2013

Attempt to fix it failed because some important information still missed in the class file. Continue with debugging.
15-09-2013

The fix get stuck on review.
11-09-2013

invokedynamic related functions in ConstantPool.java (and related) is broken, because re-implementing it from hotspot we missed the fact that x86 is little endian but java is big endian so we need byteswap in couple of places.
04-09-2013

This really should be done for 8, not some future version. This is a blocking issue for the compiler team.
26-07-2013

Which means no compiler replay. (From Christian)
23-07-2013

Impact = H Likelihood = L Workaround = H HLH -> P2
23-07-2013

JDK core libraries are now using Lambdas which means we can't use the SA to extract boot class path classes.
23-07-2013