[
https://issues.apache.org/jira/browse/TINKERPOP-3162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17988009#comment-17988009
]
ASF GitHub Bot commented on TINKERPOP-3162:
-------------------------------------------
nnmva opened a new pull request, #3151:
URL: https://github.com/apache/tinkerpop/pull/3151
https://issues.apache.org/jira/browse/TINKERPOP-3162
> Gryo writes illegal reflective access operations for AtomicLong in JDK17
> ------------------------------------------------------------------------
>
> Key: TINKERPOP-3162
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3162
> Project: TinkerPop
> Issue Type: Bug
> Components: io
> Affects Versions: 3.7.3
> Reporter: Stephen Mallette
> Priority: Critical
>
> Noticed in Gremlin Console:
> {code}
> gremlin> g.io('../../../data/air-routes.graphml').read()
> gremlin> g.io('air-routes.kryo').write()
> Unable to create serializer
> "org.apache.tinkerpop.shaded.kryo.serializers.FieldSerializer" for class:
> java.util.concurrent.atomic.AtomicLong
> Type ':help' or ':h' for help.
> Display stack trace? [yN]y
> java.lang.IllegalArgumentException: Unable to create serializer
> "org.apache.tinkerpop.shaded.kryo.serializers.FieldSerializer" for class:
> java.util.concurrent.atomic.AtomicLong
> at
> org.apache.tinkerpop.shaded.kryo.factories.ReflectionSerializerFactory.makeSerializer(ReflectionSerializerFactory.java:67)
> at
> org.apache.tinkerpop.shaded.kryo.factories.ReflectionSerializerFactory.makeSerializer(ReflectionSerializerFactory.java:45)
> at
> org.apache.tinkerpop.shaded.kryo.Kryo.newDefaultSerializer(Kryo.java:380)
> at
> org.apache.tinkerpop.shaded.kryo.Kryo.getDefaultSerializer(Kryo.java:364)
> at
> org.apache.tinkerpop.gremlin.structure.io.gryo.GryoTypeReg.registerWith(GryoTypeReg.java:122)
> at
> org.apache.tinkerpop.gremlin.structure.io.gryo.GryoMapper.createMapper(GryoMapper.java:101)
> at
> org.apache.tinkerpop.gremlin.structure.io.gryo.GryoMapper.createMapper(GryoMapper.java:75)
> at
> org.apache.tinkerpop.gremlin.structure.io.gryo.GryoWriter.<init>(GryoWriter.java:52)
> at
> org.apache.tinkerpop.gremlin.structure.io.gryo.GryoWriter.<init>(GryoWriter.java:48)
> at
> org.apache.tinkerpop.gremlin.structure.io.gryo.GryoWriter$Builder.create(GryoWriter.java:183)
> at
> org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.IoStep.constructWriter(IoStep.java:190)
> at
> org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.IoStep.write(IoStep.java:121)
> at
> org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.IoStep.processNextStart(IoStep.java:112)
> at
> org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:155)
> at
> org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:198)
> at
> org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
> at
> org.apache.tinkerpop.gremlin.console.Console$_closure3.doCall(Console.groovy:267)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
> at
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:280)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1007)
> at groovy.lang.Closure.call(Closure.java:433)
> at groovy.lang.Closure.call(Closure.java:422)
> at
> org.apache.groovy.groovysh.Groovysh.setLastResult(Groovysh.groovy:483)
> at org.apache.groovy.groovysh.Groovysh.execute(Groovysh.groovy:209)
> at
> org.apache.tinkerpop.gremlin.console.GremlinGroovysh.super$3$execute(GremlinGroovysh.groovy)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
> at groovy.lang.MetaClassImpl.doInvokeMethod(MetaClassImpl.java:1333)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1088)
> at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:146)
> at
> org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:87)
> at
> org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
> at org.apache.groovy.groovysh.Shell.leftShift(Shell.groovy:121)
> at
> org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
> at org.apache.groovy.groovysh.ShellRunner.work(ShellRunner.groovy:93)
> at
> org.apache.groovy.groovysh.InteractiveShellRunner.work(InteractiveShellRunner.groovy:124)
> at
> org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
> at org.apache.groovy.groovysh.ShellRunner.run(ShellRunner.groovy:57)
> at
> org.apache.groovy.groovysh.InteractiveShellRunner.run(InteractiveShellRunner.groovy:96)
> at
> org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
> at
> org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:180)
> at
> org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
> at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:579)
> Caused by: java.lang.reflect.InvocationTargetException
> at
> jdk.internal.reflect.GeneratedConstructorAccessor8.newInstance(Unknown Source)
> at
> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at
> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
> at
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
> at
> org.apache.tinkerpop.shaded.kryo.factories.ReflectionSerializerFactory.makeSerializer(ReflectionSerializerFactory.java:54)
> ... 51 more
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make
> field private volatile long java.util.concurrent.atomic.AtomicLong.value
> accessible: module java.base does not "opens java.util.concurrent.atomic" to
> unnamed module @769e7ee8
> at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at
> org.apache.tinkerpop.shaded.kryo.serializers.FieldSerializer.buildValidFields(FieldSerializer.java:306)
> at
> org.apache.tinkerpop.shaded.kryo.serializers.FieldSerializer.rebuildCachedFields(FieldSerializer.java:239)
> at
> org.apache.tinkerpop.shaded.kryo.serializers.FieldSerializer.rebuildCachedFields(FieldSerializer.java:182)
> at
> org.apache.tinkerpop.shaded.kryo.serializers.FieldSerializer.<init>(FieldSerializer.java:155)
> ... 56 more
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)