kdeinit5 在 Fedora 29 中经常失败

sph*_*nks 5 linux fedora crash kde

我使用 Fedora 29 + KDE 5.14.5 + KDE Framework 5.59.0 + QT 5.11.3。在过去的几天里,我遇到了很多 kdeinit5 崩溃。我不知道是什么导致了崩溃,没有导致失败的具体操作。在日志中我得到这样的信息:

localhost.localdomain plasmashell[2011]: QQuickItem::stackAfter: Cannot stack StatusNotifierItem_QMLTYPE_372(0x557f6d64dc00, parent=0x557f688f>
aug 27 15:43:35 localhost.localdomain plasmashell[2011]: file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationDelegate.qml:>
aug 27 15:43:35 localhost.localdomain systemd-coredump[5172]: Process 3301 (file.so) of user 1000 dumped core.

                                                                 Stack trace of thread 3301:
                                                                 #0  0x00007f8e509828b5 _ZN6QMutex4lockEv (libQt5Core.so.5)
                                                                 #1  0x00007f8e50b76186 _ZN10QTextCodec14codecForLocaleEv (libQt5Core.so.5)
                                                                 #2  0x00007f8e50a00569 _ZN7QString20fromLocal8Bit_helperEPKci (libQt5Core.so.5)
                                                                 #3  0x00007f8e50ad67b8 _ZN14QStandardPaths16writableLocationENS_16StandardLocationE (libQt5Co>
                                                                 #4  0x00007f8e51c35881 n/a (libKF5Crash.so.5)
                                                                 #5  0x00007f8e51c36362 n/a (libKF5Crash.so.5)
                                                                 #6  0x00007f8e51c36815 _ZN6KCrash19defaultCrashHandlerEi (libKF5Crash.so.5)
                                                                 #7  0x00007f8e50406600 .annobin_sigaction.c (libc.so.6)
aug 27 15:43:35 localhost.localdomain systemd-coredump[5173]: Process 3991 (file.so) of user 1000 dumped core.

                                                                 Stack trace of thread 3991:
                                                                 #0  0x00007f8e509828b5 _ZN6QMutex4lockEv (libQt5Core.so.5)
                                                                 #1  0x00007f8e50b76186 _ZN10QTextCodec14codecForLocaleEv (libQt5Core.so.5)
                                                                 #2  0x00007f8e50a00569 _ZN7QString20fromLocal8Bit_helperEPKci (libQt5Core.so.5)
                                                                 #3  0x00007f8e50ad67b8 _ZN14QStandardPaths16writableLocationENS_16StandardLocationE (libQt5Co>
                                                                 #4  0x00007f8e51c35881 n/a (libKF5Crash.so.5)
                                                                 #5  0x00007f8e51c36362 n/a (libKF5Crash.so.5)
                                                                 #6  0x00007f8e51c36815 _ZN6KCrash19defaultCrashHandlerEi (libKF5Crash.so.5)
                                                                 #7  0x00007f8e50406600 .annobin_sigaction.c (libc.so.6)
aug 27 15:43:35 localhost.localdomain audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-cor>
aug 27 15:43:35 localhost.localdomain audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-cor>
aug 27 15:43:36 localhost.localdomain kwin_x11[1996]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 42177, resource id: 123731979, major cod>
aug 27 15:43:37 localhost.localdomain abrt-server[5210]: Deleting problem directory ccpp-2019-08-27-15:43:35.946209-3301 (dup of ccpp-2019-08-26-17:08:51.2832>
aug 27 15:43:37 localhost.localdomain abrt-server[5210]: Lock file '.lock' is locked by process 2388
aug 27 15:43:38 localhost.localdomain abrt-notification[5253]: Process 4388 (kdeinit5) crashed in QMutex::lock()()
aug 27 15:43:40 localhost.localdomain abrt-server[5211]: Deleting problem directory ccpp-2019-08-27-15:43:35.962232-3991 (dup of ccpp-2019-08-26-17:08:51.2832>
aug 27 15:43:40 localhost.localdomain abrt-notification[5298]: Process 4388 (kdeinit5) crashed in QMutex::lock()()

Run Code Online (Sandbox Code Playgroud)

我已经用相同的问题检查了所有其他 SO 主题,但没有明确的答案。任何人都可以指出导致所有崩溃的问题吗?

编辑 1 看起来 xsessions-errors 中有相关的行:

AppIconMgr::systemDesktopName log Desktop Name: /usr/share/xsessions/plasma 
Error: Send error, 22 Invalid argument
Error: Send error, 22 Invalid argument
Error: Send error, 22 Invalid argument
KCrash: Application 'kdeinit5' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi from kdeinit
CSBConfUI::OnConfStatusChanged  UI_CMD_SHARE_READYqrc:/qml/JoinAudio.qml:71: TypeError: Cannot read property of null
qrc:/qml/JoinAudio.qml:72: TypeError: Cannot read property of null
[4424:4424:0827/185838.722928:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
KCrash: Application 'kdeinit5' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi from kdeinit
KCrash: Application 'kdeinit5' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi from kdeinit
KCrash: Application 'kdeinit5' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi from kdeinit
KCrash: Application 'kdeinit5' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi from kdeinit
qrc:/qml/AttendeeItemDelegate.qml:26: TypeError: Cannot read property 'itemType' of undefined
qrc:/qml/AttendeeItemDelegate.qml:360: TypeError: Cannot read property 'isItemHovered' of undefined
qrc:/qml/AttendeeItemDelegate.qml:26: TypeError: Cannot read property 'itemType' of undefined
qrc:/qml/AttendeeItemDelegate.qml:360: TypeError: Cannot read property 'isItemHovered' of undefined
qrc:/qml/AttendeeItemDelegate.qml:26: TypeError: Cannot read property 'itemType' of undefined
qrc:/qml/AttendeeItemDelegate.qml:360: TypeError: Cannot read property 'isItemHovered' of undefined
qrc:/qml/AttendeeItemDelegate.qml:26: TypeError: Cannot read property 'itemType' of undefined
qrc:/qml/AttendeeItemDelegate.qml:360: TypeError: Cannot read property 'isItemHovered' of undefined
qrc:/qml/AttendeeItemDelegate.qml:26: TypeError: Cannot read property 'itemType' of undefined
qrc:/qml/AttendeeItemDelegate.qml:360: TypeError: Cannot read property 'isItemHovered' of undefined
qrc:/qml/AttendeeItemDelegate.qml:26: TypeError: Cannot read property 'itemType' of undefined
qrc:/qml/AttendeeItemDelegate.qml:360: TypeError: Cannot read property 'isItemHovered' of undefined
qrc:/qml/AttendeeItemDelegate.qml:26: TypeError: Cannot read property 'itemType' of undefined
qrc:/qml/AttendeeItemDelegate.qml:360: TypeError: Cannot read property 'isItemHovered' of undefined
Run Code Online (Sandbox Code Playgroud)

sne*_*vik 3

抱歉 - 还不能发表评论 - 必须使用答案部分。使用 KDE5 在 Fedora 29 上遇到同样的问题。关闭 dolphin 后,大多数情况下都会出现此错误:

很抱歉,kdeinit5 意外关闭。
您无法报告此错误,因为 kdeinit5 不提供错误报告地址。

这是 kf5-* 更新的结果。使用 kf5-* 版本 5.58.0-1 检查了另一个系统并做了

dnf update -x kf5-*
Run Code Online (Sandbox Code Playgroud)

结果 - 没有错误。将 kf5-* 版本 5.58.0-1 更新到 kf5-* 版本 5.59.0-1:

dnf update
Run Code Online (Sandbox Code Playgroud)

结果 - 错误。

做了更多挖掘:

  1. 从系统中删除了 NVIDIA 驱动程序 - 仅在 nouveau 上运行。错误仍然存​​在。
  2. 使用具有 AMD RX580 视频的另一个系统 - 相同的结果:错误仍然存​​在。
  3. 做了:dnf reinstall kf5-*-结果相同:错误仍然存​​在。

结论 - 此错误与任何特定视频驱动程序无关。此错误仅与最新的 kf5-* 版本 5.59.0-1 更新相关。不幸的是,您无法降级到 kf5-* 版本 5.58.0-1 - 因为它已从服务器中删除。

编辑1 2019 年 9 月 3 日:

周末我又做了一些挖掘。从 5.59.0 开始的所有最新版本的 kf5-kio 都有这个错误。还检查了 5.60.0 和 5.61.0

感谢 rayting 提供旧 (kf5- 5.58.0 ) 源代码的链接- 它救了我!

这就是我所做的:我认为这会破坏 Fedora 的所有保证(如果有的话),但这对我有用。如果它破坏了您的系统,请不要责怪我:-)

  1. 列出系统上安装的所有应用程序组 - 包括隐藏的应用程序组(作为 root 或使用 sudo 如果已配置):
   dnf group list --hidden
   sudo dnf group list --hidden
Run Code Online (Sandbox Code Playgroud)
  1. 安装所有必需的开发包(可能需要一段时间)并确保所有内容都是最新的:警告:可能会向您的系统添加大量已用空间 - 确保您有足够的存储空间。
   dnf -y group install "C Development Tools and Libraries" "KDE Software Development" "KDE Frameworks 5 Software Development" "RPM Development Tools"
   sudo dnf -y group install "C Development Tools and Libraries" "KDE Software Development" "KDE Frameworks 5 Software Development" "RPM Development Tools"

   dnf update
   sudo dnf update
Run Code Online (Sandbox Code Playgroud)
  1. 以用户身份打开 konsole 并下载 kf5-kio-5.58.0-1 的源代码:
   wget https://kojipkgs.fedoraproject.org//packages/kf5-kio/5.58.0/1.fc29/src/kf5-kio-5.58.0-1.fc29.src.rpm
Run Code Online (Sandbox Code Playgroud)
  1. 安装源rpm:
   rpm -Uvh kf5-kio-5.58.0-1.fc29.src.rpm
Run Code Online (Sandbox Code Playgroud)
  1. 更改为创建的 SOURCES 目录:
   cd ~/rpmbuild/SOURCES
Run Code Online (Sandbox Code Playgroud)
  1. 提取 kf5-kio 的存档:
   tar -xf kio-5.58.0.tar.xz
Run Code Online (Sandbox Code Playgroud)
  1. 将提取的目录移动到 kio-5.59.0 (这是作弊!:-)
   mv kio-5.58.0 kio-5.59.0
Run Code Online (Sandbox Code Playgroud)
  1. 压缩该目录:
   tar -cJf kio-5.59.0.tar.xz kio-5.59.0
Run Code Online (Sandbox Code Playgroud)
  1. 修改 .spec 文件以显示“新”版本和发布:
   sed -i -e "s/Version: 5.58.0/Version: 5.59.0/g" ~/rpmbuild/SPECS/kf5-kio.spec
   sed -i -e "s/Release: 1%{?dist}/Release: 33%{?dist}/g" ~/rpmbuild/SPECS/kf5-kio.spec
Run Code Online (Sandbox Code Playgroud)
  1. 构建一个新的 srcrpm:
   rpmbuild --bs ~/rpmbuild/SPECS/kf5-kio.spec
Run Code Online (Sandbox Code Playgroud)
  1. 重建 src rpm(需要 5-10 分钟,具体取决于您的硬件):
   rpmbuild --rebuild ~/rpmbuild/SRPMS/kf5-kio-5.59.0-33.fc29.src.rpm
Run Code Online (Sandbox Code Playgroud)
  1. 它还将构建“debugsource”和“debuginfo”包(有人可以指导我如何在 Fedora 上永久禁用它们吗?):删除这些包并更新你的 kf5:
    rm -f ~/rpmbuild/RPMS/*/*debug*
    ls -las ~/rpmbuild/RPMS/*/*
    su
    dnf update %(user_home)/rpmbuild/RPMS/*/* 
Run Code Online (Sandbox Code Playgroud)
  1. 之后关闭并重新打开 Dolphin - 然后尝试再次关闭它 - 您应该不会再出现崩溃。

结论:版本 5.58.0 和 5.59.0 之间的 kf5-kio 软件包发生了更改,该更改在版本 5.60.0 和 5.61.0 中仍然存在,导致 kdeinit5 在 Dolphin 关闭时崩溃。只有修复此错误(在 KDE 部分)并将该修复向后移植到 kf5 版本 5.59.0、5.60.0 和 5.61.0 后,才会不再产生崩溃。