orientdb
orientdb copied to clipboard
gremlin console fails to start in orientdb-tp3-3.1.6
OrientDB Version: 3.1.6
Java Version:11
OS: ubuntu 20.04
Expected behavior
start gremlin console
Actual behavior
WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v7.Java7$1 (file:/home/lei/workspace/orientdb-tp3-3.1.6/lib/groovy-2.5.7-indy.jar) to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int) WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v7.Java7$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release
\,,,/
(o o)
-----oOOo-(3)-oOOo-----
Exception in thread "main" java.lang.NullPointerException: Cannot invoke method activate() on null object
at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:91)
at org.codehaus.groovy.vmplugin.v7.IndyGuardsFiltersAndSignatures.invokeGroovyObjectInvoker(IndyGuardsFiltersAndSignatures.java:163)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234)
at org.apache.tinkerpop.gremlin.console.Console$_closure18.doCall(Console.groovy:147)
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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
at groovy.lang.Closure.call(Closure.java:405)
at groovy.lang.Closure.call(Closure.java:421)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2330)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2315)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2356)
at org.codehaus.groovy.runtime.dgm$186.doMethodInvoke(Unknown Source)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234)
at org.apache.tinkerpop.gremlin.console.Console.
The problem persisted after I switched to openjdk-8
Steps to reproduce
Download OrientDB 3.1.6 GA Community Edition (December 15rd, 2020) from https://www.orientdb.org/download Run bin/gremlin.sh
any news or meanwhile solution to this ? same error happens on windows system as well ..
I Have the same issue.
Have tried to connect via gremlin_python and no success. After running a shell on the server and execute /orientdb/bin/gremlin.sh i get:
INFO: Created user preferences directory.
\,,,/
(o o)
-----oOOo-(3)-oOOo-----
Exception in thread "main" java.lang.NullPointerException: Cannot invoke method activate() on null object
at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:91)
at org.codehaus.groovy.vmplugin.v7.IndyGuardsFiltersAndSignatures.invokeGroovyObjectInvoker(IndyGuardsFiltersAndSignatures.java:163)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234)
at org.apache.tinkerpop.gremlin.console.Console$_closure18.doCall(Console.groovy:147)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
at groovy.lang.Closure.call(Closure.java:405)
at groovy.lang.Closure.call(Closure.java:421)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2330)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2315)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2356)
at org.codehaus.groovy.runtime.dgm$186.doMethodInvoke(Unknown Source)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234)
at org.apache.tinkerpop.gremlin.console.Console.
[update]
Use Version 3.0.37-tp3
I have tested this in both Kubernetes and Docker and the following versions experience the same issue when trying to run the gremilin.sh: tp3-3.1.6 3.1.10-tp3 3.1.7-tp3 3.1.5-tp3 3.1.4 3.1.3 3.1.2 3.1.1 3.1-tp3 3.1.9-tp3
Version 3.0.37-tp3 runs without issue so I would recommend using that build until this issue is resolved
This is still broken in v3.2.0.
@yuleihit when you get a moment, could you update the title to reflect 3.2.0?
A year open and this is still the case. Can we get this working?
Is there any work around for this issue? Still open in gremlin set up "orientdb3/releases/3.2.3/orientdb-tp3-3.2.3.zip", on windows.
Here a workaround working with OrientDB 3.2.4 (tested with openjdk 8 on remote OrientDB server only):
- Download Gremlin console 3.4.7 and extract it
- Download OrientDB gremlin driver 3.2.4 and extract it
- In OrientDB gremlin driver folder : maven clean install
- Start gremlin console : ./apache-tinkerpop-gremlin-console-3.4.7/bin/gremlin.sh
- Install OrientDB plugin : :install com.orientechnologies orientdb-gremlin 3.2.4
- Enable OrientDB plugin : :plugin use tinkerpop.orientdb
- Quit gremlin console : :exit
- Fix missing jar in plugin (For this kind of issue):
- Copy ~/.m2/repository/com/github/jnr/jffi/1.2.19/jffi-1.2.19.jar in ./apache-tinkerpop-gremlin-console-3.4.7/ext/orientdb-gremlin/lib/
- Copy ~/.m2/repository/com/github/jnr/jffi/1.2.19/jffi-1.2.19.jar in ./apache-tinkerpop-gremlin-console-3.4.7/ext/orientdb-gremlin/plugin/
- Start gremlin console again
- Connect to orientdb through gremlins console : g = OrientGraph.open("remote:localhost/demodb", "reader", "reader"); Path and separator need to be adapt for Windows. Hope it will help and maybe someone will really fix the issue later (I'm not a java expert)