Omer Barak
Omer Barak

Reputation: 11

neo4j-admin dump is failing (java illegal access error)

I try to create a dump for my neo4j graph using the bin/neo4j-admin dump command and it keeps failing. The command I run: ./bin/neo4j-admin dump --to=./

output:

Exception in thread "main" java.lang.IllegalAccessError: class org.neo4j.io.pagecache.impl.SingleFilePageSwapper (in unnamed module @0x23d2a7e8) cannot access class sun.nio.ch.FileChannelImpl (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x23d2a7e8
        at org.neo4j.io.pagecache.impl.SingleFilePageSwapper.getPositionLockGetter(SingleFilePageSwapper.java:100)
        at org.neo4j.io.pagecache.impl.SingleFilePageSwapper.<clinit>(SingleFilePageSwapper.java:87)
        at org.neo4j.io.pagecache.impl.SingleFilePageSwapperFactory.createPageSwapper(SingleFilePageSwapperFactory.java:66)
        at org.neo4j.io.pagecache.impl.muninn.MuninnPagedFile.<init>(MuninnPagedFile.java:149)
        at org.neo4j.io.pagecache.impl.muninn.MuninnPageCache.map(MuninnPageCache.java:412)
        at org.neo4j.kernel.impl.store.NeoStores.isStorePresent(NeoStores.java:83)
        at org.neo4j.kernel.impl.recovery.RecoveryRequiredChecker.isRecoveryRequiredAt(RecoveryRequiredChecker.java:61)
        at org.neo4j.kernel.impl.recovery.RecoveryRequiredChecker.assertRecoveryIsNotRequired(RecoveryRequiredChecker.java:77)
        at org.neo4j.commandline.dbms.DumpCommand.checkDbState(DumpCommand.java:180)
        at org.neo4j.commandline.dbms.DumpCommand.execute(DumpCommand.java:103)
        at org.neo4j.commandline.admin.AdminTool.execute(AdminTool.java:127)
        at org.neo4j.commandline.admin.AdminTool.main(AdminTool.java:51)
        Suppressed: java.lang.LinkageError: Could not get Throwable message field
                at org.neo4j.helpers.Exceptions.<clinit>(Exceptions.java:417)
                at java.base/java.util.stream.ReduceOps$1ReducingSink.accept(ReduceOps.java:80)
                at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
                at java.base/java.util.concurrent.ConcurrentHashMap$ValueSpliterator.forEachRemaining(ConcurrentHashMap.java:3612)
                at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
                at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
                at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
                at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
                at java.base/java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:657)
                at org.neo4j.kernel.impl.scheduler.ThreadPoolManager.shutDownAll(ThreadPoolManager.java:57)
                at org.neo4j.kernel.impl.scheduler.CentralJobScheduler.shutdown(CentralJobScheduler.java:183)
                at org.neo4j.kernel.impl.scheduler.CentralJobScheduler.close(CentralJobScheduler.java:201)
                at org.neo4j.commandline.dbms.DumpCommand.checkDbState(DumpCommand.java:181)
                ... 3 more
        Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private java.lang.String java.lang.Throwable.detailMessage accessible: module java.base does not "opens java.lang" to unnamed module @23d2a7e8
                at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
                at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
                at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
                at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
                at org.neo4j.helpers.Exceptions.<clinit>(Exceptions.java:413)
                ... 15 more

I use neo4j 3.5.17, neo4j desktop 1.4.12 and java 16.

Upvotes: 1

Views: 197

Answers (1)

Giuseppe Villani
Giuseppe Villani

Reputation: 131

The java version is too recent for neo4j 3.5. Try using java until 11, better the 8 (in this way you will not see warnings while dump creation).

Upvotes: 1

Related Questions