-
Bug
-
Resolution: Fixed
-
P4
-
22.0.2
-
None
-
b08
-
generic
-
generic
Fuzzing showed an apparent endless loop in javap ClassWriter when calling into the ClassFile API (seen in 22.0.2 and 23-b31).
The stack trace of the running process shows the following when executing the command line javap -c -p -v Endless.class
2024-07-19 15:51:58
....
"main" #1 [8963] prio=5 os_prio=31 cpu=94132.01ms elapsed=94.90s tid=0x00007fb59180a400 nid=8963 runnable [0x000070000be86000]
java.lang.Thread.State: RUNNABLE
at jdk.internal.classfile.impl.CodeImpl.inflateJumpTargets(java.base@22.0.2/CodeImpl.java:253)
at jdk.internal.classfile.impl.CodeImpl.inflateMetadata(java.base@22.0.2/CodeImpl.java:126)
at jdk.internal.classfile.impl.CodeImpl.forEachElement(java.base@22.0.2/CodeImpl.java:170)
at java.lang.classfile.CompoundElement.elementList(java.base@22.0.2/CompoundElement.java:94)
at java.lang.classfile.CompoundElement.elements(java.base@22.0.2/CompoundElement.java:65)
at java.lang.classfile.CompoundElement.iterator(java.base@22.0.2/CompoundElement.java:74)
at com.sun.tools.javap.CodeWriter.writeInstrs(jdk.jdeps@22.0.2/CodeWriter.java:97)
at com.sun.tools.javap.ClassWriter.writeMethod(jdk.jdeps@22.0.2/ClassWriter.java:553)
at com.sun.tools.javap.ClassWriter.writeMethods(jdk.jdeps@22.0.2/ClassWriter.java:440)
at com.sun.tools.javap.ClassWriter.write(jdk.jdeps@22.0.2/ClassWriter.java:244)
at com.sun.tools.javap.JavapTask.write(jdk.jdeps@22.0.2/JavapTask.java:848)
at com.sun.tools.javap.JavapTask.writeClass(jdk.jdeps@22.0.2/JavapTask.java:673)
at com.sun.tools.javap.JavapTask.run(jdk.jdeps@22.0.2/JavapTask.java:617)
at com.sun.tools.javap.JavapTask.run(jdk.jdeps@22.0.2/JavapTask.java:467)
at com.sun.tools.javap.Main.main(jdk.jdeps@22.0.2/Main.java:48)
The stack trace of the running process shows the following when executing the command line javap -c -p -v Endless.class
2024-07-19 15:51:58
....
"main" #1 [8963] prio=5 os_prio=31 cpu=94132.01ms elapsed=94.90s tid=0x00007fb59180a400 nid=8963 runnable [0x000070000be86000]
java.lang.Thread.State: RUNNABLE
at jdk.internal.classfile.impl.CodeImpl.inflateJumpTargets(java.base@22.0.2/CodeImpl.java:253)
at jdk.internal.classfile.impl.CodeImpl.inflateMetadata(java.base@22.0.2/CodeImpl.java:126)
at jdk.internal.classfile.impl.CodeImpl.forEachElement(java.base@22.0.2/CodeImpl.java:170)
at java.lang.classfile.CompoundElement.elementList(java.base@22.0.2/CompoundElement.java:94)
at java.lang.classfile.CompoundElement.elements(java.base@22.0.2/CompoundElement.java:65)
at java.lang.classfile.CompoundElement.iterator(java.base@22.0.2/CompoundElement.java:74)
at com.sun.tools.javap.CodeWriter.writeInstrs(jdk.jdeps@22.0.2/CodeWriter.java:97)
at com.sun.tools.javap.ClassWriter.writeMethod(jdk.jdeps@22.0.2/ClassWriter.java:553)
at com.sun.tools.javap.ClassWriter.writeMethods(jdk.jdeps@22.0.2/ClassWriter.java:440)
at com.sun.tools.javap.ClassWriter.write(jdk.jdeps@22.0.2/ClassWriter.java:244)
at com.sun.tools.javap.JavapTask.write(jdk.jdeps@22.0.2/JavapTask.java:848)
at com.sun.tools.javap.JavapTask.writeClass(jdk.jdeps@22.0.2/JavapTask.java:673)
at com.sun.tools.javap.JavapTask.run(jdk.jdeps@22.0.2/JavapTask.java:617)
at com.sun.tools.javap.JavapTask.run(jdk.jdeps@22.0.2/JavapTask.java:467)
at com.sun.tools.javap.Main.main(jdk.jdeps@22.0.2/Main.java:48)
- links to
-
Commit(master) openjdk/jdk/0db6c15e
-
Review(master) openjdk/jdk/20258