1

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.

Omer Barak
  • 11
  • 1
  • 1
    Does this answer your question? [How to solve InaccessibleObjectException ("Unable to make {member} accessible: module {A} does not 'opens {package}' to {B}") on Java 9?](https://stackoverflow.com/questions/41265266/how-to-solve-inaccessibleobjectexception-unable-to-make-member-accessible-m) – pringi Jun 27 '22 at 08:13
  • [Neo4j 3.5 seems to be Java 8](https://neo4j.com/docs/operations-manual/3.5/installation/requirements/), and may work on Java 11. Given a lot of things have been tightened up in recent Java versions, it is possible it doesn't work on Java 16 (which you shouldn't be using anyway, as it is not an LTS version, and it has already gone out of support). I'd suggest using Java 8. – Mark Rotteveel Jun 27 '22 at 10:09

1 Answers1

1

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).