• Recent
    • Tags
    • Popular
    • Register
    • Login

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    Dashboard refresh speed?

    Dashboard Designer & Custom AngularJS Pages
    3
    21
    5.7k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Jared WiltshireJ
      Jared Wiltshire
      last edited by Jared Wiltshire

      Any errors in your browsers console? (Open the Chrome debugger)

      How do you know the data source is updating correctly? Can you see the point value continue to change on the Data Point Details page for example?

      Developer at Radix IoT

      1 Reply Last reply Reply Quote 0
      • BGB
        BG
        last edited by Jared Wiltshire

        Hello Jared,
        Thank you for getting back to me. I can see the data points update while viewing the watchlist. The timestamp and values are changing every 60 seconds.

        In the chrome developer tools / console, I reloaded the page and got a lot of these messages:
        (247 actually)

        [Violation] Added non-passive event listener to a scroll-blocking <some> event. Consider marking event handler as 'passive' to make the page more responsive. See <URL>
        mangoUi~ngMango~ngMangoServices.js?v=0f03d20f7b30b4a597f9:39 [Violation] Added non-passive event listener to a scroll-blocking 'touchmove' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
        

        Let me know if you need me to try something else.

        Cheers

        Brian

        1 Reply Last reply Reply Quote 0
        • BGB
          BG
          last edited by Jared Wiltshire

          Hello,
          I have set up the permissions so that a user with only viewing permissions can see the template in the hopes that I may get a better idea of the problem here. With the new user logged in I actually get no errors on the chrome debugger for the dashboard page.

          I do still see the system stop updating the readings after a few minutes.

          Checking the ma.log file I see the following error message each time when the updates stop:

          ERROR 2018-12-06T13:19:25,087 (org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.tryCloseWithError:90) - Closing session due to exception for JettyWebSocketSession[id=62d19e47-0c62-2360-e522-c454977e1207, uri=ws://redacted:8080/rest/v1/websocket/point-value] 
          java.lang.IllegalStateException: WebSocketHandler not found for JettyWebSocketSession[id=62d19e47-0c62-2360-e522-c454977e1207, uri=ws://redacted:8080/rest/v1/websocket/point-value]
          	at org.springframework.web.socket.handler.PerConnectionWebSocketHandler.getHandler(PerConnectionWebSocketHandler.java:113) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
          	at org.springframework.web.socket.handler.PerConnectionWebSocketHandler.handleTransportError(PerConnectionWebSocketHandler.java:91) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
          	at org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleTransportError(WebSocketHandlerDecorator.java:80) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
          	at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleTransportError(LoggingWebSocketHandlerDecorator.java:64) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
          	at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.handleTransportError(ExceptionWebSocketHandlerDecorator.java:68) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
          	at org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.onWebSocketError(JettyWebSocketHandlerAdapter.java:131) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
          	at sun.reflect.GeneratedMethodAccessor1039.invoke(Unknown Source) ~[?:?]
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_161]
          	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_161]
          	at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(CallableMethod.java:71) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMethod.call(OptionalSessionCallableMethod.java:72) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onError(JettyAnnotatedEventDriver.java:157) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingError(AbstractEventDriver.java:96) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.websocket.common.WebSocketSession.incomingError(WebSocketSession.java:460) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.websocket.common.WebSocketSession.notifyError(WebSocketSession.java:521) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:573) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:391) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
          	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
          

          This looks like a java problem, but I may be wrong. Do I need to upgrade my java version?
          Your Linux installation page says JDK 1.8 is required but not the build number.

          Cheers

          Brian

          1 Reply Last reply Reply Quote 0
          • BGB
            BG
            last edited by

            I am also seeing this in the threads:
            0_1544107712294_threads.png

            Cheers

            Brian

            1 Reply Last reply Reply Quote 0
            • Jared WiltshireJ
              Jared Wiltshire
              last edited by

              OK that's interesting, can you download the thread dump and post it for me when you see the blocked thread again (I'm assuming you might have restarted Mango to clear it).

              @bg said in Dashboard refresh speed?:

              Do I need to upgrade my java version?
              Your Linux installation page says JDK 1.8 is required but not the build number.

              Its unlikely that this is related to your Java version. We do no recommend any particular build number, the latest is usually advisable.

              Developer at Radix IoT

              1 Reply Last reply Reply Quote 0
              • BGB
                BG
                last edited by

                Hello Jared,
                I will send the thread dump as requested. It was taken immediately after a Mango restart.

                I don't know if it is relevant but when I said I could see the virtual points update in the watchlist, I was referring to watchlist.shtm. I have also had a look at ui/watchlist and saw something strange there, the chart along the bottom continues to update but the list above the chart stops updating.

                Here is a screen shot of what I mean:

                0_1544115198345_UI Watch list.png

                Cheers

                Brian

                1 Reply Last reply Reply Quote 0
                • Jared WiltshireJ
                  Jared Wiltshire
                  last edited by

                  OK thanks for the additional details, that makes sense. The old watchlist page does not use websockets, the chart on the new watchlist page also does not. The table does.

                  Developer at Radix IoT

                  1 Reply Last reply Reply Quote 0
                  • BGB
                    BG
                    last edited by BG

                    Hello Jared,
                    The length of time before the web sockets close seems to be random. I have seen the updates stop as soon as 2 minutes after logging in and as long as 7 minutes after logging in.

                    Is there any way to prevent the web sockets closing? Maybe a setting in a file that can be saved in overrides? I don't see anything in the env.properties file that would solve this.

                    Cheers

                    Brian

                    1 Reply Last reply Reply Quote 0
                    • Jared WiltshireJ
                      Jared Wiltshire
                      last edited by

                      @BG we are still looking into it. Could you also send your env.properties file from overrides (reply to the same support email where you sent the thread dump). I want to check a couple of setttings. Also include the type of processor you are using and how many CPU cores.

                      Developer at Radix IoT

                      1 Reply Last reply Reply Quote 0
                      • terrypackerT
                        terrypacker
                        last edited by

                        Brian,

                        You could try adding this line to the classes/log4j2.xml file to enlighten us as to why/when they are closing. There is a debug log message anytime a point value web socket is closed explaining why.

                        In the <Loggers> ... </Loggers> section add this logger:

                        <AsyncLogger includeLocation="true" name="com.serotonin.m2m2.web.mvc.rest.v1.websockets.pointValue" level="debug"/>
                        

                        You will need to either reload the log4j configuration from the system setting page or restart Mango for the changes to take effect.

                        1 Reply Last reply Reply Quote 0
                        • BGB
                          BG
                          last edited by

                          Hello Jared,
                          Thank you. I have sent the details as requested. I have also followed Terry's advice and edited the line. I have also put the edited log4j2.xml file in the overrides/classes folder.

                          Cheers

                          Brian

                          1 Reply Last reply Reply Quote 0
                          • terrypackerT
                            terrypacker
                            last edited by

                            Brian,

                            Please Post/Send some of the DEBUG log messages generated when the websocket stops updating the page.

                            In terms of settings you can change, the defaults in your env properties seem fine:

                            # Ping timeout for response from browser
                            web.websocket.pingTimeoutMs=10000
                            #Time socket can be idle before being closed (ms)
                            web.socketIdleTimeout=70000
                            

                            Basically the socket will ping/pong back and forth every 10s so that the 70s idle timeout is never hit. However if the ping/pong messages are lost the connection may be closed. That information should come out in the DEBUG messages.

                            1 Reply Last reply Reply Quote 0
                            • BGB
                              BG
                              last edited by phildunlap

                              Hello Terry,
                              Thank you for your reply. I won't send the entire ma.log for today since it is 157 pages long, Unless you rally wan it of course. :)

                              There are a lot of logged events from my template creations and normal run of the mill log entries.

                              I did look through though and found the following items that may help:

                              2 occasions of:
                              (com.serotonin.m2m2.web.mvc.rest.v1.websockets.pointValue.PointValueWebSocketHandler.afterConnectionClosed:72) - Websocket connection closed, status code: 1006, reason: WebSocket Read EOF

                              28 occasions of:
                              (com.serotonin.m2m2.web.mvc.rest.v1.websockets.pointValue.PointValueWebSocketHandler.afterConnectionClosed:72) - Websocket connection closed, status code: 4500, reason: Didn't receive Pong from Endpoint within 10000 ms.

                              17 ocasions of:
                              (com.serotonin.m2m2.web.mvc.rest.v1.websockets.pointValue.PointValueWebSocketHandler.afterConnectionClosed:72) - Websocket connection closed, status code: 1001, reason: null

                              1 occasion of this after the Mango restart this morning:

                              ERROR 2018-12-12T09:18:00,593 error.tryCloseWithError:90) - Closing session due to exception for JettyWebSocketSession[id=26978505-c5f1-2ae3-3372-ec1cdbe0b184, uri=ws://redacted.extension:8080/rest/v1/websocket/events] 
                              java.lang.IllegalStateException: WebSocketHandler not found for JettyWebSocketSession[id=26978505-c5f1-2ae3-3372-ec1cdbe0b184, uri=ws://redacted.extension:8080/rest/v1/websocket/events]
                              	at org.springframework.web.socket.handler.PerConnectionWebSocketHandler.getHandler(PerConnectionWebSocketHandler.java:113) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                              	at org.springframework.web.socket.handler.PerConnectionWebSocketHandler.handleTransportError(PerConnectionWebSocketHandler.java:91) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                              	at org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleTransportError(WebSocketHandlerDecorator.java:80) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                              	at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleTransportError(LoggingWebSocketHandlerDecorator.java:64) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                              	at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.handleTransportError(ExceptionWebSocketHandlerDecorator.java:68) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                              	at org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.onWebSocketError(JettyWebSocketHandlerAdapter.java:131) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                              	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
                              	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_161]
                              	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_161]
                              	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_161]
                              	at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(CallableMethod.java:71) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMethod.call(OptionalSessionCallableMethod.java:72) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onError(JettyAnnotatedEventDriver.java:157) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingError(AbstractEventDriver.java:96) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.websocket.common.WebSocketSession.incomingError(WebSocketSession.java:460) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.websocket.common.WebSocketSession.notifyError(WebSocketSession.java:521) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:573) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:391) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                              	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
                              

                              These were the ones i found searching through the log for: closed or error.
                              Please let me know if you want more information or if you need me to search through the logs for specific strings.

                              Cheers

                              Brian

                              Edited by Phil for host scrubbing and formatting triple backticks, ```

                              1 Reply Last reply Reply Quote 0
                              • BGB
                                BG
                                last edited by BG

                                Hello Terry,
                                I also just wanted to add that since I have been working from home tonight on my templates, I have not seen the dashboards stop updating.

                                Cheers

                                Brian

                                1 Reply Last reply Reply Quote 0
                                • terrypackerT
                                  terrypacker
                                  last edited by

                                  Thanks Brian,

                                  It looks like the ping/pong failure is the problem. The other messages are expected during normal operation.

                                  FYI on the status code meanings:

                                  Status Code 1001 (Going Away) - This is normal behavior when a page is navigated away from
                                  Status Code 1006 (No Close Frame) - Connection was terminated in an unclean way, it appears the socket was broken.

                                  I find it odd that 10s is not long enough to send/receive the messages so I'm thinking you have a network with packet loss. If you can I would suggest pinging the Mango server to see if that is correct. If not then perhaps increasing the env.properties value of

                                  web.websocket.pingTimeoutMs
                                  

                                  will help.

                                  1 Reply Last reply Reply Quote 0
                                  • BGB
                                    BG
                                    last edited by

                                    Hello Terry,
                                    Thank you (and your team) for looking into this. Your explanation makes sense now. Our office is on an industrial estate that has a fairly dodgy broadband connection and my home broadband is fine. The packet loss will explain why I am seeing this issue at work. I don't often work on this from home but am making a push to get our Mango 3 implemented.

                                    I will do some ping tests from home and from work to confirm that is the problem. and make the recommended changes to the timeouts.

                                    Again, thank you.
                                    Cheers

                                    Brian

                                    p.s. I wish you all a Merry Christmas.

                                    1 Reply Last reply Reply Quote 0
                                    • BGB
                                      BG
                                      last edited by

                                      Hello Terry,
                                      Unfortunately that has not solved my problem. I have checked the ping and packet loss on our broadband here at work and while it shows some delays there is not packet loss between my desktop and the Mango 3 server.

                                      I have increased the timeout to 30 seconds but am still seeing the page stop updating after a few minutes.

                                      I can't roll this out to our customers until I am sure the connection to the Mango server is reliable and robust.

                                      Any other suggestion would be greatly appreciated.

                                      Cheers

                                      Brian

                                      1 Reply Last reply Reply Quote 0
                                      • BGB
                                        BG
                                        last edited by

                                        Here is the last log entry at the time of the last disconnect we had:

                                        //
                                        ```DEBUG 2018-12-13T15:23:14,983 (com.serotonin.m2m2.web.mvc.rest.v1.websockets.pointValue.PointValueWebSocketHandler.afterConnectionClosed:72) - Websocket connection closed, status code: 4500, reason: Didn't receive Pong from Endpoint within 30000 ms. 
                                        ERROR 2018-12-13T15:23:15,063 (org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.tryCloseWithError:90) - Closing session due to exception for JettyWebSocketSession[id=28f6a996-f2fd-ee33-ddea-d87d7d51f60e, uri=ws://dataloggersonline.uk:8080/rest/v1/websocket/point-value] 
                                        java.lang.IllegalStateException: WebSocketHandler not found for JettyWebSocketSession[id=28f6a996-f2fd-ee33-ddea-d87d7d51f60e, uri=ws://dataloggersonline.uk:8080/rest/v1/websocket/point-value]
                                        	at org.springframework.web.socket.handler.PerConnectionWebSocketHandler.getHandler(PerConnectionWebSocketHandler.java:113) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                                        	at org.springframework.web.socket.handler.PerConnectionWebSocketHandler.handleTransportError(PerConnectionWebSocketHandler.java:91) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                                        	at org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleTransportError(WebSocketHandlerDecorator.java:80) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                                        	at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleTransportError(LoggingWebSocketHandlerDecorator.java:64) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                                        	at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.handleTransportError(ExceptionWebSocketHandlerDecorator.java:68) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                                        	at org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.onWebSocketError(JettyWebSocketHandlerAdapter.java:131) ~[spring-websocket-5.0.10.RELEASE.jar:5.0.10.RELEASE]
                                        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
                                        	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_161]
                                        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_161]
                                        	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_161]
                                        	at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(CallableMethod.java:71) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMethod.call(OptionalSessionCallableMethod.java:72) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onError(JettyAnnotatedEventDriver.java:157) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingError(AbstractEventDriver.java:96) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.websocket.common.WebSocketSession.incomingError(WebSocketSession.java:460) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.websocket.common.WebSocketSession.notifyError(WebSocketSession.java:521) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:573) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:391) ~[websocket-common-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
                                        	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
                                        1 Reply Last reply Reply Quote 0
                                        • BGB
                                          BG
                                          last edited by BG

                                          Hello Terry,
                                          I think I finally found the culprit. Our anti-virus is causing the drop outs. I turned it off and have run now for 30 minutes with no connection issues.

                                          I am sorry to have bugged you guys about it but thank you for your help and patience.

                                          Cheers

                                          Brian

                                          1 Reply Last reply Reply Quote 0
                                          • terrypackerT
                                            terrypacker
                                            last edited by terrypacker

                                            Brian,

                                            I replicated the closing of a websocket due to the ping/pong timeout and found that my system handles it gracefully without throwing that java.lang.IllegalStateException. The page stops updating but no errors are produced and I get the same log message about "Didn't receive Pong from Endpoint within..." I replicated this by making the Mango server delay to read the pong message.

                                            I'm wondering if your browser isn't sending the pong message... (This should happen automatically by most every browser and isn't something you need to code into your page)

                                            For yet more information on the connection failure you can add this to your log4j2.xml file

                                            <AsyncLogger includeLocation="true" name="org.eclipse.jetty.websocket.common.io" level="debug"/>
                                            

                                            Ah Ok I just got you latest post while drafting this. I'm posting it anyway since I put a little time into it and it could be helpful to someone else in the future.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post