Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-5436

ZK doesn't remove a desktop after not receiving pong from a browser for a ping interval


    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Blocker Blocker
    • None
    • 9.6.3
    • None
    • None

      Steps to Reproduce

      1. enable WebSocket
      2. configure a desktop init, cleanup listener like the attached one
      3. visit any zul to create a desktop
      4. open chrome developer tool > Network tab > throttling, set "offline"
      5. reload the current page, chrome will show "No internet" (leave the zk page to simulate not-sending rmDesktop)
      6. wait for 30s, dump server heap with visualvm, check Desktop object

      Current Result

      • one desktop still exists
      • DesktopCleanup.cleanup() is not called

      Expected Result

      the desktop is removed after a ping interval timeout

      Debug Information

      • when you change to offline, zk calls WebSocketEndPoint.close() and cancel _pingIntervalSchedule
      • this bug simulates the case that a browser doesn't send rmDesktop for any reason

            jumperchen jumperchen
            hawk hawk
            0 Vote for this issue
            2 Start watching this issue