orientdb icon indicating copy to clipboard operation
orientdb copied to clipboard

gremlin console fails to start in orientdb-tp3-3.1.6

Open leiyucs opened this issue 4 years ago • 7 comments

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.(Console.groovy:145) at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234) at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:502)

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

leiyucs avatar Dec 26 '20 20:12 leiyucs

any news or meanwhile solution to this ? same error happens on windows system as well ..

LucaGabi avatar Feb 05 '21 13:02 LucaGabi

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.(Console.groovy:145) at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234) at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:502)

re2023 avatar Apr 03 '21 10:04 re2023

[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

re2023 avatar Apr 04 '21 04:04 re2023

This is still broken in v3.2.0.

@yuleihit when you get a moment, could you update the title to reflect 3.2.0?

theckman avatar May 23 '21 02:05 theckman

A year open and this is still the case. Can we get this working?

pixeldrew avatar Aug 20 '21 03:08 pixeldrew

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.

arpitdd123 avatar Nov 25 '21 05:11 arpitdd123

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):
  1. 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/
  2. 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)

fefux avatar Jan 14 '22 12:01 fefux