2016-03-07 220 views
0

我在帶有RAM的2G的Linux VM中玩弄Structr。我執行了一個查詢並崩潰了系統。嘗試重新啓動平臺失敗,並且嵌入的數據庫有以下錯誤,所以我正在尋找可能發生的提示。structr/neo4j數據庫損壞

 
2016-03-07 05:19:19.235+0000 INFO [org.neo4j]: Recovery required for log with version 0 
2016-03-07 05:19:36.119+0000 ERROR [org.neo4j]: setting TM not OK. Kernel has encountered some problem, please perform necessary action (tx recovery/restart) null 
java.lang.NullPointerException 
     at org.neo4j.index.impl.lucene.IndexType.instantiateField(IndexType.java:318) 
     at org.neo4j.index.impl.lucene.IndexType$1.addToDocument(IndexType.java:63) 
     at org.neo4j.index.impl.lucene.LuceneCommandApplier.visitIndexAddRelationshipCommand(LuceneCommandApplier.java:79) 
     at org.neo4j.kernel.impl.api.LegacyIndexApplier.visitIndexAddRelationshipCommand(LegacyIndexApplier.java:143) 
     at org.neo4j.kernel.impl.api.CommandApplierFacade.visitIndexAddRelationshipCommand(CommandApplierFacade.java:246) 
     at org.neo4j.kernel.impl.index.IndexCommand$AddRelationshipCommand.handle(IndexCommand.java:236) 
     at org.neo4j.kernel.impl.api.CommandApplierFacade.visit(CommandApplierFacade.java:82) 
     at org.neo4j.kernel.impl.api.CommandApplierFacade.visit(CommandApplierFacade.java:45) 
     at org.neo4j.kernel.impl.transaction.log.PhysicalTransactionRepresentation.accept(PhysicalTransactionRepresentation.java:69) 
     at org.neo4j.kernel.impl.api.TransactionRepresentationStoreApplier.apply(TransactionRepresentationStoreApplier.java:111) 
     at org.neo4j.kernel.impl.transaction.state.RecoveryVisitor.visit(RecoveryVisitor.java:70) 
     at org.neo4j.kernel.impl.transaction.state.RecoveryVisitor.visit(RecoveryVisitor.java:36) 
     at org.neo4j.kernel.impl.transaction.log.LogFileRecoverer.visit(LogFileRecoverer.java:54) 
     at org.neo4j.kernel.impl.transaction.log.LogFileRecoverer.visit(LogFileRecoverer.java:32) 
     at org.neo4j.kernel.Recovery.init(Recovery.java:78) 
     at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:502) 
     at org.neo4j.kernel.lifecycle.LifeSupport.init(LifeSupport.java:72) 
     at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:106) 
     at org.neo4j.kernel.NeoStoreDataSource.start(NeoStoreDataSource.java:579) 
     at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:526) 
     at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) 
     at org.neo4j.kernel.impl.transaction.state.DataSourceManager.start(DataSourceManager.java:117) 
     at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:526) 
     at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) 
     at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:330) 
     at org.neo4j.kernel.EmbeddedGraphDatabase.(EmbeddedGraphDatabase.java:59) 
     at org.neo4j.graphdb.factory.GraphDatabaseFactory.newDatabase(GraphDatabaseFactory.java:108) 
     at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:95) 
     at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:185) 
     at org.structr.neo4j.Neo4jDatabaseService.initialize(Neo4jDatabaseService.java:130) 
     at org.structr.core.graph.NodeService.initialize(NodeService.java:115) 
     at org.structr.core.Services.createService(Services.java:550) 
     at org.structr.core.Services.initialize(Services.java:325) 
     at org.structr.core.Services.initialize(Services.java:297) 
     at org.structr.core.Services.getInstance(Services.java:145) 
     at org.structr.Server.main(Server.java:36) 
2016-03-07 05:19:36.300+0000 ERROR [org.neo4j]: Exception occurred while starting the datasource. Attempting to close things down. Component '[email protected]' failed to initialize. Please see attached cause exception. 
org.neo4j.kernel.lifecycle.LifecycleException: Component '[email protected]' failed to initialize. Please see attached cause exception. 
     at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:508) 
     at org.neo4j.kernel.lifecycle.LifeSupport.init(LifeSupport.java:72) 
     at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:106) 
     at org.neo4j.kernel.NeoStoreDataSource.start(NeoStoreDataSource.java:579) 
     at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:526) 
     at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) 
     at org.neo4j.kernel.impl.transaction.state.DataSourceManager.start(DataSourceManager.java:117) 
     at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:526) 
     at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) 
     at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:330) 
     at org.neo4j.kernel.EmbeddedGraphDatabase.(EmbeddedGraphDatabase.java:59) 
     at org.neo4j.graphdb.factory.GraphDatabaseFactory.newDatabase(GraphDatabaseFactory.java:108) 
     at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:95) 
     at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:185) 
     at org.structr.neo4j.Neo4jDatabaseService.initialize(Neo4jDatabaseService.java:130) 
     at org.structr.core.graph.NodeService.initialize(NodeService.java:115) 
     at org.structr.core.Services.createService(Services.java:550) 
     at org.structr.core.Services.initialize(Services.java:325) 
     at org.structr.core.Services.initialize(Services.java:297) 
     at org.structr.core.Services.getInstance(Services.java:145) 
     at org.structr.Server.main(Server.java:36) 
Caused by: java.lang.NullPointerException 
     at org.neo4j.index.impl.lucene.IndexType.instantiateField(IndexType.java:318) 
     at org.neo4j.index.impl.lucene.IndexType$1.addToDocument(IndexType.java:63) 
     at org.neo4j.index.impl.lucene.LuceneCommandApplier.visitIndexAddRelationshipCommand(LuceneCommandApplier.java:79) 
     at org.neo4j.kernel.impl.api.LegacyIndexApplier.visitIndexAddRelationshipCommand(LegacyIndexApplier.java:143) 
     at org.neo4j.kernel.impl.api.CommandApplierFacade.visitIndexAddRelationshipCommand(CommandApplierFacade.java:246) 
     at org.neo4j.kernel.impl.index.IndexCommand$AddRelationshipCommand.handle(IndexCommand.java:236) 
     at org.neo4j.kernel.impl.api.CommandApplierFacade.visit(CommandApplierFacade.java:82) 
     at org.neo4j.kernel.impl.api.CommandApplierFacade.visit(CommandApplierFacade.java:45) 
     at org.neo4j.kernel.impl.transaction.log.PhysicalTransactionRepresentation.accept(PhysicalTransactionRepresentation.java:69) 
     at org.neo5j.kernel.impl.api.TransactionRepresentationStoreApplier.apply(TransactionRepresentationStoreApplier.java:111) 

的structr日誌有這樣的:

 
Mar 07, 2016 12:19:16 AM org.structr.core.Services initialize 
INFO: Starting services 
Mar 07, 2016 12:19:16 AM org.structr.neo4j.Neo4jDatabaseService initialize 
INFO: Relationship cache size set to 10,000 
Mar 07, 2016 12:19:16 AM org.structr.neo4j.Neo4jDatabaseService initialize 
INFO: Node cache size set to 10,000 
Mar 07, 2016 12:19:16 AM org.structr.neo4j.Neo4jDatabaseService initialize 
INFO: Initializing database (./db) ... 
java.lang.RuntimeException: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /usr/local/download/structr/binaries/structr-ui-2.0-SNAPSHOT-201603060822.5403e4/./db 
    at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:334) 
    at org.neo4j.kernel.EmbeddedGraphDatabase.(EmbeddedGraphDatabase.java:59) 
    at org.neo4j.graphdb.factory.GraphDatabaseFactory.newDatabase(GraphDatabaseFactory.java:108) 
    at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:95) 
    at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:185) 
    at org.structr.neo4j.Neo4jDatabaseService.initialize(Neo4jDatabaseService.java:130) 
    at org.structr.core.graph.NodeService.initialize(NodeService.java:115) 
    at org.structr.core.Services.createService(Services.java:550) 
    at org.structr.core.Services.initialize(Services.java:325) 
    at org.structr.core.Services.initialize(Services.java:297) 
    at org.structr.core.Services.getInstance(Services.java:145) 
    at org.structr.Server.main(Server.java:36) 
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component '[email protected]46' was successfully initialized, but failed to start. Please see attached cause exception. 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:532) 
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) 
    at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:330) 
    ... 11 more 
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component '[email protected]' was successfully initialized, but failed to start. Please see attached cause exception. 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:532) 
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) 
    at org.neo4j.kernel.impl.transaction.state.DataSourceManager.start(DataSourceManager.java:117) 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:526) 
    ... 13 more 
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component '[email protected]' failed to initialize. Please see attached cause exception. 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:508) 
    at org.neo4j.kernel.lifecycle.LifeSupport.init(LifeSupport.java:72) 
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:106) 
    at org.neo4j.kernel.NeoStoreDataSource.start(NeoStoreDataSource.java:579) 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:526) 
    ... 16 more 
Caused by: java.lang.NullPointerException 
    at org.neo4j.index.impl.lucene.IndexType.instantiateField(IndexType.java:318) 
    at org.neo4j.index.impl.lucene.IndexType$1.addToDocument(IndexType.java:63) 
    at org.neo4j.index.impl.lucene.LuceneCommandApplier.visitIndexAddRelationshipCommand(LuceneCommandApplier.java:79) 
    at org.neo4j.kernel.impl.api.LegacyIndexApplier.visitIndexAddRelationshipCommand(LegacyIndexApplier.java:143) 
    at org.neo4j.kernel.impl.api.CommandApplierFacade.visitIndexAddRelationshipCommand(CommandApplierFacade.java:246) 
    at org.neo4j.kernel.impl.index.IndexCommand$AddRelationshipCommand.handle(IndexCommand.java:236) 
    at org.neo4j.kernel.impl.api.CommandApplierFacade.visit(CommandApplierFacade.java:82) 
    at org.neo4j.kernel.impl.api.CommandApplierFacade.visit(CommandApplierFacade.java:45) 
    at org.neo4j.kernel.impl.transaction.log.PhysicalTransactionRepresentation.accept(PhysicalTransactionRepresentation.java:69) 
    at org.neo4j.kernel.impl.api.TransactionRepresentationStoreApplier.apply(TransactionRepresentationStoreApplier.java:111) 
    at org.neo4j.kernel.impl.transaction.state.RecoveryVisitor.visit(RecoveryVisitor.java:70) 
    at org.neo4j.kernel.impl.transaction.state.RecoveryVisitor.visit(RecoveryVisitor.java:36) 
    at org.neo4j.kernel.impl.transaction.log.LogFileRecoverer.visit(LogFileRecoverer.java:54) 
    at org.neo4j.kernel.impl.transaction.log.LogFileRecoverer.visit(LogFileRecoverer.java:32) 
    at org.neo4j.kernel.Recovery.init(Recovery.java:78) 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:502) 
    ... 20 more 
Mar 07, 2016 12:19:36 AM org.structr.core.Services createService 
SEVERE: Vital service NodeService failed to start: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /usr/local/download/structr/binaries/structr-ui-2.0-SNAPSHOT-201603060822.5403e4/./db. Aborting 

這是我所得到的,當我嘗試使用2.2.8 Neo4j的社區計劃啓動分貝。在這兩種情況下,它在某種'空指針'上失敗。

 
Starting Neo4j Server console-mode... 
Using additional JVM arguments: -server -XX:+DisableExplicitGC -Dorg.neo4j.server.properties=conf/neo4j-server.properties -Djava.util.logging.config.file=conf/logging.properties -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:-OmitStackTraceInFastThrow -XX:hashCode=5 -Dneo4j.ext.udc.source=tarball 
2016-03-07 13:18:44.618+0000 INFO [API] Setting startup timeout to: 120000ms based on 120000 
Detected incorrectly shut down database, performing recovery.. 
2016-03-07 13:19:01.274+0000 INFO [API] Successfully shutdown Neo4j Server. 
2016-03-07 13:19:01.275+0000 ERROR [API] Failed to start Neo Server on port [7474] 
org.neo4j.server.ServerStartupException: Starting Neo4j Server failed: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /usr/local/download/structr/binaries/structr-ui-2.0-SNAPSHOT-201603060822.5403e4/db 
    at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:258) ~[neo4j-server-2.2.8.jar:2.2.8] 
    at org.neo4j.server.Bootstrapper.start(Bootstrapper.java:117) [neo4j-server-2.2.8.jar:2.2.8] 
    at org.neo4j.server.Bootstrapper.main(Bootstrapper.java:69) [neo4j-server-2.2.8.jar:2.2.8] 
Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /usr/local/download/structr/binaries/structr-ui-2.0-SNAPSHOT-201603060822.5403e4/db 
    at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:334) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.EmbeddedGraphDatabase.(EmbeddedGraphDatabase.java:59) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.recovery.StoreRecoverer.recover(StoreRecoverer.java:96) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.server.preflight.PerformRecoveryIfNecessary.run(PerformRecoveryIfNecessary.java:65) ~[neo4j-server-2.2.8.jar:2.2.8] 
    at org.neo4j.server.preflight.PreFlightTasks.run(PreFlightTasks.java:71) ~[neo4j-server-2.2.8.jar:2.2.8] 
    at org.neo4j.server.AbstractNeoServer.runPreflightTasks(AbstractNeoServer.java:399) ~[neo4j-server-2.2.8.jar:2.2.8] 
    at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:195) ~[neo4j-server-2.2.8.jar:2.2.8] 
    ... 2 common frames omitted 
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component '[email protected]78' was successfully initialized, but failed to start. Please see attached cause exception. 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:532) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:330) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    ... 8 common frames omitted 
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component '[email protected]' was successfully initialized, but failed to start. Please see attached cause exception. 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:532) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.transaction.state.DataSourceManager.start(DataSourceManager.java:117) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:526) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    ... 10 common frames omitted 
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component '[email protected]' failed to initialize. Please see attached cause exception. 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:508) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.lifecycle.LifeSupport.init(LifeSupport.java:72) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:106) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.NeoStoreDataSource.start(NeoStoreDataSource.java:579) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:526) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    ... 13 common frames omitted 
Caused by: java.lang.NullPointerException: null 
    at org.neo4j.index.impl.lucene.IndexType.instantiateField(IndexType.java:318) ~[neo4j-lucene-index-2.2.8.jar:2.2.8] 
    at org.neo4j.index.impl.lucene.IndexType$1.addToDocument(IndexType.java:63) ~[neo4j-lucene-index-2.2.8.jar:2.2.8] 
    at org.neo4j.index.impl.lucene.LuceneCommandApplier.visitIndexAddRelationshipCommand(LuceneCommandApplier.java:79) ~[neo4j-lucene-index-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.api.LegacyIndexApplier.visitIndexAddRelationshipCommand(LegacyIndexApplier.java:143) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.api.CommandApplierFacade.visitIndexAddRelationshipCommand(CommandApplierFacade.java:246) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.index.IndexCommand$AddRelationshipCommand.handle(IndexCommand.java:236) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.api.CommandApplierFacade.visit(CommandApplierFacade.java:82) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.api.CommandApplierFacade.visit(CommandApplierFacade.java:45) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.transaction.log.PhysicalTransactionRepresentation.accept(PhysicalTransactionRepresentation.java:69) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.api.TransactionRepresentationStoreApplier.apply(TransactionRepresentationStoreApplier.java:111) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.transaction.state.RecoveryVisitor.visit(RecoveryVisitor.java:70) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.transaction.state.RecoveryVisitor.visit(RecoveryVisitor.java:36) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.transaction.log.LogFileRecoverer.visit(LogFileRecoverer.java:54) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.impl.transaction.log.LogFileRecoverer.visit(LogFileRecoverer.java:32) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.Recovery.init(Recovery.java:78) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:502) ~[neo4j-kernel-2.2.8.jar:2.2.8] 
    ... 17 common frames omitted 
+0

你能嘗試啓動這個數據庫與Neo4j的服務器?只需下載Neo4j 2.2.8並更改'org.neo4j.server.database.location'指向'structr/db'文件夾。 –

+0

我已將此嘗試的結果附加到此問題的結尾。 –

+0

從我可以看到它在嵌入式和下載社區版本中都打出空指針。 –

回答

2

的根本原因是Structr嘗試索引一個對象,其toString()方法返回null。由於在Lucene和Neo4j中都沒有這種對象的過濾器,所以會導致數據庫崩潰和無法恢復的數據庫存儲。

,我們會盡快提供Structr修復越好,我提交給美國Neo4j的一個問題:https://github.com/neo4j/neo4j/issues/6685