Database failed to start Neo4j Desktop

Hi,

Lately I've been facing many bugs using Neo4j Desktop.

One of them occurs after updating the graph database settings, for example, to increase heap.max_size. Also, when I install APOC v4.2.0.0.

The error is:

Database failed to start: Database process terminated, see logs.. Check the logs

And this is the log:

2021-03-09 13:31:26.582+0000 INFO  Starting...
2021-03-09 13:31:30.323+0000 INFO  ======== Neo4j 4.2.1 ========
2021-03-09 13:31:33.788+0000 INFO  Sending metrics to CSV file at C:\Users\n901495\AppData\Local\Neo4j\Relate\Data\dbmss\dbms-bf1fe9a5-0b9b-4409-9e24-3173f5184587\metrics
2021-03-09 13:31:33.815+0000 INFO  Bolt enabled on localhost:7687.
2021-03-09 13:31:34.882+0000 INFO  Remote interface available at http://localhost:7474/
2021-03-09 13:31:34.883+0000 INFO  Started.
2021-03-09 13:32:19.024+0000 INFO  Starting...
2021-03-09 13:32:22.440+0000 INFO  ======== Neo4j 4.2.1 ========
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
2021-03-09 13:32:30.923+0000 ERROR Failed to start Neo4j on dbms.connector.http.listen_address, a socket address. If missing port or hostname it is acquired from dbms.default_listen_address.
java.lang.RuntimeException: Error starting Neo4j database server at C:\Users\n901495\AppData\Local\Neo4j\Relate\Data\dbmss\dbms-bf1fe9a5-0b9b-4409-9e24-3173f5184587\data\databases
	at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:207) ~[neo4j-4.2.1.jar:4.2.1]
	at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:163) ~[neo4j-4.2.1.jar:4.2.1]
	at com.neo4j.server.enterprise.EnterpriseManagementServiceFactory.createManagementService(EnterpriseManagementServiceFactory.java:38) ~[neo4j-enterprise-4.2.1.jar:4.2.1]
	at com.neo4j.server.enterprise.EnterpriseBootstrapper.createNeo(EnterpriseBootstrapper.java:20) ~[neo4j-enterprise-4.2.1.jar:4.2.1]
	at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:134) [neo4j-4.2.1.jar:4.2.1]
	at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:90) [neo4j-4.2.1.jar:4.2.1]
	at com.neo4j.server.enterprise.EnterpriseEntryPoint.main(EnterpriseEntryPoint.java:25) [neo4j-enterprise-4.2.1.jar:4.2.1]
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.procedure.impl.GlobalProceduresRegistry@1e545821' was successfully initialized, but failed to start. Please see the attached cause exception "Some jar procedure files are invalid, see log for details.".
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:463) ~[neo4j-common-4.2.1.jar:4.2.1]
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:110) ~[neo4j-common-4.2.1.jar:4.2.1]
	at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:198) ~[neo4j-4.2.1.jar:4.2.1]
	... 6 more
Caused by: java.util.zip.ZipException: Some jar procedure files are invalid, see log for details.
	at org.neo4j.procedure.impl.ProcedureJarLoader.loadProceduresFromDir(ProcedureJarLoader.java:79) ~[neo4j-procedure-4.2.1.jar:4.2.1]
	at org.neo4j.procedure.impl.GlobalProceduresRegistry.start(GlobalProceduresRegistry.java:383) ~[neo4j-procedure-4.2.1.jar:4.2.1]
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:442) ~[neo4j-common-4.2.1.jar:4.2.1]
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:110) ~[neo4j-common-4.2.1.jar:4.2.1]
	at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:198) ~[neo4j-4.2.1.jar:4.2.1]
	... 6 more
2021-03-09 13:32:30.924+0000 INFO  Neo4j Server shutdown initiated by request
2021-03-09 13:32:30.924+0000 INFO  Stopped.

This is not the first time I came up with this bug. After trying to migrate the version we use in production from 3.5 to 4.2 we faced the same bug. We just update the settings file neo4j.conf and at most, also install the APOC procedures.

I assume that I don't need to set anything after installing Neo4j Desktop to have it up and running, and if I had to I didn't read it anywhere.

I don't know why this happens but it is infuriating because I just want to create a new database and seed it with data but I can't even start it.

Help

Thanks

EDIT: It seems to be an error with the APOC version. v4.2.0.0 prompts an Exception. If you look closely into the logs you can see the following line:

Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.procedure.impl.GlobalProceduresRegistry@1e545821' was successfully initialized, but failed to start. Please see the attached cause exception "Some jar procedure files are invalid, see log for details.".

I don't know how is this possible. I'm gonna try to use an older APOC version.

Easy fix: Download APOC v.4.2.0.1 that is compatible with Neo4j v4.2.x

To the Neo4j Desktop App devs, please update the linked APOC version to be compatible with the Neo4j version that is being currently used.

Right now, when you download the APOC library from the Neo4j Desktop App it downloads version v4.2.0.0 which is incompatible with Neo4j v4.2.0 and higher.

Looking at the APOC Github, there's a table that shows the compatibility between Neo4j and APOC.

Please to everyone that have been facing this issue, take a look at it first.

@markhneedham Hi Mark, I don't think this is a checksum issue. Please read my answer above

Can you check the checksum of the APOC file against this file - neo4j-apoc-procedures/versions.json at master · neo4j-contrib/neo4j-apoc-procedures · GitHub

If it thinks it's not a proper jar file it sounds like the download might be incomplete.

Yeh, I did see your reply and tested it out on a 4.2.1 database and I see that working with 4.2.0.0 of APOC. See the screenshot below:

Hi Mark, that's weird.

Please, could you try to update the neo4j.conf, say to increase the heap.max_size property and see if the database starts without any error?

That's what was happening to me.

Still seems happy:

Well, I don't know what's happening.

I must say that I'm using a company notebook and it is really capped.

With a fresh install I can't make it work after updating the heap size and installing the APOC library.

But thanks, @markhneedham I will be looking at this see if it keeps happening.

Ok, no worries.

Just so I could see what happens, I renamed the README.txt to README.jar and this is the error message:

So I think something was wrong with the APOC file somehow. If it was a valid JAR file but an incompatible version you would get an exception telling you there's a missing class or something like that.