Uploaded image for project: 'Corda'
  1. CORDA-2586

Not handle exception when Explorer tries to connect to inaccessible server

    Details

    • Type: Bug
    • Status: Done (View workflow)
    • Priority: Lowest
    • Resolution: Done
    • Affects versions: Corda 4 RC04
    • Fix versions: Corda 4.1
    • Components: None
    • Labels:
      None
    • Affected OS:
      MacOS
    • Severity:
      Low
    • Target Version/s:
    • Feature Team:
      Operational Experience
    • Sprint:

      Description

      I try to connect to a Corda node where RPC port is behind firewall. Explorer fails, as expected, but the error message is badly handled expectation (see below). Ideally, the error message would suggest possible problems. At the moment I can thing about 2:

      • RPC is not configured in Corda Node or is not properly configured
      • RPC port is behind a firewall

      Error message I can see:

      net.corda.client.rpc.RPCException: Cannot connect to server(s). Tried with all available servers.
      	at net.corda.client.rpc.internal.RPCClientProxyHandler.start(RPCClientProxyHandler.kt:218)
      	at net.corda.client.rpc.internal.RPCClient$start$1.invoke(RPCClient.kt:93)
      	at net.corda.client.rpc.internal.RPCClient$start$1.invoke(RPCClient.kt:32)
      	at net.corda.core.internal.InternalUtils.logElapsedTime(InternalUtils.kt:193)
      	at net.corda.core.internal.InternalUtils.logElapsedTime(InternalUtils.kt:183)
      	at net.corda.client.rpc.internal.RPCClient.start(RPCClient.kt:72)
      	at net.corda.client.rpc.CordaRPCClient.start(CordaRPCClient.kt:392)
      	at net.corda.client.rpc.CordaRPCClient.start(CordaRPCClient.kt:375)
      	at net.corda.client.rpc.CordaRPCClient.start(CordaRPCClient.kt:344)
      	at net.corda.client.jfx.model.NodeMonitorModel.establishConnectionWithRetry(NodeMonitorModel.kt:202)
      	at net.corda.client.jfx.model.NodeMonitorModel.performRpcReconnect(NodeMonitorModel.kt:160)
      	at net.corda.client.jfx.model.NodeMonitorModel.register(NodeMonitorModel.kt:138)
      	at net.corda.explorer.views.LoginView.login(LoginView.kt:32)
      	at net.corda.explorer.views.LoginView$login$$inlined$apply$lambda$1.call(LoginView.kt:45)
      	at net.corda.explorer.views.LoginView$login$$inlined$apply$lambda$1.call(LoginView.kt:13)
      	at javafx.scene.control.Dialog.impl_setResultAndClose(Dialog.java:1026)
      	at javafx.scene.control.DialogPane.lambda$createButton$599(DialogPane.java:777)
      	at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
      	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
      	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
      	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
      	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
      	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
      	at javafx.event.Event.fireEvent(Event.java:198)
      	at javafx.scene.Node.fireEvent(Node.java:8411)
      	at javafx.scene.control.Button.fire(Button.java:185)
      	at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
      	at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
      	at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
      	at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
      	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
      	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
      	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
      	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
      	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
      	at javafx.event.Event.fireEvent(Event.java:198)
      	at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
      	at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
      	at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
      	at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
      	at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
      	at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
      	at com.sun.glass.ui.View.notifyMouse(View.java:937)
      	at com.sun.glass.ui.mac.MacApplication._enterNestedEventLoopImpl(Native Method)
      	at com.sun.glass.ui.mac.MacApplication._enterNestedEventLoop(MacApplication.java:109)
      	at com.sun.glass.ui.Application.enterNestedEventLoop(Application.java:511)
      	at com.sun.glass.ui.EventLoop.enter(EventLoop.java:107)
      	at com.sun.javafx.tk.quantum.QuantumToolkit.enterNestedEventLoop(QuantumToolkit.java:590)
      	at javafx.stage.Stage.showAndWait(Stage.java:474)
      	at javafx.scene.control.HeavyweightDialog.showAndWait(HeavyweightDialog.java:162)
      	at javafx.scene.control.Dialog.showAndWait(Dialog.java:341)
      	at net.corda.explorer.views.LoginView.login(LoginView.kt:75)
      	at net.corda.explorer.Main.start(Main.kt:72)
      	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$161(LauncherImpl.java:863)
      	at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$174(PlatformImpl.java:326)
      	at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
      	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
      Caused by: ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ119007: Cannot connect to server(s). Tried with all available servers.]
      	at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:797)
      	at net.corda.client.rpc.internal.RPCClientProxyHandler.start(RPCClientProxyHandler.kt:216)
      	... 81 more

        Attachments

          Activity

            People

            • Assignee:
              stefan.iliev Stefan Iliev
              Reporter:
              wawrzek.n Wawrzek NiewodniczaƄski
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: