#1114853 xserver-xorg-core: xset -dpms cause Xorg segfault

Package:
xserver-xorg-core
Source:
xserver-xorg-core
Description:
Xorg X server - core server
Submitter:
Claude Heiland-Allen
Date:
2026-07-05 18:43:01 UTC
Severity:
normal
#1114853#5
Date:
2025-09-10 18:18:17 UTC
From:
To:
Dear Maintainer,

   * What led up to the situation?

Xorg keeps crashing when I leave my session idle.

To try to turn off the screen saver, I ran from a fresh XFCE4 session:

killall light-locker
xset s off
xset -dpms

   * What was the outcome of this action?

The last of those commands triggered Xorg to segfault.

   * What outcome did you expect instead?

Xorg to disable display power management, and not crash.

#1114853#10
Date:
2025-09-26 11:57:10 UTC
From:
To:
Hello,
with the help of the dbgsym packages the backtrace would look like in [1].

The backtrace leads to upstream reports in [2].

There is also a patch to leave the crashing function
in case pci_sys is a NULL pointer.

Kind regards,
Bernhard


[1]
0x0000556c30a41c68 in OsSigHandler at ../../../../os/osinit.c:135
0x00007fe3180b1df0 <__restore_rt>
0x00007fe3185b19b3 in pci_device_vgaarb_set_target at ../../src/common_vgaarb.c:235
0x0000556c30921a7b in xf86VGAarbiterLock at ../../../../../../hw/xfree86/common/xf86VGAarbiter.c:92
0x0000556c30904bd3 in xf86DPMS at ../../../../../../hw/xfree86/common/xf86DPMS.c:56
0x0000556c3097a614 in DPMSSet at ../../../../Xext/dpms.c:106
0x0000556c3097a76d in ProcDPMSDisable at ../../../../Xext/dpms.c:228
0x0000556c308c4c08 in Dispatch at ../../../../dix/dispatch.c:551
0x0000556c308c8ccf in dix_main at ../../../../dix/main.c:274


[2]
https://sources.debian.org/src/libpciaccess/0.17-3/src/common_vgaarb.c#L235
https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/blob/master/src/common_vgaarb.c?ref_type=heads#L235
     235         dev = pci_sys->vga_default_dev;
https://sources.debian.org/src/xorg-server/2%3A21.1.16-1.3/hw/xfree86/common/xf86VGAarbiter.c#L92
https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/hw/xfree86/common/xf86VGAarbiter.c?ref_type=heads#L92
     92     pci_device_vgaarb_set_target(pScrn->vgaDev);


[3]
https://gitlab.freedesktop.org/xorg/xserver/-/issues/1831
https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/issues/25

#1114853#15
Date:
2025-11-15 16:42:42 UTC
From:
To:
Thanks Bernhard for the information.


I found a fix (originally dating back to 2014 afaict) that I could
backport to the package in Debian trixie:


```
git clone https://gitlab.freedesktop.org/rherilier/libpciaccess.git
cd libpciaccess
git show 2aed459b0b8bd5f81bd793fff70396728eed75af >
../libpciaccess-fix-pci-sys-null-deref.patch
cd ..
sudo apt-get build-dep libpciaccess0
sudo apt-get build-dep --host-architecture i386 libpciaccess0
apt source libpciaccess0
cd libpciaccess-0.17
patch -p1 < ../libpciaccess-fix-pci-sys-null-deref.patch
debuild -i -us -uc -b
debuild -a i386 -i -us -uc -b
cd ..
sudo dpkg -i libpciaccess*.deb
# reboot
xset -dpms # no longer crashes Xorg
```


the commit adds reference counting so that


```

open

open

close

use

close

```


doesn't explode at "use".


I also tried a testing (forky) live build with xfce (2025-11-10) and
couldn't reproduce the bug (xset -dpms didn't crash Xorg), so maybe it's
fixed in that version already (or maybe it's some other environmental
difference in live boot).


Thanks again,


Claude

#1114853#20
Date:
2026-05-17 13:44:17 UTC
From:
To:
Dear Maintainers,

I can confirm that the produce outlined by Claude Heiland-Allen six
months ago fixes the problem with power saving mode crashing the X.org
server on my ancient Asus EeePC 1005PE (amd64, with Atom N450). The
commit hash is a different one from Claude's message, you have to use
upstream commit 0b8b5f2c. [1][2]

Could you please be so kind to include this upstream patch in the next
point-release of Debian Stable, 13.6?

Many thanks in advance,
Laurentiu

[1] https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/merge_requests/43
[2] https://gitlab.freedesktop.org/rherilier/libpciaccess/-/commit/0b8b5f2c4632e5e0204acfd2ea892220bd8db606

#1114853#25
Date:
2026-07-05 18:40:10 UTC
From:
To:
reassign 1114853 libpciaccess0
tags 1114853 +patch
thanks

Dear libpciaccess0 maintainers,

I've been using the attached patch from upstream, with a locally
recompiled package, to avoid the NULL pointer derefence in
libpciaccess0 on Debian 13.5 Xfce on my old netbook, for the past 5
weeks, with no side effects.

Could you please include the patch in the next point release of Debian Stable?

Many thanks in advance,
Laurentiu