https://bugs.kde.org/show_bug.cgi?id=524538

            Bug ID: 524538
           Summary: WaylandClipboard shutdown deadlock: destructor waits
                    for ClipboardThread blocked on s_clipboardLock
    Classification: Frameworks and Libraries
           Product: frameworks-kguiaddons
      Version First 6.29.0
       Reported In:
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Created attachment 195333
  --> https://bugs.kde.org/attachment.cgi?id=195333&action=edit
Fully symbolized GDB backtrace of all plasmashell threads, captured from the
core dump produced after the 40-second shutdown timeout

1. **Symptom:** `plasmashell` occasionally fails to terminate during reboot.
2. **Result:** `plasma-plasmashell.service` remains in the `stop-sigterm` state
until it reaches `TimeoutStopUSec=40s`.
3. **Reproduction:** the issue occurs intermittently with `reboot`, `sudo
reboot`, and `sudo systemctl reboot`.
4. **Environment:**

   * Arch Linux;
   * Plasma Wayland 6.7.4;
   * `plasma-workspace 6.7.4-1`;
   * `kguiaddons 6.29.0-1`;
   * `qt6-base 6.11.1-1`;
   * reproduced on both the `linux` and `linux-lts` kernels.
5. **Core dump capture:** I temporarily changed `FinalKillSignal` to `SIGABRT`
and saved the core dump directly to `/var/tmp`.
6. **Main thread:** it was inside `WaylandClipboard::~WaylandClipboard()` →
`QThread::wait()`.
7. **Worker thread:** it was inside `ClipboardThread::run()`, blocked while
attempting to acquire `s_clipboardLock`.
8. **Important note:** `SIGABRT` was deliberately sent by systemd after the
timeout; it was not the original cause of the issue.
9. **Current test:** after completely disabling Klipper, three sessions lasting
more than one hour rebooted normally, although this is not yet conclusive.
10. **Possible relation:** Possibly related to bug 514512:
https://bugs.kde.org/show_bug.cgi?id=514512. That bug caused a SIGSEGV because
m_thread was null, whereas this issue appears to hang while waiting for an
existing thread

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to