Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
KDE plasma-welcome and plasmashell crash after SDDM log in
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
Shadow_Fury
Apprentice
Apprentice


Joined: 20 Apr 2021
Posts: 196
Location: 11.435765792823453, 143.05926743686274

PostPosted: Thu Mar 16, 2023 3:46 pm    Post subject: KDE plasma-welcome and plasmashell crash after SDDM log in Reply with quote

a continuation of this thread.

i figured it was time for a new thread with a more descriptive title. (if i should have done something else than starting a new thread, please tell me)

i'll collate some related information here, but please see the other thread f0r additional details.


first, Xorg itself seems to work fine. much testing was done, and it seems to be working fine.

next, after logging in with sddm, the plasma loading screen appears, but once it disappears, i'm left with only a black screen and a mouse pointer.

the user is already in the video, input, and sddm groups.

whilst examining logs, it seems that all of the plasma apps that attempt to launch (plasma-welcome, plasmashell, drkonqi) crash almost immediately.

here are some straces from a non-root user:
plasmashell
plasma-welcome


and the error output of plasmashell:
Code:

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-shadow'
kf.plasma.quick: Applet preload policy set to 1
KCrash: Attempting to start /usr/bin/plasmashell
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = plasmashell path = /usr/bin pid = 3365
KCrash: Arguments: /usr/bin/plasmashell
KCrash: Attempting to start /usr/lib64/libexec/drkonqi
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-shadow'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-shadow'
QSystemTrayIcon::setVisible: No Icon set
QSocketNotifier: Invalid socket 15 and type 'Read', disabling...
QSocketNotifier: Invalid socket 17 and type 'Read', disabling...
QSocketNotifier: Invalid socket 19 and type 'Read', disabling...
Checking screens: available: (QScreen(0x5568c58bbe30, name="HDMI-2")) redundant: QHash() fake: QSet() all: (QScreen(0x5568c58bbe30, name="HDMI-2"))
kf.plasma.quick: Applet preload policy set to 1
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = drkonqi path = /usr/lib64/libexec pid = 3374
KCrash: Arguments: /usr/lib64/libexec/drkonqi --appname plasmashell --apppath /usr/bin --signal 11 --pid 3365 --appversion 5.27.2 --programname Plasma --bugaddress submit@bugs.kde.org --restarted
KCrash: Attempting to start /usr/lib64/libexec/drkonqi
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-shadow'
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = drkonqi path = /usr/lib64/libexec pid = 3391
KCrash: Arguments: /usr/lib64/libexec/drkonqi --appname drkonqi --apppath /usr/lib64/libexec --signal 11 --pid 3374 --appversion 5.27.2 --programname The KDE Crash Handler --bugaddress submit@bugs.kde.org


finally, a logfile from /home/<username>/.local/share/sddm/xorg-session.log:
Code:

kdeinit5: preparing to launch '/usr/lib64/libexec/kf5/klauncher'
kdeinit5: Launched KLauncher, pid = 2835, result = 0
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
kdeinit5: opened connection to :0
Initializing  "/usr/lib64/qt5/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Initializing  "/usr/lib64/qt5/plugins/plasma/kcms/systemsettings/kcm_style.so"
kdeinit5: Got SETENV 'GTK_RC_FILES=/etc/gtk/gtkrc:/home/test/.gtkrc:/home/test/.config/gtkrc' from launcher.
kdeinit5: Got SETENV 'GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/test/.gtkrc-2.0:/home/test/.config/gtkrc-2.0' from launcher.
Initializing  "/usr/lib64/qt5/plugins/plasma/kcms/systemsettings/kcm_mouse.so"
kdeinit5: Got SETENV 'XCURSOR_THEME=breeze_cursors' from launcher.
kdeinit5: Got SETENV 'XCURSOR_SIZE=24' from launcher.
org.kde.plasma.session: process job  "kcminit_startup" finished with exit code  0
org.kde.kscreen.dpms: DPMS extension not available
Installing the delayed initialization callback.
kwin_xkbcommon: XKB: inet:323:58: unrecognized keysym "XF86EmojiPicker"
kwin_xkbcommon: XKB: inet:324:58: unrecognized keysym "XF86Dictate"
kcm_touchpad: Using X11 backend
Delayed initialization.
Reloading the khotkeys configuration
Version 2 File!
true
Imported file "/usr/share/khotkeys/defaults.khotkeys"
Imported file "/usr/share/khotkeys/kde32b1.khotkeys"
Imported file "/usr/share/khotkeys/konqueror_gestures_kde321.khotkeys"
Qt: Session management error: networkIdsList argument is NULL
kdeinit5: Got SETENV 'SESSION_MANAGER=local/dragon:@/tmp/.ICE-unix/2892,unix/dragon:/tmp/.ICE-unix/2892' from launcher.
kdeinit5: Got SETENV 'SESSION_MANAGER=local/dragon:@/tmp/.ICE-unix/2892,unix/dragon:/tmp/.ICE-unix/2892' from launcher.
Initializing  "/usr/lib64/qt5/plugins/plasma/kcms/systemsettings/kcm_kgamma.so"
Xlib XKB extension major= 1  minor= 0
Initializing  "/usr/lib64/qt5/plugins/plasma/kcms/systemsettings/kcm_touchpad.so"
kcm_touchpad: Using X11 backend
OpenGL vendor string:                   NVIDIA Corporation
OpenGL renderer string:                 NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2
OpenGL version string:                  3.1.0 NVIDIA 525.89.02
OpenGL shading language version string: 1.40 NVIDIA via Cg compiler
Driver:                                 NVIDIA
Driver version:                         525.89.2
GPU class:                              Unknown
OpenGL version:                         3.1
GLSL version:                           1.40
X server version:                       1.21.1
Linux kernel version:                   6.2.2
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
QDBusConnection: name 'org.freedesktop.UDisks2' had owner '' but we thought it was ':1.22'
New PolkitAgentListener  0x55c394852600
Adding new listener  PolkitQt1::Agent::Listener(0x7fcc9000bd50) for  0x55c394852600
Listener online
Authentication agent result: true
X server XKB extension major= 1  minor= 0
No such schema “org.gnome.desktop.a11y.applications”
org.kde.kscreen.dpms: DPMS extension not available
/usr/include/c++/v1/optional:975: assertion this->has_value() failed: optional operator* called on a disengaged valueQDBusAbstractAdaptor: Cannot relay signal KDEDModule::moduleDeleted(KDEDModule*): Pointers are not supported: KDEDModule*
Known activities: ("5944668d-66de-42f7-ad95-9461fe657b9a")
kscreen.kded: PowerDevil SuspendSession action not available!
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = plasma-welcome path = /usr/bin pid = 2983
KCrash: Arguments: /usr/bin/plasma-welcome
KCrash: Attempting to start /usr/lib64/libexec/drkonqi
kf.plasma.quick: Applet preload policy set to 1
KCrash: Attempting to start /usr/lib64/libexec/org_kde_powerdevil
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = org_kde_powerdevil path = /usr/lib64/libexec pid = 2918
KCrash: Arguments: /usr/lib64/libexec/org_kde_powerdevil
QSocketNotifier: Invalid socket 7 and type 'Read', disabling...
QSocketNotifier: Invalid socket 8 and type 'Read', disabling...
QSocketNotifier: Invalid socket 9 and type 'Read', disabling...
QSocketNotifier: Invalid socket 13 and type 'Read', disabling...
KCrash: Attempting to start /usr/lib64/libexec/drkonqi
org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
org.kde.kscreen.dpms: DPMS extension not available
/usr/include/c++/v1/optional:975: assertion this->has_value() failed: optional operator* called on a disengaged valueKCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = drkonqi path = /usr/lib64/libexec pid = 3025
KCrash: Arguments: /usr/lib64/libexec/drkonqi --appname plasma-welcome --apppath /usr/bin --signal 11 --pid 2983 --appversion 5.27.2 --programname Welcome to KDE Plasma --bugaddress submit@bugs.kde.org
KCrash: Attempting to start /usr/lib64/libexec/drkonqi
Registering ":1.25/StatusNotifierItem" to system tray
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = drkonqi path = /usr/lib64/libexec pid = 3073
KCrash: Arguments: /usr/lib64/libexec/drkonqi --appname drkonqi --apppath /usr/lib64/libexec --signal 11 --pid 3025 --appversion 5.27.2 --programname The KDE Crash Handler --bugaddress submit@bugs.kde.org
KCrash: Attempting to start /usr/bin/plasmashell
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = plasmashell path = /usr/bin pid = 2907
KCrash: Arguments: /usr/bin/plasmashell
KCrash: Attempting to start /usr/lib64/libexec/drkonqi
Registering ":1.28/StatusNotifierItem" to system tray
QSocketNotifier: Invalid socket 22 and type 'Read', disabling...
QSocketNotifier: Invalid socket 24 and type 'Read', disabling...
QSocketNotifier: Invalid socket 26 and type 'Read', disabling...
Checking screens: available: (QScreen(0x55ab8e4db700, name="HDMI-1")) redundant: QHash() fake: QSet() all: (QScreen(0x55ab8e4db700, name="HDMI-1"))
kf.plasma.quick: Applet preload policy set to 1
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = drkonqi path = /usr/lib64/libexec pid = 3036
KCrash: Arguments: /usr/lib64/libexec/drkonqi --appname org_kde_powerdevil --apppath /usr/lib64/libexec --signal 6 --pid 2918 --appversion 5.27.2 --programname KDE Power Management System --bugaddress submit@bugs.kde.org --productname Powerdevil --restarted
KCrash: Attempting to start /usr/lib64/libexec/drkonqi
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = drkonqi path = /usr/lib64/libexec pid = 3100
KCrash: Arguments: /usr/lib64/libexec/drkonqi --appname drkonqi --apppath /usr/lib64/libexec --signal 11 --pid 3036 --appversion 5.27.2 --programname The KDE Crash Handler --bugaddress submit@bugs.kde.org
Service  ":1.25" unregistered
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = drkonqi path = /usr/lib64/libexec pid = 3084
KCrash: Arguments: /usr/lib64/libexec/drkonqi --appname plasmashell --apppath /usr/bin --signal 11 --pid 2907 --appversion 5.27.2 --programname Plasma --bugaddress submit@bugs.kde.org --restarted
KCrash: Attempting to start /usr/lib64/libexec/drkonqi
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = drkonqi path = /usr/lib64/libexec pid = 3108
KCrash: Arguments: /usr/lib64/libexec/drkonqi --appname drkonqi --apppath /usr/lib64/libexec --signal 11 --pid 3084 --appversion 5.27.2 --programname The KDE Crash Handler --bugaddress submit@bugs.kde.org
Service  ":1.28" unregistered
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.8-r1/work/alsa-lib-1.2.8/src/confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.8-r1/work/alsa-lib-1.2.8/src/conf.c:5180:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.8-r1/work/alsa-lib-1.2.8/src/confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.8-r1/work/alsa-lib-1.2.8/src/conf.c:5180:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.8-r1/work/alsa-lib-1.2.8/src/confmisc.c:1334:(snd_func_refer) error evaluating name
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.8-r1/work/alsa-lib-1.2.8/src/conf.c:5180:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.8-r1/work/alsa-lib-1.2.8/src/conf.c:5703:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.8-r1/work/alsa-lib-1.2.8/src/pcm/pcm.c:2666:(snd_pcm_open_noupdate) Unknown PCM default
kf.notifications: Failed to play sound with canberra: File or data not found
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
kdeinit5: Fatal IO error: client killed
kdeinit5: sending SIGHUP to children.
klauncher: Exiting on signal 1
kf.notifications: Had queued notifications on destruction. Was the eventloop running?
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
kdeinit5: sending SIGTERM to children.
kdeinit5: Exit.


note, please ignore the X11 connection broke. this was most likely causes by me killing the process before shutting the machine down.
Back to top
View user's profile Send private message
CooSee
Veteran
Veteran


Joined: 20 Nov 2004
Posts: 1540
Location: Earth

PostPosted: Thu Mar 16, 2023 8:59 pm    Post subject: Reply with quote

TL;DR the other thread.
Quote:
NVIDIA system

have you tried with other (older) nvidia version?

are you using testing profile ?

also, if trying with another user profile - same behaviour?

8)
_________________
" Die Realität ist eine Illusion, die durch Mangel an ehrlicher Kommunikation entsteht "
---
" Der Mensch ist von Natur aus neugierig, was am Ende übrig bleibt ist die Gier "
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1632
Location: Richmond Hill, Canada

PostPosted: Thu Mar 16, 2023 10:27 pm    Post subject: Reply with quote

Shadow_Fury,

I don't use KDE and certainly not Plasma. So I am guessing here.

I look both strace file for plasma-welcome and plasmashell. I found for plasma-welcome it is looking for /home/shadow/.config/plasma-welcomerc which seems not exist.

whereas for plasmashell the /home/shadow/.config/plasmashellrc does exist however it also looking for /home/shadow/.config/plasmarc which does not exist.

I don't know if those program missing "rc" file will cause it crash or not. it is possible because the program search path also looking system directory like /usr/share or /usr/lib or /etx/xdg. none of those place program can find a "rc" file it looking for. So this is first guess.

The second guess is that plasmashell seems to failed at the something about fontconfig. But I am not sure. I cannot find reference on my machine because my machine have very old gentoo setup that seems have different .local directory structure.

It is very possible missing "rc" file is not impotent because the program have correct default values. however it is also possible those program expecting there is a global configure which seems also missing.

Do you have /tmp/runtime-shadow directory? is there something there may be able to help debug?
Back to top
View user's profile Send private message
Shadow_Fury
Apprentice
Apprentice


Joined: 20 Apr 2021
Posts: 196
Location: 11.435765792823453, 143.05926743686274

PostPosted: Fri Mar 17, 2023 10:40 pm    Post subject: Reply with quote

CooSee wrote:
TL;DR the other thread.
Quote:
NVIDIA system

have you tried with other (older) nvidia version?

are you using testing profile ?

also, if trying with another user profile - same behaviour?

8)


tried downgrading nvidia-drivers from 525.89.02 to 525.85.05, didn't help.

i'm using a custom profile.

the only important thing in it is the parents file:
Code:

gentoo:default/linux/amd64/17.1/clang
gentoo:default/linux/amd64/17.1/hardened/selinux
gentoo:targets/desktop/plasma


not sure how to switch profiles without it completely breaking my use flags

pingtoo wrote:
Shadow_Fury,

I don't use KDE and certainly not Plasma. So I am guessing here.

I look both strace file for plasma-welcome and plasmashell. I found for plasma-welcome it is looking for /home/shadow/.config/plasma-welcomerc which seems not exist.

whereas for plasmashell the /home/shadow/.config/plasmashellrc does exist however it also looking for /home/shadow/.config/plasmarc which does not exist.

I don't know if those program missing "rc" file will cause it crash or not. it is possible because the program search path also looking system directory like /usr/share or /usr/lib or /etx/xdg. none of those place program can find a "rc" file it looking for. So this is first guess.

The second guess is that plasmashell seems to failed at the something about fontconfig. But I am not sure. I cannot find reference on my machine because my machine have very old gentoo setup that seems have different .local directory structure.

It is very possible missing "rc" file is not impotent because the program have correct default values. however it is also possible those program expecting there is a global configure which seems also missing.

Do you have /tmp/runtime-shadow directory? is there something there may be able to help debug?


tried copying the plasmarc from /home/shadow/.config/kdedefaults/plasmarc one dir up, plasmashell still crashes.

/tmp/runtime-shadow only exists after one of the programs crashes, and is full of unix sockets in the format of kcrash_[0-9]{4} none of the sockets can actually be accessed with ncat -U though
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23336

PostPosted: Fri Mar 17, 2023 11:31 pm    Post subject: Reply with quote

Have you tried running the program under gdb and examining the program context at the time of the crash? DrKonqi is supposed to do something for post-crash analysis, but it appears to be too broken in this case, so you will need to start the offending program under gdb and catch it as it faults.
Back to top
View user's profile Send private message
CooSee
Veteran
Veteran


Joined: 20 Nov 2004
Posts: 1540
Location: Earth

PostPosted: Sat Mar 18, 2023 4:50 pm    Post subject: Reply with quote

just a wild guess, is your user in plugdev group ?

8)
_________________
" Die Realität ist eine Illusion, die durch Mangel an ehrlicher Kommunikation entsteht "
---
" Der Mensch ist von Natur aus neugierig, was am Ende übrig bleibt ist die Gier "
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1857
Location: South America

PostPosted: Sat Mar 18, 2023 8:33 pm    Post subject: Re: KDE plasma-welcome and plasmashell crash Reply with quote

This won't help a lot, but:

Shadow_Fury wrote:
Code:
/usr/include/c++/v1/optional:975: assertion this->has_value() failed: optional operator* called on a disengaged value

I believe that this is likely the problem. The message is seemingly coming from LLVM libc++'s implementation of the C++ standard library's std::optional<> class template.

cppreference.com
Quote:
The class template std::optional manages an optional contained value, i.e. a value that may or may not be present.
[...]
Any instance of optional<T> at any given point in time either contains a value or does not contain a value.
std::optional<T>::operator->, std::optional<T>::operator*
Quote:
The behavior is undefined if *this does not contain a value

libc++'s implementation of overloaded operator * seems to do some equivalent of calling assert(), i. e. checking whether an object of a specialization of std::optional<> actually contains a value, and aborting if it does not.

Code:
    _LIBCPP_INLINE_VISIBILITY
    constexpr
    const value_type&
    operator*() const& noexcept
    {
        _LIBCPP_ASSERT(this->has_value(), "optional operator* called on a disengaged value");
        return this->__get();
    }

That would explain the abnormal exits. However, I don't know where this is happening, i. e. which KDE (or Qt?) component is using operator * with an object that does no contain a value, and why this is happening.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23336

PostPosted: Sat Mar 18, 2023 9:32 pm    Post subject: Reply with quote

Nice catch. I saw the OP report it as a crash and took it at face value that this was a crash, and not an assertion failure, so I missed seeing that message in the output. I concur with your analysis, and will note that _LIBCPP_ASSERT is a no-op if _LIBCPP_DEBUG_LEVEL == 0, and has this assert-like behavior if _LIBCPP_DEBUG_LEVEL != 0. Therefore, for people who build with _LIBCPP_DEBUG_LEVEL == 0, this assertion is omitted and a reference to the disengaged value is returned. That may or may not cause problems later, but it won't lead to the nice clean abort reported here. On my system, clang defaults to _LIBCPP_DEBUG_LEVEL == 0. Evidently, OP has built this package with libc++ debugging enabled, possibly because the package always does that or possibly as a result of some local profile adjustments.
Back to top
View user's profile Send private message
Shadow_Fury
Apprentice
Apprentice


Joined: 20 Apr 2021
Posts: 196
Location: 11.435765792823453, 143.05926743686274

PostPosted: Sun Mar 19, 2023 1:55 am    Post subject: Reply with quote

CooSee wrote:
just a wild guess, is your user in plugdev group ?

8)


adding the user to plugdev didn't help (previously wasn't in plugdev)

Hu wrote:
Nice catch. I saw the OP report it as a crash and took it at face value that this was a crash, and not an assertion failure, so I missed seeing that message in the output. I concur with your analysis, and will note that _LIBCPP_ASSERT is a no-op if _LIBCPP_DEBUG_LEVEL == 0, and has this assert-like behavior if _LIBCPP_DEBUG_LEVEL != 0. Therefore, for people who build with _LIBCPP_DEBUG_LEVEL == 0, this assertion is omitted and a reference to the disengaged value is returned. That may or may not cause problems later, but it won't lead to the nice clean abort reported here. On my system, clang defaults to _LIBCPP_DEBUG_LEVEL == 0. Evidently, OP has built this package with libc++ debugging enabled, possibly because the package always does that or possibly as a result of some local profile adjustments.


the only package that had a test flag enables i've since disabled. this did not help.

i did not manually enable debugging on any other packages.

the only thing that could've done it is one of the packages responding to the "hardened" use flag or the "IS_HARDEDED=1" variable set by the hardened profile, as there is no direct reference to enabling libc++ debugging in the profile otherwise

would i then simply need to add
Code:
 _LIBCPP_DEBUG_LEVEL = 0
to make.conf, and rebuild the plasma/Qt stack?

also, i completely didn't notice that assert-fail either.

here's make.conf, in case something jumps out:
Code:

HARDEN_FLAGS="-flto -fvisibility=hidden -fsanitize=cfi -fsanitize=safe-stack -ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang -fsanitize=signed-integer-overflow,unsigned-integer-overflow -fsanitize-trap=signed-integer-overflow,unsigned-integer-overflow -fomit-frame-pointer -fno-plt"

COMMON_FLAGS="-mtune=native -march=native -O2 -pipe -flto"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing.
#CHOST="x86_64-pc-linux-gnu"
# NOTE: This stage was built with the bindist Use flag enabled


# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C

MAKEOPTS="-j12"
FEATURES="parallel-fetch parallel-install userfetch cgroup ebuild-locks ipc-sandbox mount-sandbox network-sandbox pid-sandbox sandbox sfperms stricter suidctl unknown-features-filter unknown-features-warn userpriv usersandbox usersync"

ADD="verify-sig rsync-verify clang peer_perms ubac gpg llvm fortify cuda lvm vdpau zsh-completions joystick xvmc nvidia vulkan lto llvm-libunwind"
REMOVE="-systemd -gnome -gnome-keyring -gtk -pulseaudio -bindist -bluetooth -cet -wayland"

USE="${ADD} ${REMOVE}"

CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3"

EMERGE_DEFAULT_OPTS="--with-bdeps=y --ask --jobs=12 --load-average=12"


ACCEPT_LICENCE="@FREE"
ACCEPT_KEYWORDS="~amd64"

L10N="en-GB"

VIDEO_CARDS="nvidia vesa"
INPUT_DEVICES="libinput joystick evdev"

GRUB_PLATFORMS="efi-64"

GENTOO_MIRRORS="https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ https://ftp.agdsn.de/gentoo https://ftp.gwdg.de/pub/linux/gentoo/ https://ftp.uni-hannover.de/gentoo/ https://mirror.netcologne.de/gentoo/ https://packages.hs-regensburg.de/gentoo-distfiles/ https://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ https://ftp.halifax.rwth-aachen.de/gentoo/ https://ftp.tu-ilmenau.de/mirror/gentoo/ https://ftp.fau.de/gentoo https://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ https://mirror.init7.net/gentoo/ https://mirror.bytemark.co.uk/gentoo/ https://mirrors.gethosted.online/gentoo https://www.mirrorservice.org/sites/distfiles.gentoo.org/"
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1857
Location: South America

PostPosted: Sun Mar 19, 2023 8:48 pm    Post subject: Reply with quote

Shadow_Fury wrote:
would i then simply need to add
Code:
 _LIBCPP_DEBUG_LEVEL = 0
to make.conf, and rebuild the plasma/Qt stack?

It is not an environment variable. As far as I can tell, you get _LIBCPP_ASSERT() to have the assert-like behaviour by building libc++ with -DLIBCXX_ENABLE_ASSERTIONS=ON passed to cmake, or as a side effect of passing -DLIBCXX_ENABLE_DEBUG_MODE=ON. Both are OFF by default, so I don't know how one gets those passed with Gentoo's ebuild.

Code:
grep -E '(DEBUG_MODE|_ASSERTIONS)' /usr/include/c++/v1/__config_site

This should show tell how the installed libc++ was configured.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
Shadow_Fury
Apprentice
Apprentice


Joined: 20 Apr 2021
Posts: 196
Location: 11.435765792823453, 143.05926743686274

PostPosted: Sun Mar 19, 2023 9:26 pm    Post subject: Reply with quote

Code:

#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0
/* #undef _LIBCPP_ENABLE_DEBUG_MODE */


it appears that the un-definition of ENABLE_DEBUG has been commented out by someone/thing
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1857
Location: South America

PostPosted: Sun Mar 19, 2023 9:54 pm    Post subject: Reply with quote

Shadow_Fury wrote:
Code:

#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0
/* #undef _LIBCPP_ENABLE_DEBUG_MODE */

OK, this libc++ has (now) assertions disabled.

Shadow_Fury wrote:
it appears that the un-definition of ENABLE_DEBUG has been commented out by someone/thing

Yes, CMake. That's expected.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
Shadow_Fury
Apprentice
Apprentice


Joined: 20 Apr 2021
Posts: 196
Location: 11.435765792823453, 143.05926743686274

PostPosted: Sun Mar 19, 2023 10:01 pm    Post subject: Reply with quote

then why is the assertion fail still triggering, this is the same libcxx as before. nothing at all has changed
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1857
Location: South America

PostPosted: Sun Mar 19, 2023 10:27 pm    Post subject: Reply with quote

Shadow_Fury wrote:
then why is the assertion fail still triggering, this is the same libcxx as before. nothing at all has changed

The call to _LIBCPP_ASSERT() happens in a header, so it is included verbatim in the C++ source files of other packages. Which will have gotten the definition of the macro that was there at each packages' build time.

You probably have to rebuild the Qt / KDE stack, as you suggested before, so that everyone gets the updated definition of std::optional<>::operator *().

EDIT: Just so that it is clear, an assertion failure is a symptom of an underlying bug or very unusual situation; supressing the assertion is just killing the messenger. Things might just work, or crash for real.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
Shadow_Fury
Apprentice
Apprentice


Joined: 20 Apr 2021
Posts: 196
Location: 11.435765792823453, 143.05926743686274

PostPosted: Mon Mar 20, 2023 2:18 am    Post subject: Reply with quote

rebuilt the x11/qt/kde stack with this:

Code:

 emerge --oneshot $(qlist -I 'x11-.*/') $(qlist -I 'kde-.*/') $(qlist -I 'dev-qt/*') --exclude nvidia-drivers --keep-going


didn't help.

what's more, the assertion fail is still there, so i can only assume some package is pulling the assertion in manually.
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1857
Location: South America

PostPosted: Mon Mar 20, 2023 4:34 pm    Post subject: Reply with quote

Since missing a package that uses std::optional<> is too easy (it's a standard library component after all), it's probably time to use GDB, as Hu suggested. I'd start by rebuilding sys-libs/libcxx, kde-plasma/plasma-workspace and kde-plasma/plasma-welcome with debugging information, and then seeing what GDB shows.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum