From 5c2e8b0dbdfde27f6def9ee5585c6611860d93da Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Fri, 28 Mar 2025 18:13:17 +0000 Subject: Adding metadata --- .../sshtunnel-0.4.0-dont-deadlock-tests.patch | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch (limited to 'dev-python/sshtunnel/files') diff --git a/dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch b/dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch new file mode 100644 index 000000000000..1e5b06ac49b6 --- /dev/null +++ b/dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch @@ -0,0 +1,38 @@ +From 96a056fb37684496c0495a831f8fd11b48ef01a9 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate +Date: Sat, 22 Feb 2025 12:40:58 +0200 +Subject: [PATCH] Try to remove defunct threads from running_threads just in + case + +On Gentoo it was decided to remove server functionality from +paramiko leading to the ssh-server to be dead before it could be +properly removed from running_threads. This would lead to a hang where +memory footprint of the process would grow with repeated "thread +ssh-server now stopped" messages inevitably leading to an OOM condition. + +So try to remove defunct threads from running_threads after the fact to +stop this problem from coming back and let it fail normally. + +Bug: https://github.com/pahaz/sshtunnel/issues/153 +Bug: https://bugs.gentoo.org/666619 +Bug: https://bugs.gentoo.org/683774 +Signed-off-by: Alfred Wingate +--- a/tests/test_forwarder.py ++++ b/tests/test_forwarder.py +@@ -251,6 +251,13 @@ class SSHClientTest(unittest.TestCase): + who='tearDown') + if not x.is_alive(): + self.log.info('thread {0} now stopped'.format(thread)) ++ # Try to remove thread running_threads just in case ++ # the thread is dead but hasn't been properly removed. ++ # https://github.com/pahaz/sshtunnel/issues/153 ++ try: ++ self.running_threads.remove(thread) ++ except ValueError: ++ pass + + for attr in ['server', 'tc', 'ts', 'socks', 'ssockl', 'esockl']: + if hasattr(self, attr): +-- +2.49.0 + -- cgit v1.3