openworm / org.geppetto

Geppetto is an open-source platform to build web-based applications to visualize and simulate neuroscience data and models.
http://geppetto.org
Other
209 stars 50 forks source link

Error in OSB points to bug while closing a project. #509

Closed jrmartin closed 7 years ago

jrmartin commented 8 years ago

[2016-06-17 17:35:40.727] ERROR http-bio-8080-exec-270 org.geppetto.frontend.controllers.ConnectionHandler Error while closing the project org.geppetto.core.common.GeppettoExecutionException: A project without a runtime project cannot be closed at org.geppetto.simulation.manager.GeppettoManager.closeProject(GeppettoManager.java:156) at org.geppetto.frontend.controllers.ConnectionHandler.closeProject(ConnectionHandler.java:1072) at org.geppetto.frontend.controllers.WebsocketConnection.onClose(WebsocketConnection.java:131) at org.apache.catalina.websocket.StreamInbound.doOnClose(StreamInbound.java:226) at org.apache.catalina.websocket.WsOutbound.flush(WsOutbound.java:254) at org.apache.catalina.websocket.WsOutbound.writeTextMessage(WsOutbound.java:218) at org.geppetto.frontend.controllers.ConnectionsManager.purgeLostConnections(ConnectionsManager.java:69) at org.geppetto.frontend.controllers.ConnectionsManager.addConnection(ConnectionsManager.java:52) at org.geppetto.frontend.controllers.WebsocketConnection.onOpen(WebsocketConnection.java:123) at org.apache.catalina.websocket.StreamInbound.onUpgradeComplete(StreamInbound.java:251) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:642) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) [2016-06-17 17:35:40.728] ERROR http-bio-8080-exec-270 org.apache.coyote.http11.Http11Protocol Error reading request, ignored java.lang.NullPointerException: null at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333) at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1175) at org.geppetto.frontend.controllers.ConnectionsManager.removeConnection(ConnectionsManager.java:89) at org.geppetto.frontend.controllers.ConnectionHandler.closeProject(ConnectionHandler.java:1079) at org.geppetto.frontend.controllers.WebsocketConnection.onClose(WebsocketConnection.java:131) at org.apache.catalina.websocket.StreamInbound.doOnClose(StreamInbound.java:226) at org.apache.catalina.websocket.WsOutbound.flush(WsOutbound.java:254) at org.apache.catalina.websocket.WsOutbound.writeTextMessage(WsOutbound.java:218) at org.geppetto.frontend.controllers.ConnectionsManager.purgeLostConnections(ConnectionsManager.java:69) at org.geppetto.frontend.controllers.ConnectionsManager.addConnection(ConnectionsManager.java:52) at org.geppetto.frontend.controllers.WebsocketConnection.onOpen(WebsocketConnection.java:123) at org.apache.catalina.websocket.StreamInbound.onUpgradeComplete(StreamInbound.java:251) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:642) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)

slarson commented 8 years ago

Seems like we could expand this test case to try to simulate this bug. I think @jrmartin had a theory about the case in which this problem could happen that he could try to implement here.

slarson commented 8 years ago

Should be closed in https://github.com/openworm/org.geppetto.persistence/tree/experiments_table_refactoring -- new tests in https://github.com/openworm/org.geppetto.persistence/blob/experiments_table_refactoring/src/test/java/org/geppetto/persistence/db/DBManagerTest.java appear to cover this.