Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
panicz opened this issue Mar 6, 2024 · 0 comments
Open

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

panicz opened this issue Mar 6, 2024 · 0 comments
Labels

Comments

@panicz
Copy link

panicz commented Mar 6, 2024

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants