Add patched pyzmq debian package
This change patches zmq GarbageCollector to use zmq.Context() from eventlet.green instead of default zmq.Context(). It was identified that sysinv-agent process was hanged. It was blocked on zmq garbage collector recv() call. Replacing the Garbage Collector to use the green Context solves the issue. Test Plan: PASS: Build package with build-pkgs -p pyzmq PASS: Build ISO PASS: Install on lab, configure ACC100, backup system PASS: Reinstall and restore system, then host-unlock Closes-Bug: 2060867 Change-Id: I229a8a4c70ebb4d7056fa2ff60bfc910bf12b257 Signed-off-by: Alyson Deives Pereira <alyson.deivespereira@windriver.com>
This commit is contained in:
parent
103fba5aee
commit
d98e4cd9d0
@ -372,6 +372,9 @@ python3-setuptools
|
|||||||
#python3.9
|
#python3.9
|
||||||
python3.9
|
python3.9
|
||||||
|
|
||||||
|
#pyzmq
|
||||||
|
python3-zmq
|
||||||
|
|
||||||
#openscap
|
#openscap
|
||||||
libopenscap25
|
libopenscap25
|
||||||
openscap-common
|
openscap-common
|
||||||
|
@ -96,6 +96,7 @@ python/dh-python
|
|||||||
python/python-nss
|
python/python-nss
|
||||||
python/python3-nsenter
|
python/python3-nsenter
|
||||||
python/python3-setuptools
|
python/python3-setuptools
|
||||||
|
python/python3-zmq
|
||||||
python/python3.9
|
python/python3.9
|
||||||
python/zerorpc-python
|
python/zerorpc-python
|
||||||
security/efitools
|
security/efitools
|
||||||
|
7
python/python3-zmq/debian/meta_data.yaml
Normal file
7
python/python3-zmq/debian/meta_data.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
debname: pyzmq
|
||||||
|
debver: 20.0.0-1
|
||||||
|
archive: https://snapshot.debian.org/archive/debian/20240410T144822Z/pool/main/p/pyzmq/
|
||||||
|
revision:
|
||||||
|
dist: $STX_DIST
|
||||||
|
PKG_GITREVCOUNT: true
|
@ -0,0 +1,53 @@
|
|||||||
|
From b24e217033d40fd675f1a386e566665b8439266e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alyson Deives Pereira <alyson.deivespereira@windriver.com>
|
||||||
|
Date: Wed, 10 Apr 2024 15:06:46 -0300
|
||||||
|
Subject: [PATCH] Use green zmq.Context from eventlet if it has been
|
||||||
|
monkey-patched
|
||||||
|
|
||||||
|
Make GarbageCollector aware of eventlet and verify it the Thread module
|
||||||
|
has been monkey-patched by eventlet. If that is the case, use zmq
|
||||||
|
.Context() from eventlet.green module.
|
||||||
|
|
||||||
|
Signed-off-by: Alyson Deives Pereira <alyson.deivespereira@windriver.com>
|
||||||
|
---
|
||||||
|
docs/requirements.txt | 1 +
|
||||||
|
zmq/utils/garbage.py | 6 +++++-
|
||||||
|
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/docs/requirements.txt b/docs/requirements.txt
|
||||||
|
index dfc9278..e30cd02 100644
|
||||||
|
--- a/docs/requirements.txt
|
||||||
|
+++ b/docs/requirements.txt
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
cython>=0.29
|
||||||
|
+eventlet
|
||||||
|
gevent
|
||||||
|
pygments==2.4.2
|
||||||
|
sphinx>=3.0.4
|
||||||
|
diff --git a/zmq/utils/garbage.py b/zmq/utils/garbage.py
|
||||||
|
index d96bbd9..bb6b1ce 100644
|
||||||
|
--- a/zmq/utils/garbage.py
|
||||||
|
+++ b/zmq/utils/garbage.py
|
||||||
|
@@ -11,7 +11,7 @@ import struct
|
||||||
|
|
||||||
|
from os import getpid
|
||||||
|
from collections import namedtuple
|
||||||
|
-from threading import Thread, Event, Lock
|
||||||
|
+from threading import Thread, Event, Lock, current_thread
|
||||||
|
import warnings
|
||||||
|
|
||||||
|
import zmq
|
||||||
|
@@ -95,6 +95,10 @@ class GarbageCollector(object):
|
||||||
|
# gevent has monkey-patched Thread, use green Context
|
||||||
|
from zmq import green
|
||||||
|
self._context = green.Context()
|
||||||
|
+ elif current_thread.__module__.startswith('eventlet'):
|
||||||
|
+ # eventlet has monkey-patched Thread, use green Context
|
||||||
|
+ from eventlet.green import zmq
|
||||||
|
+ self._context = zmq.Context()
|
||||||
|
else:
|
||||||
|
self._context = zmq.Context()
|
||||||
|
return self._context
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
1
python/python3-zmq/debian/patches/series
Normal file
1
python/python3-zmq/debian/patches/series
Normal file
@ -0,0 +1 @@
|
|||||||
|
0001-Use-green-zmq.Context-from-eventlet-if-it-has-been-m.patch
|
Loading…
Reference in New Issue
Block a user