Schneegans / Fly-Pie

:pie: Fly-Pie is an innovative marking menu written as a GNOME Shell extension.
http://schneegans.github.io/news/2021/12/02/flypie10
MIT License
1.21k stars 26 forks source link

Near-immediate crashes of the settings dialog #313

Open gnosek opened 1 year ago

gnosek commented 1 year ago

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:

sie 04 23:02:56 vetinari gjs[3495320]: ***MEMORY-ERROR***: org.gnome.Shell.Extensions[3495320]: GSlice: assertion failed: sinfo->n_allocated > 0
sie 04 23:02:57 vetinari systemd[3522]: dbus-:1.5-org.gnome.Shell.Extensions@24.service: Main process exited, code=dumped, status=6/ABRT
sie 04 23:02:57 vetinari systemd[3522]: dbus-:1.5-org.gnome.Shell.Extensions@24.service: Failed with result 'core-dump'.

(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:

  1. Go to the Gnome extension settings manager
  2. Click on Fly-Pie settings
  3. Navigate around the settings window randomly
  4. See the window disappear

Expected Behavior

No crash.

System

Please complete the following information:

Stack trace

I realize it's not very helpful without debug symbols, I'll see if I can get them.

#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140501467197248) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140501467197248) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140501467197248, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007fc90d842476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007fc90d8287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007fc90e1904ba in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fc90e190a84 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007fc90e190e0b in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007fc90e191229 in g_slice_free1 () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007fc90e15c282 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fc90e160353 in g_hash_table_unref () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fc902b35b17 in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#12 0x00007fc902b35d1c in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#13 0x00007fc902b35d6d in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#14 0x00007fc902b35d6d in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#15 0x00007fc902b35d6d in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#16 0x00007fc902b35d6d in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#17 0x00007fc902b35d6d in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#18 0x00007fc902b35d6d in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#19 0x00007fc902b35d6d in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#20 0x00007fc902b35d6d in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#21 0x00007fc902b35d6d in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#22 0x00007fc902b35d6d in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#23 0x00007fc902b39b12 in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#24 0x00007fc90e0d0d2f in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007fc90e0ece11 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007fc90e0ee614 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007fc90e0ee863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007fc902bf2db9 in  () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#29 0x00007fc90e1722c8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fc90e171c44 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007fc90e1c7258 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007fc90e1712b3 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fc90de98e2e in  () at /lib/x86_64-linux-gnu/libffi.so.8
#34 0x00007fc90de95493 in  () at /lib/x86_64-linux-gnu/libffi.so.8
#35 0x00007fc90e2a0c4c in  () at /lib/x86_64-linux-gnu/libgjs.so.0
#36 0x00007fc90e2a1447 in  () at /lib/x86_64-linux-gnu/libgjs.so.0
#37 0x00007fc90cd491cb in  () at /lib/x86_64-linux-gnu/libmozjs-91.so.0
#38 0x00007fc90cd3a456 in  () at /lib/x86_64-linux-gnu/libmozjs-91.so.0
#39 0x00007fc90cd48a11 in  () at /lib/x86_64-linux-gnu/libmozjs-91.so.0
#40 0x00007fc90cd4a0b2 in  () at /lib/x86_64-linux-gnu/libmozjs-91.so.0
#41 0x00007fc90ce1a2c2 in JS_ExecuteScript(JSContext*, JS::Handle<JS::StackGCVector<JSObject*, js::TempAllocPolicy> >, JS::Handle<JSScript*>, JS::MutableHandle<JS::Value>) () at /lib/x86_64-linux-gnu/libmozjs-91.so.0
#42 0x00007fc90e2d906e in  () at /lib/x86_64-linux-gnu/libgjs.so.0
#43 0x00007fc90e2dda97 in gjs_context_eval () at /lib/x86_64-linux-gnu/libgjs.so.0
#44 0x0000561cf3ffb110 in  ()
#45 0x00007fc90d829d90 in __libc_start_call_main (main=main@entry=0x561cf3ffa6c0, argc=argc@entry=2, argv=argv@entry=0x7ffd639828f8) at ../sysdeps/nptl/libc_start_call_main.h:58
#46 0x00007fc90d829e40 in __libc_start_main_impl (main=0x561cf3ffa6c0, argc=2, argv=0x7ffd639828f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd639828e8) at ../csu/libc-start.c:392
#47 0x0000561cf3ffb545 in  ()
Schneegans commented 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?

Schneegans commented 1 year ago

Any news on this one? Else I'll close this as I cannot reproduce this on my end.

GWevroy commented 1 year ago

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.

gyu-dave commented 1 year ago

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
Schneegans commented 1 year ago

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:

l-fura commented 1 year ago

Thanks for the response. My system is:

System

Schneegans commented 1 year ago

Thanks for adding your info here. Could maybe you test the things I mentioned in the comment above?

l-fura commented 1 year ago
Schneegans commented 1 year ago

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.

l-fura commented 1 year ago

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.
Schneegans commented 1 year ago

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....

l-fura commented 1 year ago

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
Schneegans commented 1 year ago

How quickly came the crash after the final 138?

l-fura commented 1 year ago

It's about 15 seconds

l-fura commented 1 year ago

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.

Schneegans commented 1 year ago

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?

l-fura commented 1 year ago

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.

Schneegans commented 1 year ago

Ahh sorry. The respective lines are in this file in your branch.

l-fura commented 1 year ago

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.

Schneegans commented 12 months ago

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?

l-fura commented 12 months ago

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.

Colle11 commented 9 months ago

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.