I went through the code with @hypothetical-lemon and the patches do appear to fix the issue; with the previous code they were adding new messages into a deque without any throttling, but now they are using a different queue class that, while it still uses deques internally, returns a future object for any queued message. The throttling is then implemented in the websocket's read queue, which delays reading more bytes from the actual low-level socket until after the future object completes. This should restrict the queue in the tornado websocket class to no more than 1 queued message.
Additionally, as this has always been a completely theoretical "problem" (even the upstream bug was entirely theoretical, with nobody involved reproducing the problem), we have no clear and easy reproducer. However, all the package's test cases passed, indicating no regression due to the patches. Thus, marking this as verified. ** Tags removed: verification-needed verification-needed-bionic verification-needed-xenial ** Tags added: verification-done verification-done-bionic verification-done-xenial -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1903733 Title: Out of memory issue for websocket client To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/python-tornado/+bug/1903733/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs