-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Work around deadlock when calling xbmc.executebuildin(Reboot) #211
Conversation
Why not calliing |
That is exactly called. Or do I miss something?
oe.execute() is the currently used function all over the code. If this is replaced in the future all appearances can be replaced by the then preferred call. |
My Raspberry PI 4 usually won't restart using the LE Settings Addons manual update mechanism. I tested this PR as described here, using service.libreelec.settings_wo_bluetooth-9.80-20210105.zip. This PR seems to fix the issue for me. All 4 of 4 update attempts with this LE Settings version worked flawless and the pi booted after image was downloaded. Thanks @mglae ! |
Same for me with Intel x86. |
@mglae is it possible to do this without the |
e7a82d8
to
5a63da8
Compare
Done. |
I tested the new version using |
To partial repeat comment 1: this is not sufficient to fix the hang on reboot. It still occur when using dbus-python in bluetooth.py. |
Calling xbmc.executebuildin('Reboot') from Settings addon result in deadlock in libdbus python callback.
Use
/usr/bin/systemctl --no-block reboot
instead.Backtrace: http://ix.io/2KYC Debug log: http://ix.io/2KYD
For the tests a minimal not functional version of the bluetooth.py module was used to avoid the typical hang on exit because of using dbus-python (deleting bluetooth.py is possible too).
Note: calling xbmc.executebuildin('Reboot') from an addon not using dbus i.e. script.hello.world.reboot-matrix.zip is still possible.