-
Notifications
You must be signed in to change notification settings - Fork 37
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
powerdevil kde restarting endlessly #365
Comments
This issue is pretty widespread :( |
Backtrace from https://bugs.kde.org/show_bug.cgi?id=480030
|
I also experience this issue, it's pretty serious in my opinion. Downgraded to earlier version temporarily, but I hope this gets resolved ASAP. |
My powerdevil is also restarting in a loop. I found sample_clients/clmain.c that reproduces the problem on my system. I have no idea how to ./configure to compile the samples. Anyway, I prepared myself the following script:
Then I started bisecting:
And continued drinking my sour beer. After a few back-and-forth fixes and cycles with the bisecting, I found this guy to blame: 3808a0ad55cb2315ca3c53c42e58b0049939fb5f is the first bad commit No wonder - it just introduces Just blindly checking out master and removing the assertion makes the sample execute successfully for me. So is the assertion needed there? It is hard to analyze the call flow. edit Just moving the assertion just a few lines below makes it not fire anymore:
It looks like Bottom line, so I think, the assertion just shouldn't be there. With that in mind, I'll create a pull request. |
It seems that arch has released an update ddcutil-2.1.0-2 that solved this problem |
Well, yea, -DNDEBUG is the ultimate solution. https://gitlab.archlinux.org/archlinux/packaging/packages/ddcutil/-/blob/main/PKGBUILD?ref_type=heads#L25 |
Commit 7f157f6 in branch 2.1.1-dev is the proper solution to the asserti(sys_drm_connectors) failure. PowerDevil uses the libddcutil API in an unexpected way, and because of a bug in libddcutil initialization, sys_drm_connectors was not being set. A more detailed explanation can be found in the commit message. |
All that does is disable assertions entirely, which you don't really want to do long-term, heh. As rockowitz mentioned, 2.1.1-dev fixes the actual issue which is an uninitialized sys_drm_connectors because of how PowerDevil uses the API. |
Thanks. This would also mean that starting from Plasma 6.0 RC1, which explicitly calls |
I have pulled the code from the powerdevil master branch. Unfortunately, I don't have the KDE infrastructure to build it. What I can say is that I earlier saw the PowerDevil crash problem when booted in Fedora 39. and could recreate it in gdb. With libddcutil built from the current ddcutil 5.1.1-dev branch, the assert() failure did not occur. |
I really didn't go into detail about how this was solved, but it seems that now a commit named "Fix crashes in powerdevil properly" solves the problem as it should |
It's taking rockowitz' patch and applying it to the existing codebase, so yeah, this one actually fixes it correctly :) |
When upgrading to ddcutil-2.1.0-1 in arch I get powerdevil kde restarting endlessly. After rollback to ddcutil-2.0.0-1 via cache and pacman everything works fine. Why is this happening?
error message
The text was updated successfully, but these errors were encountered: