Comments (8)
Can you also provide the output of i3lock --debug with/without the XKB change from your system please? Be sure to redact the password from the output before sharing.
from i3lock.
Attached. In all cases, "[some random character typed]" refers to characters that I was typing randomly as per step 4. in the bug report.
When i3lock breaks:
debug-XKB-change-i3lock-breaks.txt
When no XKB change and i3lock does not break
debug-NO-XKB-change-NO-i3lock-breaks.txt
Edit
Adding two additional debug logs:
-
I change de XKB but i3lock does not break (because I wait around 16 seconds after resuming before touching the keyboard; I resume, wait for the screen to show i3lock's all-gray screen, count a few more seconds, and then start slowly typing, and at that moment the green circle shows up, etc, so I have to introduce the password).
debug-XKB-change-no-break.txt -
I change XKB and I do not need to type furiously: it breaks as soon as I introduce the first character.
debug-XKB-change-breaks-at-first-type.txt
from i3lock.
Can you check if pull request #353 fixes the issue for you? Thanks.
from i3lock.
Yes, it does fix the issue for me. (I still see the "[i3lock] xkb_x11_keymap_new_from_device failed", but it does not unlock).
from i3lock.
Great, thanks for confirming. I merged the immediate fix for now.
Can you clarify if the xkb_x11_keymap_new_from_device
error message only happens when you change XKB layout while i3lock is running, or can you get into a state where i3lock does not even start? (the keymap is loaded at startup and when it changes)
Can you file a separate bug for what needs to be fixed please?
from i3lock.
Can you clarify if the
xkb_x11_keymap_new_from_device
error message only happens when you change XKB layout while i3lock is running,
I've only noticed xkb_x11_keymap_new_from_device
when I change XKB layout while i3lock is running. (At the risk of being redundant, though, note that even if xkb_x11_keymap_new_from_device
happens that does not necessarily mean i3lock breaks: with the fix I get the xkb_x11_keymap_new_from_device
, and I also got it before the fix even when i3lock did not break: see file https://github.com/i3/i3lock/files/14893717/debug-XKB-change-no-break.txt , above: #351 (comment)).
can you get into a state where i3lock does not even start?
When I issue systemct suspend
i3lock does get started. As I mentioned in step 3. of my original report, "The screen locks and then the computer suspends." But this is all happening before XKB layout changes.
I am not sure what you are asking, though. If it is about what happens immediately after resume, I cannot tell. My monitor always has a lag after resuming/starting, so for the first few seconds after I press the start key (resume) and when I start typing, I cannot tell what is going on on the monitor as nothing is being visibly displayed.
Can you file a separate bug for what needs to be fixed please?
I don't know of an additional bug that needs to be fixed. Is this the xkb_x11_keymap_new_from_device
?
I think I am not following you.
from i3lock.
Ok, I looked into this some more and I think I understand now.
To reproduce the problem, I found it sufficient to run keym.sh repeatedly, no suspend needed.
Looking at the X11-level trace, I think the problem is that i3lock gets a notification about the changed keymap, but while fetching the keymap details, the keymap changes again (due to the second command in keym.sh), which results in an X11 error.
So, to answer my own question: these are spurious errors, not persistent errors somehow related to the keymap. No further fixes needed.
BTW: I also triggered a crash in gnome-shell while reproducing the problem:
gdb $ bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=5, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007f17b56ae8a3 in __pthread_kill_internal (signo=5, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007f17b565c8ee in __GI_raise (sig=sig@entry=5) at ../sysdeps/posix/raise.c:26
#3 0x000055cdb4674b86 in dump_gjs_stack_on_signal_handler (signo=5) at ../src/main.c:467
#4 0x00007f17b565c9a0 in <signal handler called> () at /lib64/libc.so.6
#5 g_log_structured_array (log_level=log_level@entry=G_LOG_LEVEL_ERROR, fields=fields@entry=0x7fff4e6afee0, n_fields=4) at ../glib/gmessages.c:556
#6 0x00007f17b5f40edc in g_log_default_handler
(log_domain=log_domain@entry=0x7f17b5b0d023 "Mtk", log_level=log_level@entry=6, message=message@entry=0x55cdb6973480 "Received an X Window System error.\nThis probably reflects a bug in the program.\nThe error was 'BadValue (integer parameter out of range for operation)'.\n (Details: serial 37367 error_code 2 request_c"..., unused_data=unused_data@entry=0x0) at ../glib/gmessages.c:3284
#7 0x00007f17b5f41180 in g_logv (log_domain=0x7f17b5b0d023 "Mtk", log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, args=args@entry=0x7fff4e6b0040) at ../glib/gmessages.c:1392
#8 0x00007f17b5f41463 in g_log
(log_domain=log_domain@entry=0x7f17b5b0d023 "Mtk", log_level=log_level@entry=G_LOG_LEVEL_ERROR, format=format@entry=0x7f17b5b0d0f0 "Received an X Window System error.\nThis probably reflects a bug in the program.\nThe error was '%s'.\n (Details: serial %ld error_code %d request_code %d (%s) minor_code %d)\n (Note to programmers: nor"...) at ../glib/gmessages.c:1461
#9 0x00007f17b5b0b5be in display_error_event (error=0x7fff4e6b01d0, xdisplay=0x55cdb4f40570) at ../mtk/mtk/mtk-x11-errors.c:116
#10 mtk_x_error (xdisplay=0x55cdb4f40570, error=0x7fff4e6b01d0) at ../mtk/mtk/mtk-x11-errors.c:139
#11 0x00007f17b5522acb in _XError (dpy=dpy@entry=0x55cdb4f40570, rep=rep@entry=0x55cdb566d790) at /usr/src/debug/libX11-1.8.7-1.fc39.x86_64/src/XlibInt.c:1503
#12 0x00007f17b5522bdf in handle_error (dpy=dpy@entry=0x55cdb4f40570, err=0x55cdb566d790, in_XReply=in_XReply@entry=1) at /usr/src/debug/libX11-1.8.7-1.fc39.x86_64/src/xcb_io.c:211
#13 0x00007f17b5524bca in _XReply (dpy=0x55cdb4f40570, rep=0x7fff4e6b0380, extra=2, discard=0) at /usr/src/debug/libX11-1.8.7-1.fc39.x86_64/src/xcb_io.c:798
#14 0x00007f17b557254e in _XkbHandleGetMapReply (xkb=0x55cdb4fc3800, dpy=0x55cdb4f40570) at xkb/XKBGetMap.c:557
#15 XkbGetMapChanges (dpy=dpy@entry=0x55cdb4f40570, xkb=0x55cdb4fc3800, changes=changes@entry=0x7fff4e6b03e0) at xkb/XKBGetMap.c:870
#16 0x00007f17b5573660 in XkbRefreshKeyboardMapping (event=event@entry=0x7fff4e6b0590) at xkb/XKBBind.c:377
#17 0x00007f17b590a0cb in meta_keymap_x11_handle_event (xevent=0x7fff4e6b0590, keymap_x11=0x55cdb51bb5a0) at ../src/backends/x11/meta-keymap-x11.c:602
#18 meta_keymap_x11_handle_event (xevent=0x7fff4e6b0590, keymap_x11=0x55cdb51bb5a0) at ../src/backends/x11/meta-keymap-x11.c:575
#19 meta_seat_x11_translate_event (xevent=0x7fff4e6b0590, seat=<optimized out>) at ../src/backends/x11/meta-seat-x11.c:2044
#20 meta_backend_x11_handle_event (xevent=0x7fff4e6b0590, backend=0x55cdb4f38ea0) at ../src/backends/x11/meta-event-x11.c:71
#21 handle_host_xevent (event=0x7fff4e6b0590, backend=0x55cdb4f38ea0) at ../src/backends/x11/meta-backend-x11.c:434
#22 x_event_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../src/backends/x11/meta-backend-x11.c:488
#23 0x00007f17b5f3be5c in g_main_dispatch (context=0x55cdb4dd6cd0) at ../glib/gmain.c:3476
#24 g_main_context_dispatch_unlocked (context=0x55cdb4dd6cd0) at ../glib/gmain.c:4284
#25 0x00007f17b5f96f18 in g_main_context_iterate_unlocked.isra.0 (context=0x55cdb4dd6cd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
#26 0x00007f17b5f3d447 in g_main_loop_run (loop=0x55cdb532e640) at ../glib/gmain.c:4551
#27 0x00007f17b58e5b2a in meta_context_run_main_loop (context=<optimized out>, error=0x7fff4e6b0be0) at ../src/core/meta-context.c:514
Feel free to reproduce/report it if you feel adventurous :)
from i3lock.
No further fixes needed.
Ah, great. Issue solved then. Thanks.
I also triggered a crash in gnome-shell. (...) Feel free to reproduce/report it if you feel adventurous :)
I think I am not feeling that adeventurous ;-) And I think I've never used gnome-shell so this would be way too adventurous for me.
from i3lock.
Related Issues (20)
- i3lock doesn't accept correct password after entering incorrect ones. HOT 4
- Mod-key reset after screen lock. HOT 4
- Non-standard License (not sure which SPDX identifier to use) HOT 3
- Please add functional for show layers (en,ru and etc) HOT 2
- Option to compile i3lock without PAM on Linux HOT 1
- Pam interaction when time-limit on logins is configured HOT 2
- Add Space Mode HOT 2
- Better Computer Wake Handling. HOT 1
- Allow configuring of invalid password cooldown? HOT 5
- Feature Request: Keyboard Language In Password/Lock Screen HOT 2
- i3bar is shown in i3lock lock screen when it is positioned at the bottom with picom running HOT 3
- password unrecognized HOT 3
- [bug] background image rendering not taking screen rotation into account
- Custom password HOT 1
- numlock indicator is unaesthetic and not useful - can't disable? HOT 2
- [bug] i3lock doesn't seem to register the first couple of keypresses of password HOT 6
- `i3lock` package from i3's official repos outdated (2.14) HOT 5
- i3lock is pausing for 30 seconds after verifying my password HOT 2
- `--help` does not work when run under wayland
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from i3lock.