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 phoshbelow.
Package: phosh Status: install ok installed Priority: optional Section: x11 Installed-Size: 1400 Maintainer: PureOS Maintainers <email@example.com> 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
I did a compilation of logs from 'journalctl -b 0' journalctl.log