linuxmint / linuxmint/cinnamon
Cinamon lockscreen crash to blackscreen and recovery from it
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 5.6k
- Forks
- 915
- Avg merge
- 5d 22h
- Merged PRs (30d)
- 3
Description
Distribution
Mint 21.3
Package version
6.0.4
Graphics hardware in use
NVIDIA GeForce GTX 1060 6GB
Frequency
Only occasionally
Bug description
I had my computer running in lockscreen with screen turned off. After i came back some hours later, i only saw a black screen, but the mouse cursor was working.
I switched to a different terminal using Ctrl+Alt+F2
There i investigated the journal and found that a process did crash.
I didnt know what the process did, so i just copied its commandline from coredumpctl and run it again with the environment DISPLAY=:0:
DISPLAY=:0 /usr/lib/x86_64-linux-gnu/cinnamon-screensaver/cs-backup-locker --xid 94371854 --term 1 --session 7
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 21 (X_ListProperties)
Resource id in failed request: 0x5a0000e
Serial number of failed request: 12
Current serial number in output stream: 12
** (cs-backup-locker:122248): CRITICAL **: 17:58:13.266: cs_event_grabber_get_keyboard: assertion 'window != NULL' failed
** (cs-backup-locker:122248): CRITICAL **: 17:58:13.266: cs_event_grabber_get_mouse: assertion 'window != NULL' failed
(i only saw that it crashed again after i returned to that screen later to document my steps for this bug report)
I returend to the default screen on 7 and now my lock screen was back. I logged in. Cinnamon was in the "fallback mode" i pressed the button to repair that and now everything seems to be fine.
Steps to reproduce
It only happend once so far. I often leave my computer in lockscreen with turned off screen. It never happend so far.
- Leave the computer running in lockscreen and screen turned off for a few hours?
- luck?
Expected behavior
Its okay, if the lockscreen takes a moment or two after i turn the screen on to show up. But after a few seconds it should be there and i should be able to unlock my computer.
Additional information
I had a virtualBox VM running.
I was able to capture the coredump. An overview here, if requested i would be able to probe specifics, but i dont like to share a coredump publicly.
PID: 79872 (cs-backup-locke)
UID: 1000 ([redacted])
GID: 1000 ([redacted])
Signal: 11 (SEGV)
Timestamp: Fri 2025-03-21 17:50:18 CET (21min ago)
Command Line: /usr/lib/x86_64-linux-gnu/cinnamon-screensaver/cs-backup-locker --xid 94371854 --term 1 --session 7
Executable: /usr/lib/x86_64-linux-gnu/cinnamon-screensaver/cs-backup-locker
Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/dbus.service
Unit: user@1000.service
User Unit: dbus.service
Slice: user-1000.slice
Owner UID: 1000 ([redacted])
Boot ID: 6e428318ed9648479b9a87084379a648
Machine ID: aaa642a1efb049fba8d6ca0c8d22ff0a
Hostname: [redacted]
Storage: /var/lib/systemd/coredump/core.cs-backup-locke.1000.6e428318ed9648479b9a87084379a648.79872.1742575818000000.zst (present)
Disk Size: 1.0M
Message: Process 79872 (cs-backup-locke) of user 1000 dumped core.
[...]
Found module cs-backup-locker with build-id: e2bfd517fa1927e0f4b989f0e1ed9e128affaa9b
Stack trace of thread 79872:
#0 0x00007f700d55e226 n/a (libgdk-3.so.0 + 0x65226)
#1 0x00007f700d566191 n/a (libgdk-3.so.0 + 0x6d191)
#2 0x00007f700d569d89 n/a (libgdk-3.so.0 + 0x70d89)
#3 0x00007f700d52fa99 gdk_display_get_event (libgdk-3.so.0 + 0x36a99)
#4 0x00007f700d569f46 n/a (libgdk-3.so.0 + 0x70f46)
#5 0x00007f700d173d3b g_main_context_dispatch (libglib-2.0.so.0 + 0x55d3b)
#6 0x00007f700d1c92b8 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xab2b8)
#7 0x00007f700d1732b3 g_main_loop_run (libglib-2.0.so.0 + 0x552b3)
#8 0x00007f700d848d2d gtk_main (libgtk-3.so.0 + 0x248d2d)
#9 0x000055c1501282c8 n/a (cs-backup-locker + 0x42c8)
#10 0x00007f700ce29d90 __libc_start_call_main (libc.so.6 + 0x29d90)
#11 0x00007f700ce29e40 __libc_start_main_impl (libc.so.6 + 0x29e40)
#12 0x000055c1501283e5 n/a (cs-backup-locker + 0x43e5)
Stack trace of thread 79875:
#0 0x00007f700cf18bcf __GI___poll (libc.so.6 + 0x118bcf)
#1 0x00007f700d1c9256 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xab256)
#2 0x00007f700d1713e3 g_main_context_iteration (libglib-2.0.so.0 + 0x533e3)
#3 0x00007f700d171431 glib_worker_main (libglib-2.0.so.0 + 0x53431)
#4 0x00007f700d1a2ab1 g_thread_proxy (libglib-2.0.so.0 + 0x84ab1)
#5 0x00007f700ce94ac3 start_thread (libc.so.6 + 0x94ac3)
#6 0x00007f700cf26850 __clone3 (libc.so.6 + 0x126850)
Stack trace of thread 121276:
#0 0x00007f700cf18bcf __GI___poll (libc.so.6 + 0x118bcf)
#1 0x00007f700d1c9256 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xab256)
#2 0x00007f700d1713e3 g_main_context_iteration (libglib-2.0.so.0 + 0x533e3)
#3 0x00007f700d36b24d g_subprocess_wait (libgio-2.0.so.0 + 0xb324d)
#4 0x000055c1501293d1 n/a (cs-backup-locker + 0x53d1)
#5 0x00007f700d36a194 g_task_thread_pool_thread (libgio-2.0.so.0 + 0xb2194)
#6 0x00007f700d1a5714 g_thread_pool_thread_proxy (libglib-2.0.so.0 + 0x87714)
#7 0x00007f700d1a2ab1 g_thread_proxy (libglib-2.0.so.0 + 0x84ab1)
#8 0x00007f700ce94ac3 start_thread (libc.so.6 + 0x94ac3)
#9 0x00007f700cf26850 __clone3 (libc.so.6 + 0x126850)
Stack trace of thread 79876:
#0 0x00007f700cf18bcf __GI___poll (libc.so.6 + 0x118bcf)
#1 0x00007f700d1c9256 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xab256)
#2 0x00007f700d1732b3 g_main_loop_run (libglib-2.0.so.0 + 0x552b3)
#3 0x00007f700d3cd81a gdbus_shared_thread_func (libgio-2.0.so.0 + 0x11581a)
#4 0x00007f700d1a2ab1 g_thread_proxy (libglib-2.0.so.0 + 0x84ab1)
#5 0x00007f700ce94ac3 start_thread (libc.so.6 + 0x94ac3)
#6 0x00007f700cf26850 __clone3 (libc.so.6 + 0x126850)
Stack trace of thread 79886:
#0 0x00007f700cf18bcf __GI___poll (libc.so.6 + 0x118bcf)
#1 0x00007f700d1c9256 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xab256)
#2 0x00007f700d1713e3 g_main_context_iteration (libglib-2.0.so.0 + 0x533e3)
#3 0x00007f700d36b24d g_subprocess_wait (libgio-2.0.so.0 + 0xb324d)
#4 0x000055c1501293d1 n/a (cs-backup-locker + 0x53d1)
#5 0x00007f700d36a194 g_task_thread_pool_thread (libgio-2.0.so.0 + 0xb2194)
#6 0x00007f700d1a5714 g_thread_pool_thread_proxy (libglib-2.0.so.0 + 0x87714)
#7 0x00007f700d1a2ab1 g_thread_proxy (libglib-2.0.so.0 + 0x84ab1)
#8 0x00007f700ce94ac3 start_thread (libc.so.6 + 0x94ac3)
#9 0x00007f700cf26850 __clone3 (libc.so.6 + 0x126850)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the cs-backup-locker executable and the journal/coredumpctl evidence supplied in the report, then investigate the BadWindow and failed event-grabber assertions. Done means the locker no longer crashes after the display has been off for hours and the user can return to and unlock the normal lock screen.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100