Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

segfault on key release with Neo2 #16

Open
T-X opened this issue Apr 25, 2023 · 0 comments
Open

segfault on key release with Neo2 #16

T-X opened this issue Apr 25, 2023 · 0 comments

Comments

@T-X
Copy link

T-X commented Apr 25, 2023

On Linux / Debian Sid when I run openxr-explorer from the console I usually/often get the following segfault with the Neo keyboard layout I'm using:

$ gdb openxr-explorer
...
(gdb) core core.dump 
...
#0  0x000055c53e7f8da5 in ImGui_ImplX11_ProcessEvent (event=event@entry=0x55c53f5d67d0)
    at /home/linus/dev-priv/vr/openxr-explorer/openxr-explorer.git/src/openxrexplorer/imgui/imgui_impl_x11.cpp:466
466	            io.KeysDown[k - 0xFF00] = 0;
[Current thread is 1 (Thread 0x7f22eb807740 (LWP 301445))]
(gdb) bt
#0  0x000055c53e7f8da5 in ImGui_ImplX11_ProcessEvent (event=event@entry=0x55c53f5d67d0)
    at /home/linus/dev-priv/vr/openxr-explorer/openxr-explorer.git/src/openxrexplorer/imgui/imgui_impl_x11.cpp:466
#1  0x000055c53e7f9768 in shell_loop (step=step@entry=0x55c53e7f8f30 <_FUN()>)
    at /home/linus/dev-priv/vr/openxr-explorer/openxr-explorer.git/src/openxrexplorer/imgui/imgui_skg.cpp:347
#2  0x000055c53e77f2d8 in main (arg_count=<optimized out>, args=<optimized out>)
    at /home/linus/dev-priv/vr/openxr-explorer/openxr-explorer.git/src/openxrexplorer/imgui/imgui_skg.cpp:60
(gdb) 

When I run openxr-explorer from the console with $ sleep 5; ./openxr-explorer and make sure to release all keys before the 5 seconds are over then I get no crash.

Also, I only seem to get this crash with the German Neo2 keyboard layout and when using its alternative Enter key via a modifier key. Which is accessible by holding the AltGr key and then pressing the V key for instance on both an English QWERTY or a German QWERTZ keyboard (as shown in the picture at the top of the linked page, after clicking on "Ebene 4" = "Layer 4"). So the easiest way to reproduce is:

$ setxkbmap de neo
$ sleep 5; ./openxr-explorer
-> Execute with Neo's Enter via AltGr+V
-> release V, but keep holding AltGr
-> wait for the 5 seconds to pass and the openxr-explorer GUI to appear
-> release AltGr
-> openxr-explorer segfaults immediately

The openxr-explorer version I'm trying is the current Git main branch.


Edit:

I can also trigger this issue with a standard, typical German keyboard layout (Neo is more a niche thing):

$ setxkbmap de
$ sleep 5; ./openxr-explorer
-> Execute with Enter key, release before the 5 seconds finish
-> press & hold AltGr before the 5 seconds finish
-> wait for the 5 seconds to pass and the openxr-explorer GUI to appear
-> release AltGr
-> openxr-explorer segfaults immediately

However the same approach does not seem to crash with "setxkbmap us" instead of "setxkbmap de".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant