Bug 495947 - Font Management crashes/disappears with X error after clicking on a font (BadLength (poly request too large or internal Xlib length error))
Summary: Font Management crashes/disappears with X error after clicking on a font (Bad...
Status: REPORTED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_fontinst (other bugs)
Version First Reported In: 6.2.0
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-11-08 00:21 UTC by Daniel M
Modified: 2024-11-12 17:22 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
Screencast of steps and reproduction (1.06 MB, video/webm)
2024-11-08 22:05 UTC, Daniel M
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel M 2024-11-08 00:21:34 UTC
SUMMARY
Font Management crashes/disappears after clicking on a font; I can reproduce this more readily by setting the Criteria to Writing System and Arabic, but it might happen without doing this.

STEPS TO REPRODUCE
1. Go to System Settings, Text & Fonts and Font Management
2. Click Set Criteria
3. Go to Writing System
4. Click Arabic
5. Click on different fonts and Font Management should crash/disappear after 5-10 seconds

OBSERVED RESULT
Font Management crashes/disappears after clicking on a font; nothing relevant appears to be logged in syslog.

EXPECTED RESULT
Font Management should not crash/disappear

SOFTWARE/OS VERSIONS
Operating System: Void 
KDE Plasma Version: 6.2.0
KDE Frameworks Version: 6.7.0
Qt Version: 6.7.2
Kernel Version: 6.11.6_1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 PRO 7840U w/ Radeon 780M Graphics
Memory: 58.6 GiB of RAM
Graphics Processor: AMD Radeon 780M
Comment 1 Nate Graham 2024-11-08 21:49:11 UTC
If something crashed, we need a backtrace of it so we can figure out what's going on. Can you please attach a backtrace of the crash using the coredumpctl command-line program, as detailed in https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl?

If you don't see any systemsettings crashes in there, then it's not crashing, and instead something else is happening. In that case, can you attach a screen recording that shows the issue happening? Thanks a lot!
Comment 2 Daniel M 2024-11-08 22:05:16 UTC
Created attachment 175664 [details]
Screencast of steps and reproduction
Comment 3 Daniel M 2024-11-08 22:05:57 UTC
It's possible it's not actually crashing Nate; I kind of assumed it was since it just disappears.  I just attached a screencast, but I'm happy to try to capture a backtrace if you feel I should give it a try.
Comment 4 Nate Graham 2024-11-12 15:26:01 UTC
Is there a backtrace for systemsettings in the output of `coredumpctl --reverse`? If so, it's a crash. If not, it's just closing for some reason, possibly with a Wayland protocol error. If that's the case, please open `systemsettings` in a terminal window and paste the output that appears there when it closes. Thanks!
Comment 5 Daniel M 2024-11-12 16:09:42 UTC
Looks like coredumpctl is not installed on my distribution; I'm new to Linux and will need to figure out the best way to address this.

Below is the output from systemsettings; if this is not helpful, please let me know and I'll figure out the core dump stuff.

$ systemsettings
Using fontconfig file: "/home/<username>/.fonts.conf"
qml: Page SubCategoryPage_QMLTYPE_113(0x5604f4eae4e0) is already in the PageRow
qml: Pushed pages do not conform to the rules. Please check the documentation.
qml: push (file:///usr/lib/qt6/qml/org/kde/kirigami/PageRow.qml:223)
onActiveSubCategoryRowChanged (qrc:/qt/qml/org/kde/systemsettings/SubCategoryPage.qml:180)
expression for onClicked (qrc:/qt/qml/org/kde/systemsettings/CategoriesPage.qml:181)
Service  org.kde.fontinst  not registered, starting "/usr/libexec/kf6/kauth/fontinst"
qml: Page SubCategoryPage_QMLTYPE_113(0x5604f4eae4e0) is already in the PageRow
qml: Pushed pages do not conform to the rules. Please check the documentation.
qml: push (file:///usr/lib/qt6/qml/org/kde/kirigami/PageRow.qml:223)
onActiveSubCategoryRowChanged (qrc:/qt/qml/org/kde/systemsettings/SubCategoryPage.qml:180)
expression for onClicked (qrc:/qt/qml/org/kde/systemsettings/SubCategoryPage.qml:210)
X Error of failed request:  BadLength (poly request too large or internal Xlib length error)
  Major opcode of failed request:  139 (RENDER)
  Minor opcode of failed request:  20 (RenderAddGlyphs)
  Serial number of failed request:  1133
  Current serial number in output stream:  1507
Comment 6 Nate Graham 2024-11-12 16:25:47 UTC
This looks suspicious:

> X Error of failed request:  BadLength (poly request too large or internal Xlib length error)

JFYI Void Linux is one of those niche expert linux distros. They tend to do things very differently than other distros, which makes issues like this hard to debug. It could be our issue, it could be an issue in the X server, or it could be an issue caused by them packaging things in an unexpected way.

Just in general, if you're new to Linux, I might recommend sticking to more common distros.
Comment 7 Daniel M 2024-11-12 16:43:45 UTC
That's very fair Nate; I recently switched to Void as I had far more issues with a major distribution than I've had with Void, and I wanted to learn a bit more about Linux in general.

If you feel this might be a crash, please let me know and I'll investigate further.  Although, if you also feel this might be more related to something more esoteric as a result of Void and feel it might not make sense to investigate further as a result, I understand.
Comment 8 Nate Graham 2024-11-12 17:22:40 UTC
The Fonts KCM uses some custom X code to display stuff, so it seems like its X server is crashing or quitting and taking down the app.

Ultimately we know this is super janky and have plans to rewrite the KCM to not require X11 anymore. But that hasn't been finished yet. Once it is, this issue should be made impossible, and hence "fixed" automatically. I suspect that'll be the final resolution here.