[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 583: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 639: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4516: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3262)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4516: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3262)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4516: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3262)
Gephi forums •Neo4j database full import not working - empty warning mess
Page 1 of 2

Neo4j database full import not working - empty warning mess

Posted: 09 Jul 2014 16:24
by lionbark
Hi, I'm having some difficulty in importing a Neo4j database into Gephi using the Neo4j plugin: when I go to File > Neo4j Database > Full Import and try to import a database, I get a popup with an empty warning message. I have also tried a Traversal Import, but after selecting the database, no windows pop up.

I've tried a sample database with a reference node that points to another node, and also the example Movies/Actors database that comes included with Neo4j.

I am using Neo4j 2.1.2 and Gephi 0.8.2. Any help would be much appreciated!

Re: Neo4j database full import not working - empty warning m

Posted: 10 Jul 2014 16:13
by lionbark
Hi Holger, thanks for the reply. I tried closing the neo4j server, then importing the two dbs again but it's the same issue unfortunately.

Re: Neo4j database full import not working - empty warning m

Posted: 28 Jul 2014 00:52
by claudio_alvarez
Hi guys,

Any news on this topic?
I am experiencing the same disgusting issue with Neo4j 2.1.2, plugin version 2.1.0,
Gepphi version:

Product Version: Gephi 0.8.2 201210100934
Updates: Updates available
Java: 1.7.0_55; OpenJDK 64-Bit Server VM 24.51-b03
System: Linux version 3.13.0-24-generic running on amd64; UTF-8; en_US (gephi)
User directory: /home/**********/.gephi/0.8.2/dev
Cache directory: /home/**********/.gephi/0.8.2/dev/var/cache

I will appreciate any pointers on how to see the exception raised by the Neo4j plugin.

Re: Neo4j database full import not working - empty warning m

Posted: 28 Jul 2014 23:18
by romans
I have the same problem with a database created with 2.1.0 or 2.1.2 (same with both versions) on a windows as well as on a linux machine.

I get just an empty error window on "full import" and no message on traversal.

Is there any restrictions on how the database should look like?

I managed to save one of these exaples (les miserables) to neo4j and reload it though.

Some kind of error message would be great...

Linux Machine:
Produktversion: Gephi 0.8.2 201210100934
Java: 1.7.0_60; Java HotSpot(TM) 64-Bit Server VM 24.60-b09
System: Linux Version 3.13.0-30-generic wird auf amd64 ausgeführt; UTF-8; de_DE (gephi)

Re: Neo4j database full import not working - empty warning m

Posted: 29 Jul 2014 01:57
by romans
I forked the plugin git and looked at the source.

It seems that exceptions get eaten on connect - very very very very very ugly. Still typical Java programmers behaviour...

I did the following to Neo4jVisualDebugger:

Code: Select all

@@ -189,6 +189,13 @@ public class Neo4jMenuAction extends CallableSystemAction {
         Collection<Class> inUseExceptions = Arrays.<Class>asList(Neo4jStoreAlreadyInUseException.class,StoreLockException.class);
         if (inUseExceptions.contains(e.getClass()) || inUseExceptions.contains(e.getCause().getClass()))
             errorMessage = NbBundle.getMessage(Neo4jMenuAction.class, "CTL_Neo4j_DatabaseStorageAlreadyInUse");
+        else
+        {
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            PrintWriter pw = new PrintWriter(sw);
+            e.printStackTrace(pw);
+            errorMessage =  sw.toString(); // stack trace as a string
+        }
 
         NotifyDescriptor notifyDescriptor = new NotifyDescriptor.Message(errorMessage, JOptionPane.WARNING_MESSAGE);
         DialogDisplayer.getDefault().notify(notifyDescriptor);
So now I see what is actually happening and I get the following stack trace:

Code: Select all

java.lang.RuntimeException: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /home/roman/Dropbox/Crawler/temp-neo-test
	at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:339)
	at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:66)
	at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:92)
	at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:198)
	at org.gephi.desktop.neo4j.ui.util.Neo4jUtils.localDatabase(Neo4jUtils.java:43)
	at org.gephi.desktop.neo4j.Neo4jMenuAction$FullImportMenuAction.actionPerformed(Neo4jMenuAction.java:236)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	at java.awt.Component.processMouseEvent(Component.java:6516)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
	at java.awt.Component.processEvent(Component.java:6281)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4872)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:694)
	at java.awt.EventQueue$3.run(EventQueue.java:692)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:708)
	at java.awt.EventQueue$4.run(EventQueue.java:706)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:158)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.impl.transaction.XaDataSourceManager@16253994' was successfully initialized, but failed to start. Please see attached cause exception.
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:513)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115)
	at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:316)
	... 44 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource@4d2c47e9' was successfully initialized, but failed to start. Please see attached cause exception.
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:513)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115)
	at org.neo4j.kernel.impl.transaction.XaDataSourceManager.start(XaDataSourceManager.java:164)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:507)
	... 46 more
Caused by: org.neo4j.kernel.impl.storemigration.StoreUpgrader$UnexpectedUpgradingStoreVersionException: 'neostore' has a store version number that we cannot upgrade from. Expected 'NeoStore v0.A.1' but file is version 'NeoStore v0.A.3'.
	at org.neo4j.kernel.impl.storemigration.UpgradableDatabase.checkUpgradeable(UpgradableDatabase.java:70)
	at org.neo4j.kernel.impl.storemigration.StoreUpgrader.attemptUpgrade(StoreUpgrader.java:72)
	at org.neo4j.kernel.impl.nioneo.store.StoreFactory.tryToUpgradeStores(StoreFactory.java:147)
	at org.neo4j.kernel.impl.nioneo.store.StoreFactory.newNeoStore(StoreFactory.java:121)
	at org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource.start(NeoStoreXaDataSource.java:327)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:507)
	... 49 more
The interresting line here is:
Expected 'NeoStore v0.A.1' but file is version 'NeoStore v0.A.3'.

https://github.com/gephi/gephi-plugins/issues/40 seems to report maybe the same issue. I have to get some sleep now but I'll have a look at it tomorrow.

What has to be fixed one way or the other is the plugin's eating exceptions. This should not be happening.

Re: Neo4j database full import not working - empty warning m

Posted: 29 Jul 2014 02:10
by romans

Re: Neo4j database full import not working - empty warning m

Posted: 29 Jul 2014 05:17
by hbruch
Currently, there are a number of open issues, some of them closely related:
  • Eaten exceptions (might be caused by locked neo4jstore or neo4j version >2.1.0), (#44, fixed with pull request #45)
  • NotInTransactionException for TraversalImport (#40, fixed with pull request)
  • Missing support for current neo4j 2.1.2 (fixed with pull request #48)
  • Finally, Node Labels (introduced with Neo4j2) are not yet supported, neither their import (#46, fixed with pull request #47), nor using them as import filter (I'm currently working on it)
I hope, they will be merged in near future, otherwise I might provide a temporarilly patch version for the compiled plugin.

Best regards,
Holger