Closed franklinhe closed 1 year ago
The key part of the error is likely "labelscanstore.db: Cannot map non-existing file". So perhaps there is some file that is expected and not available.
Can you provide a bit more detail? Exactly what command did you run? What operating system and version of docker?
I pull the image using the command docker pull dhimmel/hetionet
in docker desktop version4.18.0 under macos12.6, and also latest docker version under centos7.9. After finished downloading, then command:
docker run \
--name=hetionet-container \
--rm \
--publish=7474:7474 \
--publish=7687:7687 \
--volume=$HOME/neo4j/hetionet-data:/data \
--volume=$HOME/neo4j/hetionet-logs:/logs \
dhimmel/hetionet
got the same error.
I'm able to run that command without the error on Docker version 20.10.21, build 20.10.21-0ubuntu1~22.04.2
(according to docker --version
). Are you running Docker 23.0.5 (the latest according to these release notes)?
Advice from ChatGPT:
The error message suggests that Neo4j is unable to find or map the
neostore.labelscanstore.db
file within the/data/databases/graph.db/
directory. There might be several reasons for this issue:
Missing or corrupted data: Ensure that the
$HOME/neo4j/hetionet-data
directory on your host machine contains the necessary Neo4j data files, includingneostore.labelscanstore.db
. If the files are missing or corrupted, you may need to redownload the data or restore it from a backup.Incorrect permissions: Verify that the user running the Docker container has read and write permissions for the
$HOME/neo4j/hetionet-data
directory and all its contents. If necessary, change the permissions usingchmod
and/orchown
commands.
Here's what I see when I do ls -lh $HOME/neo4j
(header for reference):
perm links owner group size day tm/y filename
drwxr-xr-x 5 165636 165636 4.0K Jul 27 2022 hetionet-data
drwxr-xr-x 2 165636 165636 4.0K Jul 27 2022 hetionet-logs
Let's make sure your $HOME/neo4j
and $HOME/neo4j/hetionet-data
directories are getting created.
Also here are the details of the image I'm running (via docker images dhimmel/hetionet
):
REPOSITORY TAG IMAGE ID CREATED SIZE
dhimmel/hetionet hetionet-v1.0_neo4j-3.5.12 7b96e85421c4 3 years ago 386MB
dhimmel/hetionet latest 7b96e85421c4 3 years ago 386MB
You should be running the same image id (don't see why that would differ).
Thanks! The possible problem is network error in my work environment. The downloaded zip file is not complete, So always part of the files are not inclueded after uncompressing files. Here the logs printed:
Downloading and extracting database
bzip2: Compressed file ends unexpectedly; perhaps it is corrupted? Possible reason follows. bzip2: Inappropriate ioctl for device Input file = (stdin), output file = (stdout)
It is possible that the compressed file(s) have become corrupted. You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to attempt to recover data from undamaged sections of corrupted files.
tar: Child returned status 2 tar: Error is not recoverable: exiting now Active database: graph.db Directories in use: home: /var/lib/neo4j config: /var/lib/neo4j/conf logs: /logs plugins: /var/lib/neo4j/plugins import: /var/lib/neo4j/import data: /var/lib/neo4j/data certificates: /ssl run: /var/lib/neo4j/run Starting Neo4j. 2023-05-05 09:27:59.293+0000 WARN dbms.active_database is deprecated. 2023-05-05 09:27:59.304+0000 INFO ======== Neo4j 3.5.12 ======== 2023-05-05 09:27:59.311+0000 INFO Starting... 2023-05-05 09:28:01.084+0000 ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@3c818ac4' was successfully initialized, but failed to start. Please see the attached cause exception "/data/databases/graph.db/neostore.labelscanstore.db: Cannot map non-existing file". Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@3c818ac4' was successfully initialized, but failed to start. Please see the attached cause exception "/data/databases/graph.db/neostore.labelscanstore.db: Cannot map non-existing file". org.neo4j.server.ServerStartupException: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@3c818ac4' was successfully initialized, but failed to start. Please see the attached cause exception "/data/databases/graph.db/neostore.labelscanstore.db: Cannot map non-existing file". at org.neo4j.server.exception.ServerStartupErrors.translateToServerStartupError(ServerStartupErrors.java:45) at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:187) at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:124) at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:91) at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:32)
But It's so rediculous that every time I run docker, it got the same error, enven in different machine in different network.
I have installed a neo4j-3.5.12 server directly on my machine, and dump the data, it works.
Awesome! Glad you were able to figure it out.
Hi, I run the docker container as described in readme, but got the following error:
Is the database match with the version of neo4j?