diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-03-28 18:13:17 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-03-28 18:13:17 +0000 |
| commit | 5c2e8b0dbdfde27f6def9ee5585c6611860d93da (patch) | |
| tree | 65eba61d6c6648ab27e4f09f3c2c47bea5cf19ba /dev-python/sshtunnel | |
| parent | d96489883573aa2e8ac36d1957b2515f322d5c9b (diff) | |
| download | srcux-5c2e8b0dbdfde27f6def9ee5585c6611860d93da.tar.gz srcux-5c2e8b0dbdfde27f6def9ee5585c6611860d93da.tar.xz srcux-5c2e8b0dbdfde27f6def9ee5585c6611860d93da.zip | |
Adding metadata
Diffstat (limited to 'dev-python/sshtunnel')
| -rw-r--r-- | dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch | 38 | ||||
| -rw-r--r-- | dev-python/sshtunnel/sshtunnel-0.4.0.ebuild | 20 |
2 files changed, 56 insertions, 2 deletions
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 <parona@protonmail.com> +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 <parona@protonmail.com> +--- 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 + diff --git a/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild b/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild index da7e904151a1..3710ee8b88db 100644 --- a/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild +++ b/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild @@ -4,6 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools +EPYTEST_XDIST=1 PYTHON_COMPAT=( python3_{9,10,11,12,13} ) inherit distutils-r1 pypi @@ -14,6 +15,21 @@ LICENSE="MIT" SLOT="0" KEYWORDS="amd64 ~arm ~arm64 x86" -RESTRICT="test" - RDEPEND="dev-python/paramiko[${PYTHON_USEDEP}]" +BDEPEND=" + test? ( + dev-python/paramiko[server(+),${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}"/sshtunnel-0.4.0-dont-deadlock-tests.patch +) + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # network-sandbox + tests/test_forwarder.py::SSHClientTest::test_gateway_ip_unresolvable_raises_exception +) |
