My software is messing with the Window Manager and triggers crash and/or freeze of GUI
What problem did you encounter
My software triggers some crash and/or freeze of GUI (Phosh ? Phoc? something else ?)
What is triggering the crash/freezes : my software is trying to move the main transparent window outside of the screen again and again, with an other info window (when mouse is over an icon)
Sometimes, the GUI is freezing, probably due to the spamming of Update_info_position() with gtk_* calls inside
I put a printf in my configure callback for the main window : Callback_on_configure()
And a printf in a repositionning of the info window : Update_info_position()
The majority of times it end up like this :
Update_info_position()
updates-warner: Fatal IO error 11 (Ressource temporairement non disponible) on X server :0.
where my software is killed and the GUI is left intact
But sometimes, the GUI is also killed and reset to the authentication screen, sometime it does not even reset and keep just a black screen
Sometimes gdk_screen_is_composited() returns false (if I remember after a GUI crash and reset)
How to reproduce
Sadly, I don't have an easy way of triggering this
Last time I crashed it, it took 45 seconds and didnt reset to the authentication screen just no GUI anymore, while doing things on SSH still active
I was "lucky" because it can takes minutes and multiple attempts before it crashes
EDIT : I deleted the unpractical way of reproducing, I will provide the result of my tests (see comments)
Which version did you encounter the bug in?
-
I used the precompiled Debian package (e.g. by running a prebuilt image). Please paste the output oof dpkg -s phosh
below.
Package: phosh
Status: install ok installed
Priority: optional
Section: x11
Installed-Size: 1400
Maintainer: PureOS Maintainers <pureos-project@puri.sm>
Architecture: amd64
Version: 0.8.0-1pureos0
Provides: notification-daemon, polkit-1-auth-agent
Depends: dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.17), libcairo2 (>= 1.2.4), libfeedback-0.0-0 (>= 0.0.0+git20200305), libgcr-base-3-1 (>= 3.8.0), libgcr-ui-3-1 (>= 3.8.0), libgdk-pixbuf-2.0-0 (>= 2.23.0), libglib2.0-0 (>= 2.59.2), libgnome-desktop-3-19 (>= 3.17.92), libgtk-3-0 (>= 3.21.5), libhandy-1-0 (>= 1.0.2), libnm0 (>= 1.0.0), libpam0g (>= 0.99.7.1), libpango-1.0-0 (>= 1.37.2), libpolkit-agent-1-0 (>= 0.99), libpolkit-gobject-1-0 (>= 0.94), libpulse-mainloop-glib0 (>= 0.99.1), libpulse0 (>= 0.99.1), libsecret-1-0 (>= 0.7), libsystemd0 (>= 217), libupower-glib3 (>= 0.99.4-3~), libwayland-client0 (>= 1.9.91), fonts-lato, gnome-shell-common, gsettings-desktop-schemas, phoc (>= 0.4.4)
Recommends: feedbackd, gnome-session-bin, gnome-session-common, gnome-settings-daemon, iio-sensor-proxy, phosh-mobile-tweaks, squeekboard | phosh-osk-stub
Description: Pure Wayland shell for mobile devices
Phosh is a graphical shell for Wayland compositors speaking the layer-surface
protocol and aimed at mobile devices like smart phones and tablets using touch
based inputs and small screens.
.
It's part of the Phosh Mobile Environment based on GNOME/GTK. For the full
stack see the phosh-full and phosh-core metapackages.
Homepage: https://source.puri.sm/Librem5/phosh
What hardware are you running phosh on?
-
amd64 qemu image
I'm using the librem5.qcow2 (PureOS 10.0 byzantium) in kvm
I compile with gcc (Debian 10.2.1-6) 10.2.1 20210110 (provided by PureOs)
I did 'apt update && apt upgrade && reboot' and did trigger multiples crashes just before validating this report
Releveant logfiles
I did a compilation of logs from 'journalctl -b 0' journalctl.log