christgau / wsdd

A Web Service Discovery host daemon.
MIT License
808 stars 97 forks source link

Crash when shutdonw gvfs-wsdd #206

Closed m666m closed 1 month ago

m666m commented 1 month ago

Fedora 40 crash report when shut down:

The problem data are incomplete. This usually happens when a problem is detected while computer is shutting down or user is logging out. In order to provide valuable problem reports, ABRT will not allow you to submit this problem. If you have time and want to help the developers in their effort to sort out this problem, please contact them directly.

backtrace:

tasks.py:677:ensure_future:ValueError: The future belongs to a different loop than the one specified as the loop argument

Traceback (most recent call last): File "/usr/bin/wsdd", line 1967, in main aio_loop.run_forever() File "/usr/lib64/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/lib64/python3.12/asyncio/base_events.py", line 1987, in _run_once handle._run() File "/usr/lib64/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/bin/wsdd", line 1743, in sigterm_handler sys.exit(0) SystemExit: 0

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/bin/wsdd", line 1983, in sys.exit(main()) ^^^^^^ File "/usr/bin/wsdd", line 1973, in main nm.cleanup() File "/usr/bin/wsdd", line 1562, in cleanup super().cleanup() File "/usr/bin/wsdd", line 1391, in cleanup self.teardown() File "/usr/bin/wsdd", line 1375, in teardown self.aio_loop.run_until_complete(asyncio.gather(*self.teardown_tasks)) File "/usr/lib64/python3.12/asyncio/base_events.py", line 666, in run_until_complete future = tasks.ensure_future(future, loop=self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/asyncio/tasks.py", line 677, in ensure_future raise ValueError('The future belongs to a different loop than ' ValueError: The future belongs to a different loop than the one specified as the loop argument

Local variables in innermost frame: coro_or_future: loop: <_UnixSelectorEventLoop running=False closed=False debug=False>

cmdline:/usr/bin/python3 /usr/bin/wsdd --no-host --discovery --listen /run/user/1000/gvfsd/wsdd

christgau commented 1 month ago

I was able to reproduce the error with v0.7.1 which is the version packaged for Fedora 40 (at least pkgs.org tells me so). Although, I tested on an Arch installation. However, v0.8 does not appear to be affected. From the stack you provided, #201 was causing the error you see. But the underlying error has been fixed with 2a004b7

Can you please check if v0.8 fixes the issue on Fedora 40 as well?

ondrejholy commented 1 month ago

The v0.8 version is already in the updates-testing repository , Instructions on how to install it can be found on the corresponding downstream issue: https://bugzilla.redhat.com/show_bug.cgi?id=2265308#c26.

m666m commented 1 month ago

After installing v0.8, this issue was resolved.

I tested the following scenarios:

shutting down, logout and login, switching to the console and switch back to desktop.

no crash report found.

christgau commented 1 month ago

Closing after feedback