hikari wayland compositor (https://hikari.acmelabs.space)
#8Complete freeze of hikari
Good evening. I noticed the following issue, which results in a total unresponsive hikari. Nothing is possible anymore. Even switching to another TTY isn't possible. Culprit: nextcloud-client I have waybar running with the tray module and if I open the context menu of the nextcloud-client and move the pointer to "Last Changes", which would result in a new submenu, hikari freezes. Not the whole system, as music still plays fine and normal shutdown via power button is possible. Sadly the messages to stdout don't reveal a thing. So is there another way in getting debug information? Or helping in solving this.
System: Linux based distro hikari 2.0.0 nextcloud-client 2.6.4 (build with qt 5.14.x, got updated to 5.15.0 (cannot tell if the freeze happened before or not) if it is a cause of a missing rebuild it still shouldn't take hikari with it?)
And thank you for this nice floating compositor :) If I may, now for something completly different: How can I set view options for CLI programs? Or what is the id, which gets mentioned in the manual?
Issue BundleHi thanks for reporting,
I've just pushed some patches to the repo that fix a couple of issues with X (and possibly some Wayland issues as well). You could try those or wait for 2.0.1 next week. I'm not using next cloud. Is it enough to just start the client (without setting up a server) to provoke the bug?
Let's keep the issue on topic. If you have additional questions you can just post them on the mailing list or even better join our matrix channel :) There we can have a more lengthy discussion on the questions you have if you want :)
Also: could you
ssh
into your machine and check ifhikari
starts spinning in a loop? You could try and check iftop
shows 100% CPU usage forhikari
. I don't think something like this happened before but the field of window management is full of surprises :DThanks for the fast respone :) As long as nextcloud isn't connected the failure doesn't happen. But if it is connected it will fail for "Last Activities/Last Changes" (didn't check the official translation) and "Apps", as I now found out. And yes, after ssh'ing into the machine, when it happens hikari runs at 100% CPU and it needs to be killed with SIGKILL. Will try to use the latest development snapshot, but need to take a look at darcs first, as I'm more of a git user :D
Fair enough with staying on topic. Not so sure about Matrix currently (IRC ftw ;P), but will take a look at the Mailing list. Because another question arose, regarding if it is normal, that hikari gets killed after I shut off the monitor (so disabling the video output?)
You can download the a snapshot of the repository via the "download zip" button. You don't need
darcs
for that.Could you maybe attach a debugger to the looping process and post a backtrace? This looks like we are ending up in a loop here and I'd like to know where this happens.
Created a debug build (at least I think so :D built at least with DEBUG). Didn't attach it to the process, rather ran it from the beginning. So loooong text incoming (and I'm not really sure if that helps. gdb reported an empty backtrace) https://gist.github.com/Narrat/a272a8ed7ac21e4df4491551ee52f438 If it wasn't the right steps I would request some guidance, so I can report the results you hoped for.
Running
hikari
as a nested process should probably be the better approach here. I'm not quite sure if the execution is different on Linux but I think your debugger is not attached to the right process (sincehikari
forks shortly after starting up). You can runhikari
as a nested process just by running it inside ofhikari
(that way the debugger should also have the right process right away, because a nested compositor does not require to fork). Once you havehikari
running you can redirect all input to the nested session usingmode-enter-input-grab
, use the same action to quit input grab mode once you have reproduced the bug. In this state you should get a more meaningful stack trace from the debugger since this is really what we are after.Following these steps, it still kinda seems to fork the process. At least the backtrace is still empty.
And if I attach to the main process after I reproduced the freeze the recovered backtrace only contains this:(gdb) backtrace full #0 0x0000564dad31cf81 in get_layer (layer_popup=0x60d0000ee210) at src/layer_shell.c:268 current = 0x6120000e6e48 #1 0x0000564dad31c998 in popup_unconstrain (layer_popup=0x60d0000ee210) at src/layer_shell.c:228 layer = 0x7800000005 output = 0x9d00000006 box = {x = 808595506, y = 758525997, width = 1044944, height = 24784} #2 0x0000564dad31cf4e in init_popup (layer_popup=0x60d0000ee210, wlr_popup=0x60d0000ee140) at src/layer_shell.c:260 #3 0x0000564dad31f8fe in init_popup_popup (layer_popup=0x60d0000ee210, parent=0x6120000e6e48, wlr_popup=0x60d0000ee140) at src/layer_shell.c:711 #4 0x0000564dad31f34a in new_popup_popup_handler (listener=0x60d0000ff1e8, data=0x60d0000ee140) at src/layer_shell.c:609 layer_popup = 0x60d0000ff1d0 parent = 0x6120000e6e48 wlr_popup = 0x60d0000ee140 layer_popup_popup = 0x60d0000ee210 #5 0x00007fda467ab3ae in () at /usr/lib/libwlroots.so.5 #6 0x00007fda4590ea8d in () at /usr/lib/libffi.so.7 #7 0x00007fda4590e01b in () at /usr/lib/libffi.so.7 #8 0x00007fda4625cf62 in () at /usr/lib/libwayland-server.so.0 #9 0x00007fda462592dc in () at /usr/lib/libwayland-server.so.0 #10 0x00007fda4625afaa in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0 #11 0x00007fda462594e7 in wl_display_run () at /usr/lib/libwayland-server.so.0 #12 0x0000564dad3310df in hikari_server_start (config_path=0x604000000750 "/home/omnius/.config/hikari/hikari.conf", autostart=0x604000000790 "\027") at src/server.c:861 #13 0x0000564dad3214e1 in main (argc=1, argv=0x7fff594eca48) at main.c:211 options = {config_path = 0x604000000750 "/home/omnius/.config/hikari/hikari.conf", autostart = 0x604000000790 "\027"} __PRETTY_FUNCTION__ = "main"
Continuing the process doesn't help either (in any of the test cases) because ctrl+c doesn't return to the gdb interface and is unresponsive :/
And attaching to every of the 11 child processes, which are mentioned by gdb, the only backtrace I get is:
(gdb) backtrace full #0 0x00007fbe8053be32 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/../lib/libpthread.so.0 #1 0x00007fbe7b46bdec in () at /usr/lib/dri/radeonsi_dri.so #2 0x00007fbe7b46bcf8 in () at /usr/lib/dri/radeonsi_dri.so #3 0x00007fbe80535422 in start_thread () at /usr/lib/../lib/libpthread.so.0 #4 0x00007fbe8065ebf3 in clone () at /usr/lib/libc.so.6
The backtrace is actually exactly what I needed. I can what blocks, I'm just a bit puzzled why. The
get_layer
function we are stuck in tries to find the parent layer that belongs to a popup by traveling down the hierarchy. For some reason it seems that I never finds it. Did you compilehikari
withclang
orgcc
?GCC at work. GCC 10.1.0 to be exact.
Out of curiosity I will try it clang and report back what happens.Makes no difference if clang (10.0.0) is used.
(Although I was a bit surprised, that the resulting binary differed that much in size. With gcc hikari is just 1,4mb and with clang 2,9mb)The reason why I'm asking is the address sanitizer which
clang
brings cangcc
do this as well now?Did you by chance turn off the address sanitizer in the Makefile? If so you should turn it back on, do a
make clean
and build a fresh debug build.GCC has the same options[0] in that regard. Or at least the same as it used in the Makefile.
So, no, I didn't need to remove the-fsanitize=address
from theDEBUG
options for the debug build. Building via gcc and clang used the same options in that regard.
________
[0] https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.htmlOkay I guess than I can be sure that this is not causes by some memory related bug but rather something funky in the layer hierarchy. One thing that we might try is some printf debugging (or if you are familiar with your debugger you could set a breakpoint in
layer_shell.c
in theget_layer
function and print out howcurrent
changes over time.If you are not familiar with that you can just add a
printf("CURRENT %p\n", current);
to line 268 inlayer_shell.c
and send mre some of that output. It will probably be a repeating pattern so you don't need to send me the entire output.(gdb) break src/layer_shell.c:268 Breakpoint 1 at 0x14ef24: file src/layer_shell.c, line 268. (gdb) run Starting program: /home/omnius/Builds/Manuell/hikari/hikari [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". [New Thread 0x7fffeafc9700 (LWP 2320)] [New Thread 0x7fffea687700 (LWP 2321)] [New Thread 0x7fffe9e86700 (LWP 2322)] [New Thread 0x7fffe9685700 (LWP 2323)] [New Thread 0x7fffe8e84700 (LWP 2324)] [New Thread 0x7fffe8683700 (LWP 2325)] [New Thread 0x7fffe7e82700 (LWP 2326)] [New Thread 0x7fffe7681700 (LWP 2327)] [New Thread 0x7fffe6e78700 (LWP 2328)] [New Thread 0x7fffe6661700 (LWP 2329)] [New Thread 0x7fffe5a4a700 (LWP 2330)] LAYER INIT 0x611000130780 LAYER MAP 0x611000130780 --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// LAYER INIT 0x611000159400 LAYER MAP 0x611000159400 LAYER UNMAP 0x611000159400 LAYER DESTROY 0x611000159400 VIEW INIT 0x61700004f380 XWAYLAND NEW 0x61700004f380 UNMANAGED XWAYLAND NEW 0x611000181540 UNMANAGED XWAYLAND DESTROY 0x611000181540 VIEW INIT 0x61700004f700 XWAYLAND NEW 0x61700004f700 UNMANAGED XWAYLAND NEW 0x611000181680 UNMANAGED XWAYLAND DESTROY 0x611000181680 VIEW INIT 0x61700004fa80 XWAYLAND NEW 0x61700004fa80 XWAYLAND DESTROY 0x61700004fa80 DESTROY VIEW 0x61700004fa80 XWAYLAND DESTROY 0x61700004f700 DESTROY VIEW 0x61700004f700 VIEW INIT 0x61700004fe00 XWAYLAND NEW 0x61700004fe00 VIEW INIT 0x617000050180 XWAYLAND NEW 0x617000050180 XWAYLAND CONFIGURE 0x61700004fe00 301 85 XWAYLAND CONFIGURE 0x61700004fe00 301 85 XWAYLAND MAP 0x61700004fe00 SHOW 0x61700004fe00 VIEW INIT 0x617000050f80 XWAYLAND NEW 0x617000050f80 XWAYLAND DESTROY 0x617000050f80 DESTROY VIEW 0x617000050f80 --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- 0x61700004fe00 --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud 0x61700004fe00 / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 (0x61700004fe00) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// HIDE 0x61700004fe00 SHOW 0x61700004fe00 --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- 0x61700004fe00 --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud 0x61700004fe00 / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 (0x61700004fe00) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- 0x61700004fe00 --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud 0x61700004fe00 / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 (0x61700004fe00) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- 0x61700004fe00 --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud 0x61700004fe00 / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 (0x61700004fe00) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- 0x61700004fe00 --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud 0x61700004fe00 / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 (0x61700004fe00) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// HIDE 0x61700004fe00 --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS ----------------------------------------------------------- Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d0000fcdb0) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $1 = (struct hikari_layer_popup *) 0x60d0000fcdb0 (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d0000fe610) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $2 = (struct hikari_layer_popup *) 0x60d0000fe610 (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d0000fe610) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $3 = (struct hikari_layer_popup *) 0x6120000e81c8 (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d0000fe610) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $4 = (struct hikari_layer_popup *) 0x6120000e81c8 (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d0000fe610) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $5 = (struct hikari_layer_popup *) 0x6120000e81c8 (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d0000fe610) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $6 = (struct hikari_layer_popup *) 0x6120000e81c8 (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d0000fe610) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $7 = (struct hikari_layer_popup *) 0x6120000e81c8 (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d0000fe610) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $8 = (struct hikari_layer_popup *) 0x6120000e81c8 (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d0000fe610) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $9 = (struct hikari_layer_popup *) 0x6120000e81c8 (gdb) finish Run till exit from #0 get_layer (layer_popup=0x60d0000fe610) at src/layer_shell.c:268 Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d0000fe610) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $10 = (struct hikari_layer_popup *) 0x6120000e81c8 (gdb) qu queue-signal quit (gdb) qu queue-signal quit (gdb) quit A debugging session is active. Inferior 1 [process 2316] will be killed. Quit anyway? (y or n) y
I hope that helps
That's very interesting… confusing, but interesting. Thanks!
Could you also give me the value of
current->parent.type
? Currently it looks like there is a popup that is its own parent, which causes the loop.Sure, no problem. Here you go:
(gdb) break src/layer_shell.c:268 Breakpoint 1 at 0x14ef24: file src/layer_shell.c, line 268. (gdb) run Starting program: /home/omnius/Builds/Manuell/hikari/hikari [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". [New Thread 0x7fffeafc9700 (LWP 12976)] [New Thread 0x7fffea687700 (LWP 12977)] [New Thread 0x7fffe9e86700 (LWP 12978)] [New Thread 0x7fffe9685700 (LWP 12979)] [New Thread 0x7fffe8e84700 (LWP 12980)] [New Thread 0x7fffe8683700 (LWP 12981)] [New Thread 0x7fffe7e82700 (LWP 12982)] [New Thread 0x7fffe7681700 (LWP 12983)] [New Thread 0x7fffe6e78700 (LWP 12984)] [New Thread 0x7fffe6661700 (LWP 12985)] [New Thread 0x7fffe5a4a700 (LWP 12986)] LAYER INIT 0x61100011ac00 LAYER MAP 0x61100011ac00 --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// LAYER INIT 0x61100015c4c0 LAYER MAP 0x61100015c4c0 LAYER UNMAP 0x61100015c4c0 LAYER DESTROY 0x61100015c4c0 VIEW INIT 0x61700004f380 XWAYLAND NEW 0x61700004f380 UNMANAGED XWAYLAND NEW 0x611000180dc0 UNMANAGED XWAYLAND DESTROY 0x611000180dc0 VIEW INIT 0x61700004f700 XWAYLAND NEW 0x61700004f700 UNMANAGED XWAYLAND NEW 0x611000180f00 UNMANAGED XWAYLAND DESTROY 0x611000180f00 VIEW INIT 0x61700004fa80 XWAYLAND NEW 0x61700004fa80 XWAYLAND DESTROY 0x61700004fa80 DESTROY VIEW 0x61700004fa80 XWAYLAND DESTROY 0x61700004f700 DESTROY VIEW 0x61700004f700 VIEW INIT 0x61700004fe00 XWAYLAND NEW 0x61700004fe00 VIEW INIT 0x617000050180 XWAYLAND NEW 0x617000050180 XWAYLAND CONFIGURE 0x61700004fe00 301 85 XWAYLAND CONFIGURE 0x61700004fe00 301 85 XWAYLAND MAP 0x61700004fe00 SHOW 0x61700004fe00 VIEW INIT 0x617000050f80 XWAYLAND NEW 0x617000050f80 XWAYLAND DESTROY 0x617000050f80 DESTROY VIEW 0x617000050f80 --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- 0x61700004fe00 --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud 0x61700004fe00 / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 (0x61700004fe00) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- 0x61700004fe00 --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud 0x61700004fe00 / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 (0x61700004fe00) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- 0x61700004fe00 --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud 0x61700004fe00 / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 (0x61700004fe00) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// HIDE 0x61700004fe00 --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud / 0x61700004fe00 --------------------------------------------------------------------- SHEETS WL-1 ((nil)) --------------------------------------------------------------------- 1 0x61700004fe00 --------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////// --------------------------------------------------------------------- VIEWS --------------------------------------------------------------------- --------------------------------------------------------------------- GROUPS --------------------------------------------------------------------- Nextcloud / 0x61700004fe00 ----------------------- Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d000145040) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $1 = (struct hikari_layer_popup *) 0x60d000145040 (gdb) print current->parent.type $2 = HIKARI_LAYER_NODE_TYPE_LAYER (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d000146220) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $3 = (struct hikari_layer_popup *) 0x60d000146220 (gdb) print current->parent.type $4 = HIKARI_LAYER_NODE_TYPE_POPUP (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d000146220) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $5 = (struct hikari_layer_popup *) 0x6120000e9fc8 (gdb) print current->parent.type $6 = (unknown: 1331360) (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d000146220) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $7 = (struct hikari_layer_popup *) 0x6120000e9fc8 (gdb) print current->parent.type $8 = (unknown: 1331360) (gdb) c Continuing. Thread 1 "hikari" hit Breakpoint 1, get_layer (layer_popup=0x60d000146220) at src/layer_shell.c:268 268 switch (current->parent.type) { (gdb) print current $9 = (struct hikari_layer_popup *) 0x6120000e9fc8 (gdb) print current->parent.type $10 = (unknown: 1331360) (gdb) quit A debugging session is active. Inferior 1 [process 12972] will be killed. Quit anyway? (y or n) y
Thanks a lot, that was very insightful :) Could you
darcs apply
this patch bundle and give it another try?Ah forgot that darcshubs patch bundle thing is pretty useless since we exchange patches on Matrix most of the time. Here a link to the bundle https://hikari.acmelabs.space/patches/fix-nested-popup-handling-for-layer_shell.dpatch
Nice :) I can tell, hikari with this patch applied doesn't freeze/loop forever anymore :)
Thanks for fixing this.- status set to closed
Thanks a lot for reporting this, would have probably taken me a lot longer to find this without your report and input. Cheers :D Going to stage this for 2.0.2