-
-
Notifications
You must be signed in to change notification settings - Fork 541
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
GUI crashes due to Wayland #526
Comments
Thank you @ryanolton for reporting this,
hmm, I'll take a look at those changes. |
@ryanolton could you modify this line in the file opensnitch/ui/opensnitch/dialogs/stats.py Line 550 in fd40feb
by: after this change the GUI does no longer crash on my f34. |
@gustavo-iniguez-goya I have the modified code in place, running via command line now watching for the error messages originally noted. I'll reply back if the issue appears again, or if enough time passes without any issues. Thanks! |
@gustavo-iniguez-goya it seemed to be running well, so I deleted some rules I new would cause a dialog to appear, and after dismissing each dialog, I am seeing the same command line error as before:
This seems directly connected to the prompt dialog being dismissed, is that what you were targeting with your code fix? I also just noticed another error if I open the stats window, delete a rule (such as Firefox port 443), then switch over to Firefox. This causes the stats window to lose focus which causes the GUI to crash with the following error:
I'm not sure this is an Opensnitch issues, seems like a Wayland issue? Is there something I can do to try and help? |
yes, I see that error as well. I guess that all these messages are just warnings. Does it still crash or now is running fine despite the errors logged to the terminal?
nope, it was a different thing. Just after launching the GUI on f34, it crashed on that line. |
On Fedora 34, without the appindicator extension installed, when the GUI was displayed it crashed with the following error: TypeError: index 0 has type 'float' but 'int' is expected. related: #526
On Fedora 34, without the appindicator extension installed, when the GUI was displayed it crashed with the following error: TypeError: index 0 has type 'float' but 'int' is expected. related: #526
It still crashes, unfortunately. I agree that the I'm going to monitor the command line output and see if there is anything else that could point to the issue. |
@gustavo-iniguez-goya I've been monitoring this for a bit now, and on GNOME it will crash reliably with the previously mentioned errors, however KDE does not seem to crash, so I suspect there is simply something incorrect with versions of Qt (or Wayland + Qt) within GNOME. |
Thank you @ryanolton , at least it points me in the right direction. |
I could never see it crash on Wayland with KDE Plasma on Kubuntu 21.04 or 21.10 |
@gustavo-iniguez-goya I decided to debug Wayland a bit and I see this right around the time that the prompt window is shown.
Then I wait for a prompt to appear:
Any idea what "Invalid min/max size" might be referring to? |
no idea, sorry :/ There're several places where the dialogs are resized: opensnitch/ui/opensnitch/dialogs/stats.py Line 524 in c609b09
opensnitch/ui/opensnitch/dialogs/prompt.py Line 110 in c609b09
opensnitch/ui/opensnitch/dialogs/prompt.py Line 351 in c609b09
opensnitch/ui/opensnitch/dialogs/stats.py Line 550 in c609b09
I'd start by placing a print() before and after each of these lines, at least to know where it's crashing. |
I found something relating to the error here: https://gitlab.gnome.org/GNOME/mutter/blob/d714a94d97af8b34721236bb8ca6f0e3fd6dc1c9/src/wayland/meta-wayland-legacy-xdg-shell.c Search this document for "Invalid min/max size", but it looks like perhaps the window geometry is bigger than than max size already set? I see a change here - 83ab1f9 - that seemed to cause the problem. I have tracked it down to this line: opensnitch/ui/opensnitch/dialogs/prompt.py Line 110 in c609b09
When I comment out this line, the UI no longer crashes! So now, I'm curious what the intent is here with this line of code? |
When a command line is too big to fit in the widgets of the pop-ups, sometimes the pop-up dialog is enlarged. The idea was to restore the original size every time it was shown, by getting the original size when the dialog is instantiated:
|
After reviewing the Mutter code above, as well as some additional testing, it seems this is due to either:
If I add a line of code similar to this:
... right before This code addition causes the elements to be oddly sized, so it's clear this is not a perfect solution. For now I have the |
I agree Ryan, thank you for debugging it. What Gnome-Shell and mutter do you have installed? |
@gustavo-iniguez-goya I'm also running Fedora 35, same versions of GNOME Shell and Mutter that you noted. |
if this fixes the problem then we can add it as workaround. It works fine on my machine, I'll test it in some more. |
@gustavo-iniguez-goya I have created a PR (#540) that seems to work better on my local machine. Setting the width and height after initially showing the prompt instead of during |
tested! it indeed fixes a little glitch that I was seeing after use setMinimumSize() Thank you @ryanolton ! :) |
Describe the bug
This issue only happens primarily after a dialog opens and I make a selection and the dialog closes, but always after some time has passed (an hour or two) without any dialogs. If I leave for the day and come back the next morning, the GUI will have crashed overnight. The icon will disappear from Gnome-shell and no more alerts appear.
This appears to be a Wayland-specific issue, and was not present in version v1.4.0-rc.3 and earlier.
Include the following information:
To Reproduce
I have only seen this occur while under Wayland, in both GNOME Shell but also KDE Plasma (both using Wayland with Fedora 34).
Steps to reproduce the behavior:
Post error logs:
This appears and the GUI closes
Again, this only became an issues starting with version v1.4.0-rc.4, and worked fine on v1.4.0-rc.3 and earlier. If I install v1.4.0-rc.3 (both GUI and daemon), it works without issue.
The text was updated successfully, but these errors were encountered: