View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004638 | SymmetricDS Pro | Bug | public | 2020-11-13 21:10 | 2021-01-11 13:48 |
Reporter | elong | Assigned To | elong | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.12.6 | ||||
Target Version | 3.12.6 | Fixed in Version | 3.12.6 | ||
Summary | 0004638: Nodes panel allows attempt to control non-existent node engine | ||||
Description | The nodes panel can get a NPE when selecting a node that does not have an associated engine running. If the node is from another tier, the panel mistakenly enables the control menu even though the node's engine is not available. If group links are missing for the node, it is incorrectly considered to be on another tier, leading to same problem. 2020-11-13 15:23:21,591 ERROR [gui] [AppUI] [qtp153443333-25] null java.lang.NullPointerException at com.jumpmind.symmetric.console.ui.screen.manage.NodesPanel.menuSelected(NodesPanel.java:1134) at com.vaadin.ui.MenuBar.changeVariables(MenuBar.java:210) at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:625) at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:471) at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:414) at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274) at com.vaadin.server.communication.PushHandler.lambda$new$1(PushHandler.java:148) at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:248) at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:534) at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87) at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77) at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:225) at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:114) at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:67) at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2297) at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:594) at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:345) at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101) at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:340) at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:448) at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:272) at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:269) at org.eclipse.jetty.websocket.jsr356.messages.TextWholeMessage.messageComplete(TextWholeMessage.java:59) at org.eclipse.jetty.websocket.jsr356.endpoints.JsrEndpointEventDriver.onTextFrame(JsrEndpointEventDriver.java:227) at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:152) at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:326) at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextIncomingFrame(AbstractExtension.java:148) at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.nextIncomingFrame(PerMessageDeflateExtension.java:113) at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.forwardIncoming(CompressExtension.java:168) at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.incomingFrame(PerMessageDeflateExtension.java:92) at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:202) at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:225) at org.eclipse.jetty.websocket.common.Parser.parseSingleFrame(Parser.java:259) at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:459) at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:440) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) at java.lang.Thread.run(Thread.java:748) | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2020-11-13 21:10 | elong | New Issue | |
2020-11-13 21:10 | elong | Status | new => assigned |
2020-11-13 21:10 | elong | Assigned To | => elong |
2020-11-13 21:16 | elong | Status | assigned => resolved |
2020-11-13 21:16 | elong | Resolution | open => fixed |
2020-11-13 21:16 | elong | Fixed in Version | => 3.12.6 |
2021-01-11 13:48 | admin | Status | resolved => closed |