[ 
https://issues.apache.org/jira/browse/TINKERPOP-2730?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephen Mallette closed TINKERPOP-2730.
---------------------------------------
    Resolution: Invalid

JDK17 support is now available on {{master}} - 3.7.0-SNAPSHOT

> Gremlin Console fails to start on ARM Mac with x64 Java
> -------------------------------------------------------
>
>                 Key: TINKERPOP-2730
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2730
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: console
>    Affects Versions: 3.5.2
>            Reporter: John Ruble
>            Priority: Minor
>
> Trying to use Gremlin Console with x64 Java 18 on an M1 Mac throws an 
> {{Unsupported class file major version 62}} exception. This happens with both 
> Oracle and OpenJDK.
> Here's a sample project to repro this on an M1 Mac:
> [https://github.com/jrr/gremlin-console-jvms]
>  
> {code:java}
> jrr@jrrmbp ~/r/gremlin-console-jvms (main) [2]> make test_openjdk_18_x64 
> (...)
> file `which java`
> /Users/jrr/repos/gremlin-console-jvms/.jdks/openjdk_18_x64/jdk-18.jdk/Contents/Home/bin/java:
>  Mach-O 64-bit executable x86_64
> java -version
> openjdk version "18" 2022-03-22
> OpenJDK Runtime Environment (build 18+36-2087)
> OpenJDK 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)
> make gremlin-console
> .gremlin-console/apache-tinkerpop-gremlin-console/bin/gremlin.sh         \,,,/
>          (o o)
> -----oOOo-(3)-oOOo-----
> Exception in thread "main" BUG! exception in phase 'semantic analysis' in 
> source unit 'Script1.groovy' Unsupported class file major version 62
>     at 
> org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:969)
>     at 
> org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:642)
>     at 
> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:591)
>     at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:401)
>     at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
>     at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:341)
>     at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:338)
>     at 
> org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
>     at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:336)
>     at groovy.lang.GroovyShell.parseClass(GroovyShell.java:546)
>     at groovy.lang.GroovyShell.parse(GroovyShell.java:558)
>     at groovy.lang.GroovyShell.evaluate(GroovyShell.java:442)
>     at groovy.lang.GroovyShell.evaluate(GroovyShell.java:481)
>     at groovy.lang.GroovyShell.evaluate(GroovyShell.java:452)
>     at 
> org.codehaus.groovy.tools.shell.util.PackageHelperImpl.getPackagesAndClassesFromJigsaw(PackageHelperImpl.groovy:151)
>     at 
> org.codehaus.groovy.tools.shell.util.PackageHelperImpl.getPackages(PackageHelperImpl.groovy:125)
>     at 
> org.codehaus.groovy.tools.shell.util.PackageHelperImpl.initializePackages(PackageHelperImpl.groovy:62)
>     at 
> org.codehaus.groovy.tools.shell.util.PackageHelperImpl.<init>(PackageHelperImpl.groovy:51)
>     at 
> java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67)
>     at 
> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
>     at 
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
>     at 
> org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80)
>     at 
> org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
>     at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
>     at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:237)
>     at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:249)
>     at org.codehaus.groovy.tools.shell.Groovysh.<init>(Groovysh.groovy:112)
>     at org.codehaus.groovy.tools.shell.Groovysh.<init>(Groovysh.groovy:101)
>     at org.codehaus.groovy.tools.shell.Groovysh.<init>(Groovysh.groovy:140)
>     at 
> org.apache.tinkerpop.gremlin.console.GremlinGroovysh.<init>(GremlinGroovysh.groovy:45)
>     at 
> java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67)
>     at 
> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
>     at 
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
>     at 
> org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80)
>     at 
> org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
>     at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
>     at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:237)
>     at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:257)
>     at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:100)
>     at 
> java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67)
>     at 
> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
>     at 
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
>     at 
> org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80)
>     at 
> org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
>     at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
>     at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:237)
>     at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:265)
>     at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:524)
> Caused by: java.lang.IllegalArgumentException: Unsupported class file major 
> version 62
>     at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:196)
>     at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:177)
>     at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:163)
>     at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:284)
>     at 
> org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
>     at 
> org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:251)
>     at 
> org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:189)
>     at 
> org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:169)
>     at 
> org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:125)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.resolveToOuter(ResolveVisitor.java:853)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:467)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.resolveFromDefaultImports(ResolveVisitor.java:629)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.resolveFromDefaultImports(ResolveVisitor.java:612)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.resolveFromDefaultImports(ResolveVisitor.java:586)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:465)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:428)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.transformVariableExpression(ResolveVisitor.java:1120)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:871)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1266)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:879)
>     at 
> org.codehaus.groovy.ast.expr.Expression.transformExpressions(Expression.java:49)
>     at 
> org.codehaus.groovy.ast.expr.ArgumentListExpression.transformExpression(ArgumentListExpression.java:67)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:888)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1264)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:879)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.transformDeclarationExpression(ResolveVisitor.java:1291)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:875)
>     at 
> org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:142)
>     at 
> org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40)
>     at 
> org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86)
>     at 
> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1553)
>     at 
> org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69)
>     at 
> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:110)
>     at 
> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:121)
>     at 
> org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:53)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:257)
>     at 
> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:132)
>     at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1103)
>     at 
> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:54)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1465)
>     at 
> org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:230)
>     at 
> org.codehaus.groovy.control.CompilationUnit$13.call(CompilationUnit.java:700)
>     at 
> org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:965)
>     ... 47 more
> make[1]: *** [gremlin-console] Error 1
> make: *** [test_openjdk_18_x64] Error 2 {code}
> An additional bit of information that may help bisect this: Gremlin Console 
> _does work_ on an M1 Mac with Java 8 update 321 (for more detail see the 
> sample project).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to