Skip to content

No such method : java/lang/String.intern()Ljava/lang/String; #1009

Description

@panicz

I'm trying to transform my project (which embeds Kawa Scheme) using Bytecoder.

I use a .jar file that can be found there: https://panicz.github.io/grasp/grasp-desktop.jar

I invoke Bytecoder by typing:
java -jar bytecoder-cli-2023-12-01-executable.jar compile js -classpath=build/grasp-desktop.jar -mainclass=grasp\$Mndesktop -builddirectory=build/

But when I do this, I get the following error:

Mar 06, 2024 11:11:18 PM de.mirkosertic.bytecoder.core.Slf4JLogger info
INFO: Compiling main class grasp$Mndesktop to directory build
Current Analysis Stack is :
Parsing method body of grasp$Mndesktop.<clinit>
 Resolving type Lkawa/standard/Scheme;
  Resolving type Lgnu/kawa/lispexpr/LispLanguage;
   Parsing method body of gnu.expr.Language.<clinit>
    Resolving type Lgnu/expr/BuiltinEnvironment;
     Resolving type Lgnu/mapping/Environment;
      Parsing method body of gnu.mapping.PropertySet.<clinit>
       Parsing method body of gnu.mapping.Namespace.<clinit>
        Parsing method body of gnu.mapping.Namespace.valueOf
          Visiting #2 ALOAD Stack size is 0 Source line 82
          Local 0 of type Ljava/lang/String;
          Visiting #3 IFNONNULL Stack size is 1 Source line 82
          Local 0 of type Ljava/lang/String;
          Stack 0 of type Ljava/lang/String;
          Visiting #6 LDC Stack size is 0 Source line 83
          Local 0 of type Ljava/lang/String;
          Visiting #7 ASTORE Stack size is 1 Source line 83
          Local 0 of type Ljava/lang/String;
          Stack 0 of type Ljava/lang/String;
          Check of stack size is ok
          Visiting #11 GETSTATIC Stack size is 0 Source line 84
          Local 0 of type Ljava/lang/String;
          Visiting #12 DUP Stack size is 1 Source line 84
          Local 0 of type Ljava/lang/String;
          Stack 0 of type Ljava/util/Hashtable;
          Visiting #13 ASTORE Stack size is 2 Source line 84
          Local 0 of type Ljava/lang/String;
          Stack 0 of type Ljava/util/Hashtable;
          Stack 1 of type Ljava/util/Hashtable;
          Visiting #14 MONITORENTER Stack size is 1 Source line 84
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Stack 0 of type Ljava/util/Hashtable;
          Start of try catch block at org.objectweb.asm.tree.LabelNode@2053d869 with handler L379478400 and type null
          Check of stack size is ok
          Visiting #63 ASTORE Stack size is 1 Source line 93
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Stack 0 of type Ljava/lang/Throwable;
          Visiting #64 ALOAD Stack size is 0 Source line 93
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 3 of type Ljava/lang/Throwable;
          Visiting #65 MONITOREXIT Stack size is 1 Source line 93
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 3 of type Ljava/lang/Throwable;
          Stack 0 of type Ljava/util/Hashtable;
          Visiting #67 ALOAD Stack size is 0 Source line 93
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 3 of type Ljava/lang/Throwable;
          Visiting #68 ATHROW Stack size is 1 Source line 93
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 3 of type Ljava/lang/Throwable;
          Stack 0 of type Ljava/lang/Throwable;
          Visiting #17 GETSTATIC Stack size is 0 Source line 86
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Visiting #18 ALOAD Stack size is 1 Source line 86
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Stack 0 of type Ljava/util/Hashtable;
          Visiting #19 INVOKEVIRTUAL Stack size is 2 Source line 86
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Stack 0 of type Ljava/util/Hashtable;
          Stack 1 of type Ljava/lang/String;
          Visiting #20 CHECKCAST Stack size is 1 Source line 86
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Stack 0 of type Ljava/lang/Object;
          Visiting #21 ASTORE Stack size is 1 Source line 86
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Stack 0 of type Lgnu/mapping/Namespace;
          Visiting #24 ALOAD Stack size is 0 Source line 87
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Visiting #25 IFNULL Stack size is 1 Source line 87
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Stack 0 of type Lgnu/mapping/Namespace;
          Visiting #28 ALOAD Stack size is 0 Source line 88
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Visiting #29 ALOAD Stack size is 1 Source line 88
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Stack 0 of type Lgnu/mapping/Namespace;
          Visiting #30 MONITOREXIT Stack size is 2 Source line 88
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Stack 0 of type Lgnu/mapping/Namespace;
          Stack 1 of type Ljava/util/Hashtable;
          Visiting #32 ARETURN Stack size is 1 Source line 88
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Stack 0 of type Lgnu/mapping/Namespace;
          Start of try catch block at org.objectweb.asm.tree.LabelNode@1b1426f4 with handler L379478400 and type null
          Check of stack size is ok
          Visiting #36 NEW Stack size is 0 Source line 89
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Visiting #37 DUP Stack size is 1 Source line 89
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Stack 0 of type Lgnu/mapping/Namespace;
          Visiting #38 INVOKESPECIAL Stack size is 2 Source line 89
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Stack 0 of type Lgnu/mapping/Namespace;
          Stack 1 of type Lgnu/mapping/Namespace;
          Visiting #39 ASTORE Stack size is 1 Source line 89
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Stack 0 of type Lgnu/mapping/Namespace;
          Visiting #42 ALOAD Stack size is 0 Source line 90
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Visiting #43 ALOAD Stack size is 1 Source line 90
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Stack 0 of type Lgnu/mapping/Namespace;
          Visiting #44 INVOKEVIRTUAL Stack size is 2 Source line 90
          Local 0 of type Ljava/lang/String;
          Local 1 of type Ljava/util/Hashtable;
          Local 2 of type Lgnu/mapping/Namespace;
          Stack 0 of type Lgnu/mapping/Namespace;
          Stack 1 of type Ljava/lang/String;
de.mirkosertic.bytecoder.core.ir.AnalysisException: java.lang.IllegalStateException: No such method : java/lang/String.intern()Ljava/lang/String;
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethod(ResolvedClass.java:113)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse_INVOKEVIRTUAL(GraphParser.java:705)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parseMethodInsNode(GraphParser.java:881)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse(GraphParser.java:2646)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse(GraphParser.java:407)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.<init>(GraphParser.java:152)
        at de.mirkosertic.bytecoder.core.ir.ResolvedMethod.parseBody(ResolvedMethod.java:45)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethodInternal(ResolvedClass.java:137)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethod(ResolvedClass.java:111)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse_INVOKESTATIC(GraphParser.java:839)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parseMethodInsNode(GraphParser.java:885)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse(GraphParser.java:2646)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse(GraphParser.java:407)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.<init>(GraphParser.java:152)
        at de.mirkosertic.bytecoder.core.ir.ResolvedMethod.parseBody(ResolvedMethod.java:45)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethodInternal(ResolvedClass.java:137)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethod(ResolvedClass.java:111)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.requestInitialization(ResolvedClass.java:99)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.resolveClass(CompileUnit.java:142)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse_GETSTATICFIELD(GraphParser.java:2158)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parseFieldInsnNode(GraphParser.java:2237)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse(GraphParser.java:2660)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse(GraphParser.java:407)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.<init>(GraphParser.java:152)
        at de.mirkosertic.bytecoder.core.ir.ResolvedMethod.parseBody(ResolvedMethod.java:45)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethodInternal(ResolvedClass.java:137)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethod(ResolvedClass.java:111)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.requestInitialization(ResolvedClass.java:99)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.resolveClass(CompileUnit.java:142)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.loadClass(CompileUnit.java:151)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.resolveClass(CompileUnit.java:116)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.loadClass(CompileUnit.java:151)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.resolveClass(CompileUnit.java:116)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.linkType(GraphParser.java:582)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.linkArgumentsAndReturnType(GraphParser.java:591)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse_INVOKESTATIC(GraphParser.java:836)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parseMethodInsNode(GraphParser.java:885)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse(GraphParser.java:2646)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse(GraphParser.java:407)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.<init>(GraphParser.java:152)
        at de.mirkosertic.bytecoder.core.ir.ResolvedMethod.parseBody(ResolvedMethod.java:45)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethodInternal(ResolvedClass.java:137)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethod(ResolvedClass.java:111)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.requestInitialization(ResolvedClass.java:99)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.resolveClass(CompileUnit.java:142)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.loadClass(CompileUnit.java:151)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.resolveClass(CompileUnit.java:116)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.loadClass(CompileUnit.java:151)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.resolveClass(CompileUnit.java:116)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse_INVOKESTATIC(GraphParser.java:812)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parseMethodInsNode(GraphParser.java:885)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse(GraphParser.java:2646)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.parse(GraphParser.java:407)
        at de.mirkosertic.bytecoder.core.parser.GraphParser.<init>(GraphParser.java:152)
        at de.mirkosertic.bytecoder.core.ir.ResolvedMethod.parseBody(ResolvedMethod.java:45)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethodInternal(ResolvedClass.java:137)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.resolveMethod(ResolvedClass.java:111)
        at de.mirkosertic.bytecoder.core.ir.ResolvedClass.requestInitialization(ResolvedClass.java:99)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.resolveClass(CompileUnit.java:142)
        at de.mirkosertic.bytecoder.core.parser.CompileUnit.resolveMainMethod(CompileUnit.java:217)
        at de.mirkosertic.bytecoder.cli.CompileJSCommand.call(CompileJSCommand.java:86)
        at de.mirkosertic.bytecoder.cli.CompileJSCommand.call(CompileJSCommand.java:43)
        at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
        at picocli.CommandLine.access$1500(CommandLine.java:148)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
        at picocli.CommandLine.execute(CommandLine.java:2170)
        at de.mirkosertic.bytecoder.cli.BytecoderCLI.main(BytecoderCLI.java:24)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
Caused by: java.lang.IllegalStateException: No such method : java/lang/String.intern()Ljava/lang/String;
        ... 79 more

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions