NetBSD Problem Report #60802
From www@netbsd.org Sat Sep 26 15:29:05 2026
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
client-signature RSA-PSS (2048 bits) client-digest SHA256)
(Client CN "mail.netbsd.org", Issuer "YR1" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id B03BE1A923C
for <gnats-bugs@gnats.NetBSD.org>; Sat, 26 Sep 2026 15:29:05 +0000 (UTC)
Message-Id: <20260926152903.CBC061A923E@mollari.NetBSD.org>
Date: Sat, 26 Sep 2026 15:29:03 +0000 (UTC)
From: ea1abz@gmail.com
Reply-To: ea1abz@gmail.com
To: gnats-bugs@NetBSD.org
Subject: x11/xscreensaver 2026Q3 cannot unlock screen
X-Send-Pr-Version: www-1.0
X-From4GNATS: "ea1abz@gmail.com via gnats" <gnats-admin@NetBSD.org>
>Number: 60802
>Category: pkg
>Synopsis: x11/xscreensaver 2026Q3 cannot unlock screen
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Sep 26 15:30:01 +0000 2026
>Last-Modified: Sat Oct 17 08:30:03 +0000 2026
>Originator: Ramiro Aceves
>Release: NetBSD 11.0
>Organization:
>Environment:
NetBSD netbsd-nuc.home 11.0 NetBSD 11.0 (GENERIC) #0: Thu Jul 30 15:23:12 UTC 2026 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64
>Description:
netbsd-nuc$ pkgin se xscreensaver
xscreensaver-6.15nb2 = Screen saver and locker for the X window system
When screen is locked (blank back screen or animation, it does not matter) I cannot unlock it, I see a black secreen with a blinking mouse cursor but never login screen never appears. I must kill xscreensaver process to return to the Xorg session. Same happens in 2026Q2.
I run it manually with logging:
netbsd-nuc$ xscreensaver --log xscreensaver.log
xscreensaver: 17:16:01: logging to file xscreensaver.log
I lock the screen:
netbsd-nuc$ xscreensaver-command --lock
xscreensaver-command: locking
Screen locks in black with fading as usual. I move the mouse to unlock but I cannot unlock. Please see the log:
netbsd-nuc$ cat xscreensaver.log
##########################################################################
xscreensaver: 17:16:01: logging to "xscreensaver.log"
##########################################################################
XScreenSaver 6.15, released Mar 2026 -- 5 months ago
Copyright © 1991-2026 by Jamie Zawinski <jwz@jwz.org>
xscreensaver: 17:16:01: running in process 24863
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
xscreensaver: 17:16:01: wayland: connection failed; assuming real X11
xscreensaver: 17:16:01: XInput version 2.2
xscreensaver: 17:16:01: device 2/3: MP: Virtual core pointer
xscreensaver: 17:16:01: device 3/2: MK: Virtual core keyboard
xscreensaver: 17:16:01: device 4/2: SP: Virtual core XTEST pointer
xscreensaver: 17:16:01: device 5/3: SK: Virtual core XTEST keyboard
xscreensaver: 17:16:01: device 6/3: SK: /dev/wskbd
xscreensaver: 17:16:01: device 7/2: SP: /dev/wsmouse
xscreensaver: 17:16:01: pid 10877: launched xscreensaver-auth --splash --verbose
xscreensaver-auth: 17:16:01: initial effective uid/gid was root/users (0/100)
xscreensaver-auth: 17:16:01: changed uid/gid to ramiro/users (1000/100)
xscreensaver-auth: 17:16:01: running as user "ramiro"
xscreensaver-auth: 17:16:01: mouse is at 302,711 on monitor 0 1920x1080+0+0 "DP1"
xscreensaver-auth: 17:16:01: theme: default
xscreensaver-auth: 17:16:01: kbd layout: Spanish
xscreensaver-auth: 17:16:02: attached input method
xscreensaver-auth: 17:16:02: re-creating window: size changed
xscreensaver-auth: 17:16:02: attached input method
xscreensaver-auth: 17:16:07: splash timed out
xscreensaver: 17:16:07: pid 10877: xscreensaver-auth exited normally
xscreensaver: 17:16:28: XI RawKeyPress
xscreensaver: 17:16:34: XI RawKeyPress
xscreensaver: 17:16:37: XI RawKeyPress
xscreensaver: 17:16:40: XI RawKeyPress
xscreensaver: 17:16:52: XI RawKeyPress
xscreensaver: 17:16:52: ClientMessage LOCK: locking
xscreensaver: 17:16:52: locking
xscreensaver: 17:16:52: grabbing keyboard on 0x19f: GrabSuccess
xscreensaver: 17:16:52: grabbing mouse on 0x19f... GrabSuccess
xscreensaver: 17:16:52: pid 29815: launched xscreensaver-gfx --init --verbose
xscreensaver-gfx: 17:16:52: running on display ":0.0"
xscreensaver-gfx: 17:16:52: vendor is The X.Org Foundation, 12101024
xscreensaver-gfx: 17:16:52: useful extensions:
xscreensaver-gfx: 17:16:52: Shared Memory (1.2)
xscreensaver-gfx: 17:16:52: Double-Buffering (1.0)
xscreensaver-gfx: 17:16:52: Power Management (1.2)
xscreensaver-gfx: 17:16:52: GLX
xscreensaver-gfx: 17:16:52: XF86 Video-Mode (disabled at compile time)
xscreensaver-gfx: 17:16:52: Xinerama (1.1)
xscreensaver-gfx: 17:16:52: Resize-and-Rotate (1.6)
xscreensaver-gfx: 17:16:52: Composite
xscreensaver-gfx: 17:16:52: XKeyboard
xscreensaver-gfx: 17:16:52: XInput (2.4)
xscreensaver-gfx: 17:16:52: Using EGL
xscreensaver-gfx: 17:16:52: libsystemd/libelogind disabled at compile time
xscreensaver-gfx: 17:16:52: XDG_CURRENT_DESKTOP = "XFCE"
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
xscreensaver-gfx: 17:16:52: selecting RANDR events
xscreensaver-gfx: 17:16:52: RANDR screens: 4, Xinerama: 1; believing RANDR
xscreensaver-gfx: 17:16:52: screens in use: 1
xscreensaver-gfx: 17:16:52: 0/0: 1920x1080+0+0 (DP1)
xscreensaver-gfx: 17:16:52: rejected screens: 3
xscreensaver-gfx: 17:16:52: 1/0: 1920x1080+0+0 (DP2) -- output disabled
xscreensaver-gfx: 17:16:52: 2/0: 1920x1080+0+0 (HDMI1) -- output disabled
xscreensaver-gfx: 17:16:52: 3/0: 0x0+0+0 (VIRTUAL1) -- output disabled
xscreensaver-gfx: 17:16:52: blanking
xscreensaver-gfx: 17:16:52: saved screenshot 0x3e00005 1920x1080 for window 0x3e00001 1920x1080+0+0
xscreensaver-gfx: 17:16:52: fading...
xscreensaver-gfx: 17:16:52: loaded screenshot 0x3e00007 for window 0x3e00001 1920x1080+0+0 from saved 0x3e00005 1920x1080
xscreensaver-gfx: 17:16:56: fading done
xscreensaver-gfx: 17:16:56: 0: next cycle in 0:10:00 at 17:26:56
xscreensaver: 17:16:59: authorizing (motion)
xscreensaver: 17:16:59: pid 29160: launched xscreensaver-auth --verbose
xscreensaver-auth: 17:16:59: initial effective uid/gid was root/users (0/100)
xscreensaver-auth: 17:16:59: changed uid/gid to ramiro/users (1000/100)
xscreensaver-auth: 17:16:59: running as user "ramiro"
xscreensaver-auth: 17:16:59: pwnam: non-PAM password auth
xscreensaver-auth: 17:16:59: mouse is at 1457,538 on monitor 0 1920x1080+0+0 "DP1"
xscreensaver-auth: 17:16:59: theme: default
xscreensaver-auth: 17:16:59: kbd layout: Spanish
xscreensaver-auth: 17:16:59: attached input method
xscreensaver: 17:16:59: pid 29160: xscreensaver-auth exited with signal 11
xscreensaver: 17:16:59: authorization failed
xscreensaver: 17:17:00: authorizing (motion)
xscreensaver: 17:17:00: pid 22501: launched xscreensaver-auth --verbose
xscreensaver-auth: 17:17:00: initial effective uid/gid was root/users (0/100)
xscreensaver-auth: 17:17:00: changed uid/gid to ramiro/users (1000/100)
xscreensaver-auth: 17:17:00: running as user "ramiro"
xscreensaver-auth: 17:17:00: pwnam: non-PAM password auth
xscreensaver-auth: 17:17:00: mouse is at 1785,508 on monitor 0 1920x1080+0+0 "DP1"
xscreensaver-auth: 17:17:00: theme: default
xscreensaver-auth: 17:17:00: kbd layout: Spanish
xscreensaver-auth: 17:17:00: attached input method
xscreensaver: 17:17:00: pid 22501: xscreensaver-auth exited with signal 11
xscreensaver: 17:17:00: authorization failed
xscreensaver: 17:17:01: authorizing (kbd)
xscreensaver: 17:17:01: pid 1059: launched xscreensaver-auth --verbose
xscreensaver-auth: 17:17:01: initial effective uid/gid was root/users (0/100)
xscreensaver-auth: 17:17:01: changed uid/gid to ramiro/users (1000/100)
xscreensaver-auth: 17:17:01: running as user "ramiro"
xscreensaver-auth: 17:17:01: pwnam: non-PAM password auth
xscreensaver-auth: 17:17:01: mouse is at 1301,509 on monitor 0 1920x1080+0+0 "DP1"
xscreensaver-auth: 17:17:01: theme: default
xscreensaver-auth: 17:17:01: kbd layout: Spanish
xscreensaver-auth: 17:17:01: attached input method
xscreensaver: 17:17:01: pid 1059: xscreensaver-auth exited with signal 11
xscreensaver: 17:17:01: authorization failed
xscreensaver: 17:17:15: SIGTERM received while locked: exiting
xscreensaver-gfx: 17:17:15: SIGTERM: unblanking
xscreensaver: 17:17:15: pid 29815: killing xscreensaver-gfx
netbsd-nuc$
It seems that auth fails:
xscreensaver: 17:16:59: pid 29160: xscreensaver-auth exited with signal 11
if I execute xscreensaver-auth manually as normal user it segfaults.
netbsd-nuc$ /usr/pkg/libexec/xscreensaver/xscreensaver-auth
[1] Segmentation fault /usr/pkg/libexec/xscreensaver/xscreensaver-auth
netbsd-nuc$
as root:
netbsd-nuc# /usr/pkg/libexec/xscreensaver/xscreensaver-auth
xscreensaver-auth: 17:21:38: running as user "root" -- authentication disallowed
netbsd-nuc#
Thanks so much.
Ramiro.
>How-To-Repeat:
$ xscreensaver &
$ xscreensaver-command --lock
move the mouse to unlock.
>Fix:
yes, please
>Audit-Trail:
From: Ramiro Aceves <ea1abz@gmail.com>
To: gnats-bugs@netbsd.org, pkg-manager@netbsd.org, gnats-admin@netbsd.org,
pkgsrc-bugs@netbsd.org
Cc:
Subject: Re: pkg/60802: x11/xscreensaver 2026Q3 cannot unlock screen
Date: Sun, 4 Oct 2026 08:53:03 +0200
Hi,
After observing xscreensaver during the whole the week, I can conclude that the malfunctioning
for unlocking the screen has only been observed on Saturdays in my system.
I found that the crash can be avoided in NetBSD by setting:
LIBC_ALLOWCTYPEABUSE=true xscreensaver
I also played with the locale settings. With:
LC_TIME="es_ES.UTF-8" -> fails
LC_TIME="C" -> works
LC_TIME="en_US.UTF-8" -> works
So far, this points to an interaction between xscreensaver, NetBSD ctype strict handling, and the Spanish LC_TIME locale.
For comparison, the same Saturday test on Linux and FreeBSD with Spanish locale did not show the problem.
Xscreensaver messages at the login unlock screen:
Linux:
2026-10-03 09:35:49
Spanish
FreeBSD:
2026-10-03 09:39:40
Spanish (Windows)
NetBSD with LIBC_ALLOWCTYPEABUSE="true":
09:58 a.m., sáb oct 3
Spanish
Regards,
Ramiro
From: Ramiro Aceves <ea1abz@gmail.com>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/60802: x11/xscreensaver 2026Q3 cannot unlock screen
Date: Sun, 4 Oct 2026 09:16:53 +0200
Hello,
Today is Sunday and as I expected, xscreensaver is working fine again. It confirms the weekly pattern failure!
After compiling xscreensaver to include debugging symbols I have been trying to use
gdb to discover where it fails but it has been impossible for me. It appears than
xscreensaver calls xscreensaver-auth to unlock the screen and it crashes there. I
do not know how to inspect that scenario under gdb. If I load xscreensaver in GDB
and it calls xscreensaver-auth and crashes there, I do not see anything. I do not
have enough expertise to do it properly. Any hints will be appreciated.
From xscreensaver log:
...
...
xscreensaver-gfx: 18:25:20: fading...
xscreensaver-gfx: 18:25:20: loaded screenshot 0x1c00007 for window 0x1c00001 1920x1080+0+0 from saved 0x1c00005 1920x1080
xscreensaver: 18:25:22: authorizing (motion)
xscreensaver: 18:25:22: pid 21705: launched xscreensaver-auth --verbose
xscreensaver-auth: 18:25:22: initial effective uid/gid was root/users (0/100)
xscreensaver-auth: 18:25:22: changed uid/gid to ramiro/users (1000/100)
xscreensaver-auth: 18:25:22: running as user "ramiro"
xscreensaver-auth: 18:25:22: pwnam: non-PAM password auth
xscreensaver-auth: 18:25:22: mouse is at 1448,601 on monitor 0 1920x1080+0+0 "DP1"
xscreensaver-auth: 18:25:22: theme: default
xscreensaver-auth: 18:25:22: kbd layout: Spanish
xscreensaver-auth: 18:25:22: attached input method
xscreensaver: 18:25:22: pid 21705: xscreensaver-auth exited with signal 11
xscreensaver: 18:25:22: authorization failed
xscreensaver: 18:25:23: authorizing (motion)
xscreensaver: 18:25:23: pid 23189: launched xscreensaver-auth --verbose
xscreensaver-auth: 18:25:23: initial effective uid/gid was root/users (0/100)
xscreensaver-auth: 18:25:23: changed uid/gid to ramiro/users (1000/100)
xscreensaver-auth: 18:25:23: running as user "ramiro"
...
...
For me there is absolutely no problem in running xscreensaver with "C" locale, but it is
interesting to understand where it fails. I am thinking that perhaps the author is the
only person that may understand it better, but in his WEB page he tells that:
"If you are reporting a bug in any version earlier than 6.16 then you are probably
wasting your time and mine. So please, I implore you, upgrade first. "
NetBSD uses 6.15 version, which is far more modern than 6.09 in Debian Trixie, even in Debian Unstable!
I do not want to try to manually change to 6.16 in pkgsrc, there are patches involved and
I do not have enough expertise to do that and I would enter in another problem.
Thanks.
Ramiro.
From: Ramiro Aceves <ea1abz@gmail.com>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/60802: x11/xscreensaver 2026Q3 cannot unlock screen
Date: Mon, 12 Oct 2026 18:33:31 +0200
Hello!.
Past Saturday (Sábado) xscreensaver-auth crashed as expected, saving core to /tmp worked fine
thanks to the tips of martin@duskware.de
kern.coredump.setid.dump=1
And <snow@flurry.sh>
kern.coredump.setid.path=/tmp/%n.core
GDB pointed to:
work/xscreensaver-6.15/utils/utf8wc.c, line 378
uc == 0xFF0D || /* FULLWIDTH HYPHEN-MINUS */
I changed char to unsigned char, recompiled, replaced package and it works fine showing "Sáb" in date.
old:
return (ispunct((char) uc) || /* Posix: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ */
new:
return (ispunct((unsigned char) uc) || /* Posix: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ */
full function after correction:
uc_ispunct (unsigned long uc)
{
/* "Unicode Standard Annex #14, Line Breaking Algorithm"
https://www.unicode.org/reports/tr14/
...is a lot. But this is probably good enough?
*/
return (ispunct((unsigned char) uc) || /* Posix: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ */
uc == 0x002D || /* HYPHEN-MINUS */
uc == 0x058A || /* ARMENIAN HYPHEN */
uc == 0x05BE || /* HEBREW PUNCTUATION MAQAF */
uc == 0x1400 || /* CANADIAN SYLLABICS HYPHEN */
uc == 0x1806 || /* MONGOLIAN TODO SOFT HYPHEN */
uc == 0x2010 || /* HYPHEN */
uc == 0x2011 || /* NON-BREAKING HYPHEN */
uc == 0x2012 || /* FIGURE DASH */
uc == 0x2013 || /* EN DASH */
uc == 0x2014 || /* EM DASH */
uc == 0x2015 || /* HORIZONTAL BAR */
uc == 0x2053 || /* SWUNG DASH */
uc == 0x207B || /* SUPERSCRIPT MINUS */
uc == 0x208B || /* SUBSCRIPT MINUS */
uc == 0x2212 || /* MINUS SIGN */
uc == 0x2E17 || /* DOUBLE OBLIQUE HYPHEN */
uc == 0x2E1A || /* HYPHEN WITH DIAERESIS */
uc == 0x2E3A || /* TWO-EM DASH */
uc == 0x2E3B || /* THREE-EM DASH */
uc == 0x2E40 || /* DOUBLE HYPHEN */
uc == 0x2E5D || /* OBLIQUE HYPHEN */
uc == 0x301C || /* WAVE DASH */
uc == 0x3030 || /* WAVY DASH */
uc == 0x30A0 || /* KATAKANA-HIRAGANA DOUBLE HYPHEN */
uc == 0xFE31 || /* PRESENTATION FORM FOR VERTICAL EM DASH */
uc == 0xFE32 || /* PRESENTATION FORM FOR VERTICAL EN DASH */
uc == 0xFE58 || /* SMALL EM DASH */
uc == 0xFE63 || /* SMALL HYPHEN-MINUS */
uc == 0xFF0D || /* FULLWIDTH HYPHEN-MINUS */
uc == 0x10EAD); /* YEZIDI HYPHENATION MARK */
}
***Roland roland.illig@gmx.de pointed that:***************************
> return (ispunct((unsigned char) uc) || /* Posix: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ */
> uc == 0x002D || /* HYPHEN-MINUS */
> uc == 0x058A || /* ARMENIAN HYPHEN */
That fixes the undefined behavior but is still wrong. The letter U+0121
"Ä¡" is classified as a punctuation sign because its lower 8 bits are a
punctuation sign. That's a wrong conclusion. Instead, the condition
should be:
(uc < 0x0080 && ispunct((unsigned char)uc)) || …
In that code, the cast to unsigned char is not strictly necessary
anymore, but I'd leave it there for static analyzers like lint(1).
********************************************************************
I have applied this patch as he suggested and compiled again. Will test on next saturday.
netbsd-nuc# cat /usr/pkgsrc/x11/xscreensaver/patches/patch-utils_utf8wc.c
$NetBSD$
--- utils/utf8wc.c.orig 2026-10-11 18:25:46.260960200 +0000
+++ utils/utf8wc.c
@@ -346,7 +346,7 @@ uc_ispunct (unsigned long uc)
https://www.unicode.org/reports/tr14/
...is a lot. But this is probably good enough?
*/
- return (ispunct((char) uc) || /* Posix: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ */
+ return ((uc < 0x0080 && ispunct((unsigned char) uc)) || /* Posix: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ */
uc == 0x002D || /* HYPHEN-MINUS */
uc == 0x058A || /* ARMENIAN HYPHEN */
uc == 0x05BE || /* HEBREW PUNCTUATION MAQAF */
netbsd-nuc#
From: Ramiro Aceves <ea1abz@gmail.com>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/60802: x11/xscreensaver 2026Q3 cannot unlock screen
Date: Sat, 17 Oct 2026 10:29:32 +0200
Hello.
Roland patch works fine today.
Regards.
(Contact us)
$NetBSD: query-full-pr,v 1.51 2026/08/10 02:28:17 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.