Open gnosek opened 1 year ago
Hi there! Thanks for the report! This sounds similar to #310. Could you please check the items I listed in this comment?
Any news on this one? Else I'll close this as I cannot reproduce this on my end.
Different user here, but yes I have exactly the same problem. If I open the Settings menu and just leave it running (or use it, makes no difference) it crashes out after about 30 seconds. The rest of Fly-Pie works beautifully so and I have zero problems. So there is something that the settings menu is just not happy with. I'm running Ubuntu 22.04 on good/fast but relatively old hardware.
Not sure what diagnostic info I could give you, but more than happy to help if you like. Just shout.
I've also started encountering this error (Ubuntu 22.04) but only when opening the configuration screen - it crashes then turns off gnome extensions.
I don't really know enough about any of this to be truly helpful though
a whole bunch of these, but unsure if related:
Nov 02 14:55:28 xxxx gjs[311253]: gtk_tree_model_filter_real_unref_node: assertion 'elt->ref_count > 0' failed
Then this just before the crash:
Nov 02 14:55:41 xxxx org.gnome.Shell.Extensions[311253]: ***MEMORY-ERROR***: org.gnome.Shell.Extensions[311253]: GSlice: assertion failed: sinfo->n_allocated > 0
and a bunch of these, not sure if related:
Nov 02 14:55:57 xxxx gnome-shell[6939]: clutter_actor_remove_child: assertion 'child->priv->parent == self' failed
Nov 02 14:55:57 xxxx gnome-shell[6939]: clutter_actor_insert_child_above: assertion 'child->priv->parent == NULL' failed
The only thing which happens asynchronously in the settings dialog is the loading of the icons in the icon selector. So one possible source could be your icon theme. Are you using a custom icon theme? Here are a few things you could try:
Thanks for the response. My system is:
Thanks for adding your info here. Could maybe you test the things I mentioned in the comment above?
Well, I am afraid that I am more or less out of ideas here. Random crashes like this which I cannot reproduce are very hard to debug. Maybe one of you could add some debug prints to the code in order to get an idea where it crashes. If this is related to the icon loading (which is my only guess so far), you could add some utils.debug("Hello!")
prints to this method and see whether everything goes smoothly. Such prints will show up in journalctl -f -o cat
.
Instructions on how to compile Fly-Pie from source, are here: https://github.com/Schneegans/Fly-Pie/blob/main/docs/installation.md#c-cloning-the-latest-version-with-git
Make sure to checkout the gnome-3.36-44
branch.
Ok, I added utils.debug("Hello!")
to the file /src/prefs/IconSelectDialog.js in async _loadIcons()
. Then I compiled and log out. In journalctl I get:
Otwarcie preferencji rozszerzenia „flypie@schneegans.github.com” się nie powiodło: Przekroczono czas oczekiwania
Error creating proxy: Błąd podczas wywoływania metody StartServiceByName dla org.gtk.vfs.UDisks2VolumeMonitor: Przekroczono czas oczekiwania (g-io-error-quark, 24)
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:113:15] Hello!
[system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service' requested by ':1.143754' (uid=1000 pid=236664 comm="/usr/bin/gjs /usr/share/gnome-shell/org.gnome.Shel")
Starting Hostname Service...
[system] Successfully activated service 'org.freedesktop.hostname1'
Started Hostname Service.
GtkImage 0x556227f422f0 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x556227f42480 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x556228267480 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x556228267610 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285a9600 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285a9790 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285a9920 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285a9ab0 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285a9c40 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285a9dd0 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285cb160 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285cb2f0 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285cb480 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285cb610 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285cb7a0 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285cb930 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285cbac0 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x5562285cbc50 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x55622867c7a0 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x55622867c930 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x55622867cac0 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x55622867cc50 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x55622867cde0 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x55622867cf70 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x55622869e160 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
GtkImage 0x55622869e2f0 reported baselines of minimum -2147483648 and natural -2147483648, but sizes of minimum 16 and natural 16. Baselines must be inside the widget size.
Failed to measure available space: Błąd podczas pobierania informacji o systemie plików dla /home/lfura/magazyn_ZU_lfura: Urządzenie jest wyłączone
Failed to measure available space: Błąd podczas pobierania informacji o systemie plików dla /home/lfura/magazyn_ZU_lfura: Urządzenie jest wyłączone
Failed to measure available space: Błąd podczas pobierania informacji o systemie plików dla /home/lfura/magazyn_ZU_lfura: Urządzenie jest wyłączone
Failed to measure available space: Błąd podczas pobierania informacji o systemie plików dla /home/lfura/magazyn_ZU_lfura: Urządzenie jest wyłączone
Failed to measure available space: Błąd podczas pobierania informacji o systemie plików dla /home/lfura/magazyn_ZU_lfura: Urządzenie jest wyłączone
Failed to measure available space: Błąd podczas pobierania informacji o systemie plików dla /home/lfura/magazyn_ZU_lfura: Urządzenie jest wyłączone
Failed to measure available space: Błąd podczas pobierania informacji o systemie plików dla /home/lfura/magazyn_ZU_lfura: Urządzenie jest wyłączone
***MEMORY-ERROR***: org.gnome.Shell.Extensions[236664]: GSlice: assertion failed: sinfo->n_allocated > 0
Window manager warning: last_focus_time (23798981) is greater than comparison timestamp (23798896). This most likely represents a buggy client sending inaccurate timestamps in messages such as _NET_ACTIVE_WINDOW. Trying to work around...
Window manager warning: last_user_time (23798981) is greater than comparison timestamp (23798896). This most likely represents a buggy client sending inaccurate timestamps in messages such as _NET_ACTIVE_WINDOW. Trying to work around...
Window manager warning: W7 appears to be one of the offending windows with a timestamp of 23798981. Working around...
Can't update stage views actor <dashtodockContainer>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashToDock>:0x55c001e754c0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashSlideContainer>:0x55c001e41e60] is on because it needs an allocation.
Can't update stage views actor <dashtodockBox>[<StBoxLayout>:0x55c001e93e90] is on because it needs an allocation.
Can't update stage views actor <dash>[<Gjs_ubuntu-dock_ubuntu_com_dash_DockDash>:0x55c001e78270] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StWidget>:0x55c001e90ba0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<ClutterActor>:0x55c0006adc20] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashContainer>[<StBoxLayout>:0x55c001e786f0] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashScrollview>[<StScrollView>:0x55c001e78bc0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StBoxLayout>:0x55c001e7f060] is on because it needs an allocation.
Can't update stage views actor <dashtodockContainer>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashToDock>:0x55c001e754c0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashSlideContainer>:0x55c001e41e60] is on because it needs an allocation.
Can't update stage views actor <dashtodockBox>[<StBoxLayout>:0x55c001e93e90] is on because it needs an allocation.
Can't update stage views actor <dash>[<Gjs_ubuntu-dock_ubuntu_com_dash_DockDash>:0x55c001e78270] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StWidget>:0x55c001e90ba0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<ClutterActor>:0x55c0006adc20] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashContainer>[<StBoxLayout>:0x55c001e786f0] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashScrollview>[<StScrollView>:0x55c001e78bc0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StBoxLayout>:0x55c001e7f060] is on because it needs an allocation.
Can't update stage views actor <dashtodockContainer>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashToDock>:0x55c001e754c0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashSlideContainer>:0x55c001e41e60] is on because it needs an allocation.
Can't update stage views actor <dashtodockBox>[<StBoxLayout>:0x55c001e93e90] is on because it needs an allocation.
Can't update stage views actor <dash>[<Gjs_ubuntu-dock_ubuntu_com_dash_DockDash>:0x55c001e78270] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StWidget>:0x55c001e90ba0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<ClutterActor>:0x55c0006adc20] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashContainer>[<StBoxLayout>:0x55c001e786f0] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashScrollview>[<StScrollView>:0x55c001e78bc0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StBoxLayout>:0x55c001e7f060] is on because it needs an allocation.
Can't update stage views actor <dashtodockContainer>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashToDock>:0x55c001e754c0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashSlideContainer>:0x55c001e41e60] is on because it needs an allocation.
Can't update stage views actor <dashtodockBox>[<StBoxLayout>:0x55c001e93e90] is on because it needs an allocation.
Can't update stage views actor <dash>[<Gjs_ubuntu-dock_ubuntu_com_dash_DockDash>:0x55c001e78270] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StWidget>:0x55c001e90ba0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<ClutterActor>:0x55c0006adc20] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashContainer>[<StBoxLayout>:0x55c001e786f0] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashScrollview>[<StScrollView>:0x55c001e78bc0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StBoxLayout>:0x55c001e7f060] is on because it needs an allocation.
Can't update stage views actor <dashtodockContainer>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashToDock>:0x55c001e754c0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashSlideContainer>:0x55c001e41e60] is on because it needs an allocation.
Can't update stage views actor <dashtodockBox>[<StBoxLayout>:0x55c001e93e90] is on because it needs an allocation.
Can't update stage views actor <dash>[<Gjs_ubuntu-dock_ubuntu_com_dash_DockDash>:0x55c001e78270] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StWidget>:0x55c001e90ba0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<ClutterActor>:0x55c0006adc20] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashContainer>[<StBoxLayout>:0x55c001e786f0] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashScrollview>[<StScrollView>:0x55c001e78bc0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StBoxLayout>:0x55c001e7f060] is on because it needs an allocation.
Can't update stage views actor <dashtodockContainer>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashToDock>:0x55c001e754c0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<Gjs_ubuntu-dock_ubuntu_com_docking_DashSlideContainer>:0x55c001e41e60] is on because it needs an allocation.
Can't update stage views actor <dashtodockBox>[<StBoxLayout>:0x55c001e93e90] is on because it needs an allocation.
Can't update stage views actor <dash>[<Gjs_ubuntu-dock_ubuntu_com_dash_DockDash>:0x55c001e78270] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StWidget>:0x55c001e90ba0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<ClutterActor>:0x55c0006adc20] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashContainer>[<StBoxLayout>:0x55c001e786f0] is on because it needs an allocation.
Can't update stage views actor <dashtodockDashScrollview>[<StScrollView>:0x55c001e78bc0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<StBoxLayout>:0x55c001e7f060] is on because it needs an allocation.
Thanks for looking into that! We will need more prints in order to get an idea where it crashes. Could you add more prints (maybe just print the line number)? Especially lines 133 and 138 would be interesting. 133 should be printed multiple times inside the loop while the icons are loaded asynchronously, 138 should be printed when all icons finished loading....
I did what you asked for. In the log file there are a lot of 133 and 138. It looks like this
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:139:17] 138
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:139:17] 138
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:139:17] 138
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:133:19] 133
JS LOG: [flypie@schneegans.github.com/src/prefs/IconSelectDialog.js:139:17] 138
***MEMORY-ERROR***: org.gnome.Shell.Extensions[68529]: GSlice: assertion failed: sinfo->n_allocated > 0
How quickly came the crash after the final 138?
It's about 15 seconds
And sometimes at the end is this error:
gjs[73423]: segfault at 1f4f ip 00007f6370fe3ae3 sp 00007ffe01044cb8 error 6 in libglib-2.0.so.0.7200.4[7f6370f8c000+8f000] likely on CPU 4 (core 2, socket 0)
Code: 2b 45 0c 00 4a 8d 0c c1 48 39 11 0f 84 96 00 00 00 e9 d1 92 fa ff 90 c3 0f 1f 80 00 00 00 00 48 8b 4a 18 48 8b 72 10 45 89 c1 <48> 89 4e 18 48 89 71 10 48 8b 0d f6 44 0c 00 4e 8d 14 c9 49 8b 0a
I reinstalled the libqlib-2.0 but it doesn't help.
One thing you could try is to narrow down from which part of the preferences dialog the crash originates. In this file, the initialization of the four pages of the settings dialog happens. If you put a //
in front of lines 72, 75, 78, and 81, the individual pages of the preferences dialog will not be initialized. There will be still some UI, but it will not be functional in any way. Once you changed the source code, you can re-open the settings dialog with:
make install && pkill -f '.Extensions' && sleep 0.5 ; gnome-extensions prefs flypie@schneegans.github.com
(if you cloned and installed Fly-Pie from GitHub)
Is there one specific page which you can disable so that the crash does not happen anymore?
I do not have this lines -> 72, 75, 78 and 81, because I use gnome-3.36-44 branch. My gnome shell is 42.9.
Ahh sorry. The respective lines are in this file in your branch.
I commented lines 89, 92, 95, 98 in this file and crash still happens. The error is still the same:
***MEMORY-ERROR***: org.gnome.Shell.Extensions[36120]: GSlice: assertion failed: sinfo->n_allocated > 0
and I can move between tabs in the settings for a few seconds.
That's very weird. Have you used the command make install && pkill -f '.Extensions' && sleep 0.5 ; gnome-extensions prefs flypie@schneegans.github.com
to restart the preferences? If everything went properly, you should have had the four tabs, but the content should have been somewhat non-functional. Was this the case?
I used make install && pkill -f '.Extensions' && sleep 0.5 ; gnome-extensions prefs flypie@schneegans.github.com
but the tabs was still functional I mean I can change the tabs, but I cannot add new menu.
Different user here, but yes I have exactly the same problem. If I open the Settings menu and just leave it running (or use it, makes no difference) it crashes out after about 30 seconds. The rest of Fly-Pie works beautifully so and I have zero problems. So there is something that the settings menu is just not happy with. I'm running Ubuntu 22.04 on good/fast but relatively old hardware.
Not sure what diagnostic info I could give you, but more than happy to help if you like. Just shout.
Hello everyone! I am experiencing exactly the same crash problem with the Fly-Pie settings menu.
My system configuration is:
Are there any news regarding this problem?
Apart from that, the extension is working perfectly! Thank you for your work and help.
Describe the Bug
After installing the extension and clicking around in the settings window (not even changing anything, just clicking around), the settings window disappears and the extension service crashes:
(note: I haven't been able to locate the core dump, unless the process is gjs-console; then I have one; stack trace below)
Steps to reproduce the behavior:
Expected Behavior
No crash.
System
Please complete the following information:
42.5-0ubuntu1pop1~1675984688~22.04~f574f54
Stack trace
I realize it's not very helpful without debug symbols, I'll see if I can get them.