Problem
jimple2cpg fails to process JAR files compiled with JDK 25 (class file version 69) with an IllegalArgumentException from ASM's ClassReader.
Steps to Reproduce
- Compile a JAR with JDK 25
- Run
jimple2cpg against the JAR
Error
java.lang.IllegalArgumentException: Unsupported class file major version 69
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:200)
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:288)
at soot.asm.AsmClassSource.resolve(AsmClassSource.java:66)
at soot.SootResolver.bringToHierarchyUnchecked(SootResolver.java:275)
at soot.SootResolver.bringToHierarchy(SootResolver.java:244)
at soot.SootResolver.bringToSignatures(SootResolver.java:314)
at soot.SootResolver.processResolveWorklist(SootResolver.java:199)
at soot.SootResolver.resolveClass(SootResolver.java:156)
at soot.Scene.loadClass(Scene.java:1005)
at soot.Scene.loadClassAndSupport(Scene.java:992)
at io.joern.jimple2cpg.Jimple2Cpg.sootLoad$$anonfun$2(Jimple2Cpg.scala:91)
at io.joern.jimple2cpg.Jimple2Cpg.sootLoad(Jimple2Cpg.scala:89)
at io.joern.jimple2cpg.Jimple2Cpg.cpgApplyPasses(Jimple2Cpg.scala:113)
...
Root Cause
jimple2cpg bundles Soot 4.6.0 and ASM 9.7, which predate JDK 25 support:
org.soot-oss.soot-4.6.0.jar
org.ow2.asm.asm-9.7.jar
The failure originates in org.objectweb.asm.ClassReader which rejects class file major version 69.
Suggested Fix
Bump jimple2cpg dependencies:
Notes
Environment
- Joern v4.0.510 (homebrew, HEAD+20260325-0833)
- macOS
Problem
jimple2cpgfails to process JAR files compiled with JDK 25 (class file version 69) with anIllegalArgumentExceptionfrom ASM'sClassReader.Steps to Reproduce
jimple2cpgagainst the JARError
Root Cause
jimple2cpg bundles Soot 4.6.0 and ASM 9.7, which predate JDK 25 support:
The failure originates in
org.objectweb.asm.ClassReaderwhich rejects class file major version 69.Suggested Fix
Bump jimple2cpg dependencies:
Notes
javasrc2cpgalready supports JDK 25 source via JavaParser upgrade (PR [javasrc2cpg] Add java 25 support #5867)kotlin2cpgwas updated for JDK 25 in PR [kotlin2cpg] fix: update kotlin version for JDK 25 support #5680jimple2cpgis the remaining frontend without JDK 25 bytecode supportEnvironment