Bug 502960 - DrKonqi: Socket launch skipped because of an unmet condition check (ConditionUser=!@system).
Summary: DrKonqi: Socket launch skipped because of an unmet condition check (Condition...
Status: CONFIRMED
Alias: None
Product: drkonqi
Classification: Applications
Component: backtraceparsing (other bugs)
Version First Reported In: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-18 09:30 UTC by markwolf
Modified: 2025-05-23 09:34 UTC (History)
10 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description markwolf 2025-04-18 09:30:23 UTC
SUMMARY
drkonqi6-6.3.4-1.1.x86_64 on openSUSE Tumbleweed fills the journal repetitively every few seconds with failure msgs of type:
Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
drkonqi-coredump-launcher.socket: Unit needs to be started because active unit sockets.target upholds it, but not starting since we tried this too often recently. Will retry later.

STEPS TO REPRODUCE
1. upgrade to drkonqi6-6.3.4-1.1.x86_64 on openSUSE Tumbleweed
2. boot
3. inspect journal

OBSERVED RESULT
I get repetitive blocks of failure messages from drkonqi in my journal every few seconds.
This has started on my machine with drkonqi6-6.3.4-1.1.x86_64  and exactly after booting the system at 19:33:04 on Apr 11 after system upgrade.

Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
Apr 11 19:33:13 machn systemd[2618]: drkonqi-coredump-launcher.socket: Unit needs to be started because active unit sockets.target upholds it, but not starting since we tried this too often recently. Will retry later.

EXPECTED RESULT
An occasional log to the journal from drkonqi of type

Apr 10 11:22:33 machn systemd[1947]: Listening on Socket to launch DrKonqi for a systemd-coredump crash.
Apr 10 11:22:36 machn systemd[1947]: Started Consume pending crashes using DrKonqi.
Apr 10 11:22:43 machn systemd[1881]: Closed Socket to launch DrKonqi for a systemd-coredump crash.
Apr 10 11:23:37 machn systemd[1947]: Started Launch DrKonqi for a systemd-coredump crash (PID 2296/UID 1000).

This has been the case up to drkonqi6-6.3.3-1.1.x86_64, which was before Apr. 11 on my machine.

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20250414
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.12.0
Qt Version: 6.9.0
Kernel Version: 6.14.1-1-default (64-bit)
Graphics Platform: Wayland

ADDITIONAL INFORMATION
Comment 1 Mark Ferguson 2025-04-19 07:42:07 UTC
I have experienced the same issue after recently upgrading to Kubuntu 25.04.

I managed to find out what I think is the problem.

It turns out the drkonqi-coredump-launcher.socket unit is in the global user space and runs for the root user which is not allowed by the user condition (ConditionUser=!@system). This is why the logs get flooded.

Run as root:

> systemctl --user status drkonqi-coredump-launcher.socket

The systemd global user space is located in the etc directory /etc/systemd/user

I am not sure if the drkonqi-coredump-launcher.socket unit should be in the global user space or it is the incorrect target. Maybe a different target would prevent it starting as the root user i.e. a graphical target instead of the socket target.

The fix is to disable the global unit for drkonqi-coredump-launcher.socket

Run as root:

> systemctl --global disable drkonqi-coredump-launcher.socket

It maybe required to then enable the drkonqi-coredump-launcher.socket in the local user space.

Run as user:

> systemctl --user status drkonqi-coredump-launcher.socket

If disabled run:

> systemctl --user enable drkonqi-coredump-launcher.socket

To check all drkonqi units run this command:

> systemctl --user status drkonqi*

@drkonqi maintainers is the systemd configuration something provided in the software package or is it related to the distribution package?
Comment 2 markwolf 2025-04-19 09:24:19 UTC
 Mark Ferguson's fix seems to work for me. Kudos.

>> @drkonqi maintainers is the systemd configuration something provided in the software package or is it related to the distribution package?

I strongly second getting an answer to this question. @drkonqi maintainers PLS.
Comment 3 John Kizer 2025-04-19 16:00:48 UTC
Hi - for what it's worth, I've seen this message occasionally on my Fedora KDE 42 device, but it's not repeating multiple times in a row, and definitely not to this extent.

I wonder if what you're seeing involves some combination of distribution configuration choices, and this upstream change to fix a different bug: https://invent.kde.org/plasma/drkonqi/-/merge_requests/312
Comment 4 Craig Andersen 2025-04-19 18:28:12 UTC
I had the multiple  message (16) every about 10 seconds. 
Decide to remove the package to silence the message. On tumbleweed 20250417 (latest) using KDE X11.

[1] erase drkonqi6-6.3.4-1.1.x86_64: success

[2] rebooted, no messages.

Installed it back.
[3] install drkonqi6-6.3.4-1.1.x86_64: success
[4] rebooted

It looks like it is proper now, no extra messages.

User 1000 Active
systemctl --user status drkonqi-coredump-launcher.socket

● drkonqi-coredump-launcher.socket - Socket to launch DrKonqi for a systemd-coredump crash
     Loaded: loaded (/usr/lib/systemd/user/drkonqi-coredump-launcher.socket; disabled; preset: enabled)
     Active: active (listening) since Sat 2025-04-19 09:36:25 CDT; 3h 27min ago
 Invocation: e42036a0ab414a759d7b1d7bf6315eb6
     Listen: /run/user/1000/drkonqi-coredump-launcher (SequentialPacket)
   Accepted: 0; Connected: 0;
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/drkonqi-coredump-launcher.socket

ROOT USER (inactive dead)
○ drkonqi-coredump-launcher.socket - Socket to launch DrKonqi for a systemd-coredump crash
     Loaded: loaded (/usr/lib/systemd/user/drkonqi-coredump-launcher.socket; disabled; preset: enabled)
     Active: inactive (dead)
  Condition: start condition unmet at Sat 2025-04-19 09:37:11 CDT; 3h 47min ago
             └─ ConditionUser=!@system was not met
     Listen: /run/user/0/drkonqi-coredump-launcher (SequentialPacket)
   Accepted: 0; Connected: 0;

Apr 19 09:37:11 plato systemd[17365]: Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).

Only that one initialization message in log (09:37).

It seems like an update on about April 8 started this and did not update correctly ?!
Comment 5 Mark Ferguson 2025-04-20 03:02:06 UTC
Something interesting I just noticed.

I moved to Kubuntu 25.04 on 2 machines.

Laptop via the upgrade path from 24.10 and Desktop clean install from iso (The upgrade had an unrecoverable package error so needed to do a clean install)

On the laptop this issue did not appear.
It was only on the Desktop with the clean install that had this issue.

From what I understand on the 24.10 to 25.04 upgrade path the systemd global user drkonqi links did not get recreated , so the existing ones where left in place.

Specifically for drkonqi-coredump-launcher.socket unit there is this difference:

Laptop (upgrade):
> /etc/systemd/user/sockets.target.wants/drkonqi-coredump-launcher.socket

Desktop (clean install):
> /etc/systemd/user/sockets.target.wants/drkonqi-coredump-launcher.socket
> /etc/systemd/user/sockets.target.upholds/drkonqi-coredump-launcher.socket

The drkonqi-coredump-launcher.socket unit includes an UpheldBy property
> UpheldBy=sockets.target

UpheldBy is the reverse relationship to Upholds and this will cause the unit to constantly restart on failure.

And the ConditionUser=!@system also on the unit causes a failure when run as the root user.

I did a quick test on the laptop by enabling the drkonqi-coredump-launcher.socket in my user space and the extra upholds drkonqi-coredump-launcher.socket link was created.
> ~/.config/systemd/user/sockets.target.upholds/drkonqi-coredump-launcher.socket

Which seems to confirm the systemd global user drkonqi links did not get recreated on the upgrade path.

Changing to the root user on the laptop still produces the unmet condition in the log however this only happens once.

Seems there is an edge case in systemd where defining UpheldBy and a run Condition go contrary to each other.

Is there another target that can be used that would not apply to the root user for the drkonqi-coredump-launcher.socket unit?
Comment 6 Joe 2025-04-26 19:23:11 UTC
I was also having this issue and I am on openSUSE Tumbleweed 20250424.  I was getting 10's of these every second, my log was spammed hard for days it seems (I don't look often).

I followed Craig Anderson's fix for Tumbleweed and uninstalled it using `zypper rm drkonqi6` - then I rebooted and did a `zypper in drkonqi6` and rebooted again.  All seems well and can confirm it's running as UID 1000 now.  I'd say this is likely a distro issue not a KDE issue.
Comment 7 Fabian Vogt 2025-05-14 09:11:13 UTC
> I'd say this is likely a distro issue not a KDE issue.

Given that Tumbleweed and Kubuntu are both affected and they have completely unrelated packaging, it's at least not distro specific.

The message should only be printed once for each attempt the .socket unit is started. If that happens in a loop, something triggers systemd reloads or reexecs. Please try "systemctl --user log-level debug" to get some more detailed logs for why this is triggered.
Comment 8 Mark Ferguson 2025-05-14 10:37:03 UTC
Looking closer at the drkonqi-coredump-launcher.socket systemd unit source points to the potential problem  

 https://github.com/KDE/drkonqi/blame/master/src/coredump/launcher/drkonqi-coredump-launcher.socket

2 months ago the condition check got added to the file

> ConditionUser=!@system

This is the last section in the file

> # Prevents trigger-limit-hit failure state by restarting the unit (systemd 250[?])
> UpheldBy=sockets.target

Having the unit defined in the systemd global user space means it can be enabled automatically for any logged in user.

The condition check on the system users seems an improvement however in combination with the UpheldBy option this causes a continuous failure when the unit is enable for the root user (sudo to root is enough to trigger this action)

I am not that familiar with systemd to know if there is another way to configure the unit so it would not run as the root user but also allow the restart functionality for other users. Hopefully this is a common scenario otherwise it probably should be raised as a feature request to the systemd project.
Comment 9 Chandradeep Dey 2025-05-14 14:17:47 UTC
Btw, the bug is also triggered when SSH-ing into the PC.
Comment 10 Chandradeep Dey 2025-05-14 16:25:21 UTC
(In reply to Chandradeep Dey from comment #9)
> Btw, the bug is also triggered when SSH-ing into the PC.

Sorry, it was the sddm user, not SSH. I only saw it on the SSH PC because that one stays on the sddm screen for long periods of time.
Comment 11 Luigi Toscano 2025-05-20 10:58:08 UTC
Not sure why the status of this is NEEDSINFO, but I see this in syslog too on current Debian testing (almost trixie), with drkonqi 6.3.4.
Comment 12 Fabian Vogt 2025-05-20 12:36:50 UTC
(In reply to Luigi Toscano from comment #11)
> Not sure why the status of this is NEEDSINFO, but I see this in syslog too
> on current Debian testing (almost trixie), with drkonqi 6.3.4.

Because of

> Please try "systemctl --user log-level debug" to get some more detailed logs for why this is triggered.

Meanwhile I saw that myself though and there is nothing logged. Systemd really just retries it itself every 10s.

This is something to report upstream and maybe disable UpheldBy in the meantime.
Comment 13 Mike 2025-05-21 03:32:33 UTC
I did the log level debug thing and it does print more, but nothing useful...  It just goes about listing the steps it's doing, one unit file after another.  It does not print the name of anything new, sockets.target and DrKonqi.

I ran
root@mx3:~# systemctl --user log-level notice
and that stops most of the messages :)

Setting the log level as my user does nothing, only root is effected and that matches the error.  Something running as root is crashing over and over?

```
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Unit is started because upheld by active unit sockets.target.
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Trying to enqueue job drkonqi-coredump-launcher.socket/start/fail
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Installed new job drkonqi-coredump-launcher.socket/start as 1248221
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Enqueued job drkonqi-coredump-launcher.socket/start as 1248221
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: ConditionUser=!@system failed.
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Starting requested but condition not met. Not starting unit.
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Job 1248221 drkonqi-coredump-launcher.socket/start finished, result=done
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket - Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Unit is started because upheld by active unit sockets.target.
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Trying to enqueue job drkonqi-coredump-launcher.socket/start/fail
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Installed new job drkonqi-coredump-launcher.socket/start as 1248225
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Enqueued job drkonqi-coredump-launcher.socket/start as 1248225
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: ConditionUser=!@system failed.
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Starting requested but condition not met. Not starting unit.
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Job 1248225 drkonqi-coredump-launcher.socket/start finished, result=done
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket - Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Unit is started because upheld by active unit sockets.target.
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Trying to enqueue job drkonqi-coredump-launcher.socket/start/fail
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Installed new job drkonqi-coredump-launcher.socket/start as 1248229
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Enqueued job drkonqi-coredump-launcher.socket/start as 1248229
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: ConditionUser=!@system failed.
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Starting requested but condition not met. Not starting unit.
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket: Job 1248229 drkonqi-coredump-launcher.socket/start finished, result=done
May 20 22:21:58 mx3 systemd[14911]: drkonqi-coredump-launcher.socket - Socket to launch DrKonqi for a systemd-coredump crash was skipped because of an unmet condition check (ConditionUser=!@system).
```
Comment 14 Mike 2025-05-21 03:40:33 UTC
I removed that condition check from `/usr/lib/systemd/user/drkonqi-coredump-launcher.socket` and ran `# systemctl --user daemon-reload`

Now even with debug logging, I get no more messages.
Comment 15 R. Horvat 2025-05-23 09:34:02 UTC
My log is also spammed by these messages. No workaround is working except disabling condition check in '/usr/lib/systemd/user/drkonqi-coredump-launcher.socket' file.