Skip to content

JDK 25 - Failing to parse Bytecode of some classes #404

@SpeckiJ

Description

@SpeckiJ

I am trying to use JITView in a software project that is compiled using openjdk-25.0.1. I have managed to add my sources and can see some of the sourcecode in TriView, but some other classes just randomly fail.

I can see in the Logs that the BytecodeLoader navigates itself into an invalid state and then crashes. And without bytecode parsing there is no sourcefile lookup :(

When comparing the Log output of the Bytecodeloader with the output of javap -c <class> it looks to me like they are parsing completely different files, it is barely recognizable. Is there some special flags needed for JDK 25 to support loading the classes in JitView? Or is there some quirk in my compilation that I do not recognize (and somehow only affects some of the classes in the project).

Log from jitwatch.out:

2025-11-19T20:25:56.643155900Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: 'descriptor: (I)V'
2025-11-19T20:25:56.643155900Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: 'flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC'
2025-11-19T20:25:56.643155900Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: 'Code:'
2025-11-19T20:25:56.643155900Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '0: ldc           #172                // String Argument for @NotNull parameter \'%s\' of %s.%s must not be null'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '2: iconst_3'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '3: anewarray     #8                  // class java/lang/Object'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '6: dup'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '7: iconst_0'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '8: ldc           #173                // String type'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '10: aastore'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '11: dup'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '12: iconst_1'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '13: ldc           #174                // String io/github/mzmine/modules/dataprocessing/featdet_massdetection/factor_of_lowest/FactorOfLowestMassDetector'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '15: aastore'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '16: dup'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '17: iconst_2'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '18: ldc           #175                // String getMassValues'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '20: aastore'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '21: invokestatic  #181                // Method java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '24: new           #183                // class java/lang/IllegalArgumentException'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '27: dup_x1'
2025-11-19T20:25:56.644155300Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '28: swap'
2025-11-19T20:25:56.645156600Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '29: invokespecial #186                // Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V'
2025-11-19T20:25:56.645156600Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '32: athrow'
2025-11-19T20:25:56.645156600Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: '}'
2025-11-19T20:25:56.645156600Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader Line: 'SourceFile: "FactorOfLowestMassDetector.java"'
2025-11-19T20:25:56.645156600Z ERR org.adoptopenjdk.jitwatch.loader.BytecodeLoader could not parse bytecode: '}'

I have shared the (apparently .class is not an allowed filetype for github issue attachments) corresponding classfile here: https://drive.google.com/drive/folders/10HVHicsbMg-JRwenoDWGn9xeQy0cTL5V?usp=sharing

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions