Neo4j failed to start under Docker: "Already closed exception"

222 views
Skip to first unread message

Alan Robertson

unread,
Sep 1, 2016, 1:11:37 PM9/1/16
to Neo4J
Hi,

I've been having trouble with getting Neo4j to start in a docker image. This image was produced by a Dockerfile which built my software and installed and ran Neo4j and my tests without any issues. But when I try and start the resulting image, Neo4j declines to start for mysterious reasons. The logs from trying to start it are below:

NEO4J_CONF=/etc/neo4j /usr/share/neo4j/bin/neo4j console
Starting Neo4j.
2016-09-01 16:53:40.342+0000 INFO  Starting...
2016-09-01 16:53:40.613+0000 INFO  Bolt enabled on localhost:7687.
2016-09-01 16:53:43.864+0000 ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1377f3c' was successfully initialized, but failed to start. Please see attached cause exception. Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1377f3c' was successfully initialized, but failed to start. Please see attached cause exception.
org.neo4j.server.ServerStartupException: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1377f3c' was successfully initialized, but failed to start. Please see attached cause exception.
        at org.neo4j.server.exception.ServerStartupErrors.translateToServerStartupError(ServerStartupErrors.java:68)
        at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:217)
        at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:90)
        at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:67)
        at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:28)
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1377f3c' was successfully initialized, but failed to start. Please see attached cause exception.
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:444)
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:107)
        at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:189)
        ... 3 more                                                                                                                                                                                                            
Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.impl.factory.CommunityFacadeFactory, /var/lib/neo4j/data/databases/graph.db                                                                            
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:144)                                                                                                            
        at org.neo4j.kernel.impl.factory.CommunityFacadeFactory.newFacade(CommunityFacadeFactory.java:40)                                                                                                                     
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:108)                                                                                                            
        at org.neo4j.server.CommunityNeoServer.lambda$static$0(CommunityNeoServer.java:55)                                                                                                                                    
        at org.neo4j.server.database.LifecycleManagingDatabase.start(LifecycleManagingDatabase.java:89)                                                                                                                       
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:434)
        ... 5 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.recovery.Recovery@5ddaeea7' failed to initialize. Please see attached cause exception.
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:416)
        at org.neo4j.kernel.lifecycle.LifeSupport.init(LifeSupport.java:62)
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:98)
        at org.neo4j.kernel.NeoStoreDataSource.start(NeoStoreDataSource.java:511)
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:434)
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:107)
        at org.neo4j.kernel.impl.transaction.state.DataSourceManager.start(DataSourceManager.java:99)
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:434)
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:107)
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:140)
        ... 10 more
Caused by: org.apache.lucene.store.AlreadyClosedException: this IndexReader is closed
        at org.apache.lucene.index.IndexReader.ensureOpen(IndexReader.java:274)
        at org.apache.lucene.index.CompositeReader.getContext(CompositeReader.java:101)
        at org.apache.lucene.index.CompositeReader.getContext(CompositeReader.java:55)
        at org.apache.lucene.index.IndexReader.leaves(IndexReader.java:438)
        at org.apache.lucene.index.MultiFields.getFields(MultiFields.java:63)
        at org.apache.lucene.index.MultiFields.getTerms(MultiFields.java:120)
        at org.apache.lucene.search.IndexSearcher.collectionStatistics(IndexSearcher.java:964)
        at org.apache.lucene.search.TermQuery$TermWeight.<init>(TermQuery.java:65)
        at org.apache.lucene.search.TermQuery.createWeight(TermQuery.java:198)
        at org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:904)
        at org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:887)
        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:535)
        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:744)
        at org.apache.lucene.search.IndexSearcher.searchAfter(IndexSearcher.java:460)
        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:489)
        at org.neo4j.index.impl.lucene.legacy.LuceneDataSource.findDocument(LuceneDataSource.java:436)
        at org.neo4j.index.impl.lucene.legacy.CommitContext.getDocument(CommitContext.java:71)
        at org.neo4j.index.impl.lucene.legacy.LuceneCommandApplier.visitIndexAddCommand(LuceneCommandApplier.java:88)
        at org.neo4j.index.impl.lucene.legacy.LuceneCommandApplier.visitIndexAddNodeCommand(LuceneCommandApplier.java:62)
        at org.neo4j.kernel.impl.api.LegacyIndexTransactionApplier.visitIndexAddNodeCommand(LegacyIndexTransactionApplier.java:166)
        at org.neo4j.kernel.impl.index.IndexCommand$AddNodeCommand.handle(IndexCommand.java:233)
        at org.neo4j.kernel.impl.api.TransactionApplierFacade.visit(TransactionApplierFacade.java:61)
        at org.neo4j.kernel.impl.api.TransactionApplierFacade.visit(TransactionApplierFacade.java:35)
        at org.neo4j.kernel.impl.transaction.log.PhysicalTransactionRepresentation.accept(PhysicalTransactionRepresentation.java:69)
        at org.neo4j.kernel.impl.api.TransactionToApply.accept(TransactionToApply.java:108)
        at org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine.apply(RecordStorageEngine.java:341)
        at org.neo4j.kernel.impl.transaction.state.RecoveryVisitor.applyQueue(RecoveryVisitor.java:87)
        at org.neo4j.kernel.impl.api.TransactionQueue.empty(TransactionQueue.java:67)
        at org.neo4j.kernel.impl.transaction.state.RecoveryVisitor.close(RecoveryVisitor.java:93)
        at org.neo4j.kernel.impl.transaction.log.LogFileRecoverer.visit(LogFileRecoverer.java:80)
        at org.neo4j.kernel.impl.transaction.log.LogFileRecoverer.visit(LogFileRecoverer.java:30)
        at org.neo4j.kernel.recovery.Recovery.init(Recovery.java:86)
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:406)



--

Alan Robertson / CTO
Al...@AssimilationSystems.com / +1 303.947.7999

Assimilation Systems Limited
http://AssimilationSystems.com

Twitter Linkedin skype

Alan Robertson

unread,
Sep 22, 2016, 5:40:00 PM9/22/16
to ne...@googlegroups.com
It looks like this is some kind of bug related to Docker and apparmor. Disabling apparmor makes it go away...
--
You received this message because you are subscribed to the Google Groups "Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Alan Robertson

unread,
Sep 22, 2016, 5:47:34 PM9/22/16
to ne...@googlegroups.com
Wrong. I didn't test what I thought I did - it's still broken - Sigh...

For some reason I didn't have the initial failure messages in the logs below - but here are some additional messages.

[o.n.k.i.s.f.RecordFormatSelector] Selected RecordFormat:StandardV3_0[v0.A.7] record format from store /var/lib/neo4j/data/databases/graph.db
[o.n.k.i.s.f.RecordFormatSelector] Format not configured. Selected format from the store: RecordFormat:StandardV3_0[v0.A.7]
[o.n.k.NeoStoreDataSource] Recovery required from position LogPosition{logVersion=0, byteOffset=362783}
ERROR [o.n.k.i.DatabaseHealth] Database panic: Database has encountered some problem, please perform necessary action (tx recovery/restart) this IndexReader is closed

Alan Robertson

unread,
Sep 22, 2016, 5:56:02 PM9/22/16
to ne...@googlegroups.com, Michael Hunger
But I know how to work around it for my particular case...

    Remove all the files under /var/lib/neo4j/data/databases/graph.db (!)

That seems a little extreme... But I didn't need that data for my particular circumstance - so it works for me.

Presumably someone else will run into circumstances where they will need their data...

    -- Alan

Lüdicke, Benjamin

unread,
Sep 27, 2016, 8:18:13 PM9/27/16
to ne...@googlegroups.com

Ja ist klar. Wird alles über Weihnachten verbraten.

--

You received this message because you are subscribed to the Google Groups "Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

  Banner SmartfactsInnovator jetzt kostenfrei downloaden

Reply all
Reply to author
Forward
0 new messages