Description of problem: In the CentOS8 version of this package, the process hangs if a script that performs a dbus_init() calls another script that perfoms a dbus_init() with sudo --preserve-env. On fedora 31, the second process fails with a connection reset by peer. In previous versions (2.x) this succeeds. The problem being that performing an 'import keyring' in two scripts triggers this scenario. I'm uncertain if this a jeepney problem or a secretstorage problem but i'm starting with this package. Version-Release number of selected component (if applicable): python3-secretstorage-3.1.1-2.fc31.noarch python3-jeepney-0.4.2-1.fc31.noarch python3-secretstorage-3.1.1-4.el8.noarch python3-jeepney-0.4.1-1.el8.noarch How reproducible: Steps to Reproduce: 1. Using the scripts from the attached upstream issue 2. run ./a.py 3. Actual results: a main() a launch() a dbus_init() a subprocess b main() b launch() b dbus_init() Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/secretstorage/__init__.py", line 37, in dbus_init connection = connect_and_authenticate() File "/usr/lib/python3.7/site-packages/jeepney/integrate/blocking.py", line 106, in connect_and_authenticate auth_parser.feed(sock.recv(1024)) ConnectionResetError: [Errno 104] Connection reset by peer The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/aschultz/Documents/workspace/misc/secretstorage/b.py", line 9, in launch bus = secretstorage.dbus_init() File "/usr/lib/python3.7/site-packages/secretstorage/__init__.py", line 45, in dbus_init raise SecretServiceNotAvailableException(str(ex)) from ex secretstorage.exceptions.SecretServiceNotAvailableException: [Errno 104] Connection reset by peer During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/aschultz/Documents/workspace/misc/secretstorage/b.py", line 17, in <module> launch() File "/home/aschultz/Documents/workspace/misc/secretstorage/b.py", line 11, in launch raise RuntimeError("Unable to initialize SecretService: %s" % e) RuntimeError: Unable to initialize SecretService: [Errno 104] Connection reset by peer a exception Traceback (most recent call last): File "./a.py", line 28, in <module> launch() File "./a.py", line 20, in launch subprocess.check_call(cmd) File "/usr/lib64/python3.7/subprocess.py", line 363, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['sudo', '--preserve-env', 'python3', '/home/aschultz/Documents/workspace/misc/secretstorage/b.py']' returned non-zero exit status 1. Expected results: The second script should succeed. Additional info:
raising the severity and priority as it's blocking openstack on centos-8
Where is python3-secretstorage-3.1.1-4.el8 from?
It's a rebuild of the fedora package for RDO
Per the issue reported against secretstorage, I've also opened an issue against jeepney.
> It's a rebuild of the fedora package for RDO Oh, I see. Let's continue the discussion upstream and then backport the fix once available either to jeepney or here?
Hi, Jeepney maintainer here. I believe there are two parts to this. 1. Raising an error instead of hanging, which seems to be platform-dependent. My proposed fix for Jeepney is here: https://gitlab.com/takluyver/jeepney/-/merge_requests/13/diffs 2. Correctly handling that error so 'import keyring' doesn't fail. I believe this needs to be fixed in keyring - and it works for me, so maybe it already has been?
Changing the component as we've identified this as an issue with jeepney. There is a proposed patch so we just need to make sure this makes its way in to the packaging once merged & released.
python-jeepney-0.4.3-1.fc32 has been pushed to the Fedora 32 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-25c1929a44
python-jeepney-0.4.3-1.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-3a9aa44de1
python-jeepney-0.4.3-1.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.
python-jeepney-0.4.3-1.fc32 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.