-
Notifications
You must be signed in to change notification settings - Fork 407
Open
Description
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
jimple2cpgagainst 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:
- Soot 4.6.0 → 4.7.1 (includes Java 25 fixes from Fix tests for Java 25 soot-oss/soot#2202)
- ASM 9.7 → 9.9.1 (class file version 69 support)
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 support- This same ASM version issue has been filed against other projects: Update asm to latest 9.8 for JDK 25 support google/dagger#4966, Unsupported class file major version 69 bcgit/bc-java#2206
Environment
- Joern v4.0.510 (homebrew, HEAD+20260325-0833)
- macOS
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels