14.3-RELEASE + KDE, crash in libxcb

Hi All,

Hopefully this is a good place to get someones attention that might be either able to look at the package or port (or refer me to a better place to post if I am in the wrong place).

I noticed this in my dmesg after an upgrade from 14.2 to 14.3 (the crash may have in fact been there while I was using 14.2 and I just didn't notice). After the upgrade I force the reinstallation of all packages installed bypkg out of habit (probably overkill and not needed but just a habit from years of use).

Code:
pid 2692 (kioworker), jid 0, uid 1001: exited on signal 11 (core dumped)

Looking at the coredump in GDB:

Code:
root@bsd-desktop:/home/ahhyes # gdb /usr/local/lib/libexec/kf6/kioworker /home/ahhyes/kioworker.core
GNU gdb (GDB) 15.1 [GDB v15.1 for FreeBSD]
<snip>

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/lib/libexec/kf6/kioworker...
(No debugging symbols found in /usr/local/lib/libexec/kf6/kioworker)
[New LWP 100639]
[New LWP 100640]
Core was generated by `/usr/local/lib/libexec/kf6/kioworker /usr/local/lib/qt6/plugins/kf6/kio/thumbnai'.
Program terminated with signal SIGSEGV, Segmentation fault.
Address not mapped to object.
#0  0x0000000845e3a823 in xcb_send_request_with_fds64 () from /usr/local/lib/libxcb.so.1
[Current thread is 1 (LWP 100639)]
(gdb) backtrace
#0  0x0000000845e3a823 in xcb_send_request_with_fds64 () from /usr/local/lib/libxcb.so.1
#1  0x0000000845e429df in xcb_intern_atom () from /usr/local/lib/libxcb.so.1
#2  0x000000088fa43ba9 in Oxygen::Helper::createAtom(QString const&) const () from /usr/local/lib/liboxygenstyle6.so.6
#3  0x000000088e0000bb in ?? () from /usr/local/lib/qt6/plugins/styles/oxygen6.so
#4  0x000000088dfffffe in ?? () from /usr/local/lib/qt6/plugins/styles/oxygen6.so
#5  0x000000088dfdd0c5 in ?? () from /usr/local/lib/qt6/plugins/styles/oxygen6.so
#6  0x000000088e00ce83 in ?? () from /usr/local/lib/qt6/plugins/styles/oxygen6.so
#7  0x00000008501a8b12 in QStyleFactory::create(QString const&) () from /usr/local/lib/qt6/libQt6Widgets.so.6
#8  0x0000000850100b93 in QApplication::style() () from /usr/local/lib/qt6/libQt6Widgets.so.6
#9  0x0000000850100543 in QApplicationPrivate::initialize() () from /usr/local/lib/qt6/libQt6Widgets.so.6
#10 0x00000008500ff9ac in QApplicationPrivate::init() () from /usr/local/lib/qt6/libQt6Widgets.so.6
#11 0x0000000848b7cd19 in kdemain () from /usr/local/lib/qt6/plugins/kf6/kio/thumbnail.so
#12 0x000000000020248e in ?? ()
#13 0x0000000828f63e34 in __libc_start1 () from /lib/libc.so.7
#14 0x0000000000202160 in ?? ()

As you can probably tell I am running the KDE desktop. As far as I can tell the desktop is working ok and I only see this coredump once in dmesg, so it may be initial startup of KDE related.

I gave the backtrace from GDB to ChatGPT and here is its hypothesis (ChatGPT has been wrong on plenty of occasions so I wouldn't be surprised if it is again here):

Summary of the Crash

Your crash occurs due to a segmentation fault (SIGSEGV) in the xcb_send_request_with_fds64() function, which is part of libxcb, a low-level X11 communication library. The backtrace indicates that the crash happens during style initialization, specifically related to the Oxygen style plugin used by Qt6.

Key Observations

#0 xcb_send_request_with_fds64 () from /usr/local/lib/libxcb.so.1
#1 xcb_intern_atom () from /usr/local/lib/libxcb.so.1
#2 Oxygen::Helper::createAtom(QString const&) const () from liboxygenstyle6.so.6
#7 QStyleFactory::create(QString const&) () from libQt6Widgets.so.6
#9 QApplicationPrivate::initialize()
#11 kdemain () from thumbnail.so

This suggests:

A Qt6 KIO thumbnail worker is attempting to load the Oxygen style plugin.

During style initialization, it calls into X11/XCB.

At that point, xcb_send_request_with_fds64() triggers a SIGSEGV.

Possible Root Causes
1. No X11 connection available

KIO workers are usually headless processes (non-GUI).

The Oxygen style plugin likely tries to interact with the X server (e.g. querying atoms).

Since the process has no valid DISPLAY or X11 connection, this can cause a NULL dereference inside libxcb.

2. Broken or incomplete XCB/libxcb setup

If libxcb or its dependencies are mismatched or corrupted, memory access issues like this can occur.

3. Incompatible or buggy Qt6/KDE6/Oxygen builds

KDE6 is still stabilizing; the crash may be triggered by an improper plugin interaction or a regression in how styles are used by headless processes.

This sort of problem is beyond me to fix but it suggests a problem in libxcb. The package that is installed on my system:

Code:
root@bsd-desktop:~ # pkg info libxcb
libxcb-1.17.0
Name           : libxcb
Version        : 1.17.0
Installed on   : Mon Jun 30 22:03:18 2025 AEST
Origin         : x11/libxcb
Architecture   : FreeBSD:14:amd64
Prefix         : /usr/local

I see references to "oxygen" in the backtrace, which seems to coincide with the application theme I have selected in the KDE system settings (Breeze (Dark) with Application style Oxygen).
 
Back
Top