Summary: | FolderView : instant crash when filename contains rare UTF-8 symbols | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Mahendra Tallur <mahen> |
Component: | Folder | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED UPSTREAM | ||
Severity: | crash | CC: | hein, im_dracula, kde, kde, nate, nicolas.fella, null, plasma-bugs |
Priority: | NOR | ||
Version: | 5.13.5 | ||
Target Milestone: | 1.0 | ||
Platform: | Manjaro | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=416068 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | How the filename is (properly) displayed under Manjaro (this triggering the plasma crash) |
Description
Mahendra Tallur
2018-09-24 14:00:08 UTC
This needs a backtrace but I suspect crashes somewhere in Qt's font rendering. I cannot reproduce the bug here on neon but I have "fonts-noto-color-emoji" installed, so I do see a red circle emoji. Hi Kai, thanks for the quick reply. OK, I'll get a backtrace. Did you try to hide the file in the middle of a folder view and scroll down ? I will get back to you ASAP. Thanks ! Yes, I just did and still no crash. I also tried increasing the line count so the other special character is alos rendered but to no avail. Can you check whether any of the following crashes: - Running plasmawindowed org.kde.plasma.folder /path/to/folder - Running QT_QUICK_BACKEND=software plasmashell (you can see it's running in software mode when the dropshadow behind icons is gone) @Kai : I made a few more tests. 1. Sometimes, depending on the icon position, the crash is not triggered. To force it to happen, drag & drop the icon of the file with special characters. Drop it, it'll disappear and lead to a Plasmashell crash. 2. The crash doesn't happen with "plasmawindowed" 3. The crash doesn't happen in software mode I still have to get the debugtrace. Cheers ! And here is the backtrace : (gdb) run Starting program: /usr/bin/plasmashell [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". [New Thread 0x7fffeb974700 (LWP 1449)] [New Thread 0x7fffea34b700 (LWP 1450)] [New Thread 0x7fffe9129700 (LWP 1451)] org.kde.plasmaquick: Applet preload policy set to 1 [New Thread 0x7fffdbbff700 (LWP 1452)] file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:61:28: Unable to assign [undefined] to int file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:52:27: Unable to assign [undefined] to int file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:61:28: Unable to assign [undefined] to int file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:52:27: Unable to assign [undefined] to int Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function Empty filename passed to function file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:61:28: Unable to assign [undefined] to int file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:52:27: Unable to assign [undefined] to int kf5.kpackage: No metadata file in the package, expected it at: "/docs/Images/077 - Irlande/irlande/" kf5.kpackage: No metadata file in the package, expected it at: "/docs/Images/077 - Irlande/irlande/" kf5.kpackage: No metadata file in the package, expected it at: "/docs/Images/077 - Irlande/irlande/" trying to show an empty dialog [New Thread 0x7fff542d3700 (LWP 1459)] [New Thread 0x7fff5313f700 (LWP 1460)] [Detaching after fork from child process 1462] kf5.kio.core: We got some errors while running testparm "Load smb config files from /etc/samba/smb.conf\nError loading services.\n" [Detaching after fork from child process 1463] kf5.kio.core: We got some errors while running 'net usershare info' kf5.kio.core: "Can't load /etc/samba/smb.conf - run testparm to debug it\n" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString) Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion Loading Calendar plugin HolidaysEventsPlugin(0x5555570d85b0) Both point size and pixel size set. Using pixel size. Both point size and pixel size set. Using pixel size. Both point size and pixel size set. Using pixel size. trying to show an empty dialog trying to show an empty dialog [New Thread 0x7fff3ec11700 (LWP 1464)] libkcups: Create-Printer-Subscriptions last error: 0 successful-ok libkcups: Get-Jobs last error: 0 successful-ok libkcups: Get-Jobs last error: 0 successful-ok Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion [Detaching after fork from child process 1466] qml: disabling redshift [Detaching after fork from child process 1467] qml: renderModeString: qml: disabling redshift Plasma Shell startup completed org.kde.plasmaquick: New Applet "Lanceur d'application" with a weight of 91 org.kde.plasmaquick: New Applet "Horloge numérique" with a weight of 2 libkcups: 0 libkcups: 0 Both point size and pixel size set. Using pixel size. file:///usr/share/plasma/plasmoids/org.kde.plasma.battery/contents/ui/CompactRepresentation.qml:53:39: Unable to assign [undefined] to int trying to show an empty dialog qml: clearing connected sources, stop source was: killall redshift; redshift -x qml: enabling redshift with command: redshift -l 48.112:-1.6743 -t 6500:4000 -b 1:1 -g 1:1:1 -r [Detaching after fork from child process 1470] org.kde.plasmaquick: New Applet "Imprimantes" with a weight of 0 org.kde.plasmaquick: New Applet "Indicateur de clavier" with a weight of 0 org.kde.plasmaquick: New Applet "KDE Connect" with a weight of 0 org.kde.plasmaquick: New Applet "Notification de nouveau périphérique" with a weight of 60 org.kde.plasmaquick: New Applet "Notifications" with a weight of 2 org.kde.plasmaquick: New Applet "Presse-papiers" with a weight of 0 org.kde.plasmaquick: New Applet "Redshift Control" with a weight of 0 org.kde.plasmaquick: New Applet "Volume audio" with a weight of 0 org.kde.plasmaquick: New Applet "Batterie et luminosité" with a weight of 0 org.kde.plasmaquick: New Applet "Réseaux" with a weight of 0 [Detaching after fork from child process 1471] [New Thread 0x7fff3d3a5700 (LWP 1474)] file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:300:17: QML QQuickText: Binding loop detected for property "width" org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_00_1f.3.analog-stereo.monitor" org.kde.plasmaquick: Delayed preload of "Lanceur d'application" after 0.865 seconds Empty filename passed to function KAStatsFavoritesModel::setFavorites is ignored KActivities: Database connection: "kactivities_db_resources_140737179309312_readonly" query_only: QVariant(qlonglong, 1) journal_mode: QVariant(QString, "wal") wal_autocheckpoint: QVariant(qlonglong, 100) synchronous: QVariant(qlonglong, 0) Closing SQL connection: "kactivities_db_resources_140737179309312_readonly" trying to show an empty dialog org.kde.plasmaquick: Applet "Lanceur d'application" loaded after 52 msec Thread 7 "QSGRenderThread" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff5313f700 (LWP 1460)] 0x0000555555b9faa0 in ?? () (gdb) thread apply all backtrace Thread 9 (Thread 0x7fff3d3a5700 (LWP 1474)): #0 0x00007ffff4a9cafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0 #1 0x00007ffff510e7bc in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5 #2 0x00007ffff6f297ad in () at /usr/lib/libQt5Quick.so.5 #3 0x00007ffff6f29a1c in () at /usr/lib/libQt5Quick.so.5 #4 0x00007ffff510e005 in () at /usr/lib/libQt5Core.so.5 #5 0x00007ffff4a96a9d in start_thread () at /usr/lib/libpthread.so.0 #6 0x00007ffff4df2a43 in clone () at /usr/lib/libc.so.6 Thread 8 (Thread 0x7fff3ec11700 (LWP 1464)): #0 0x00007ffff4de7bb1 in poll () at /usr/lib/libc.so.6 #1 0x00007ffff1d65ee0 in () at /usr/lib/libglib-2.0.so.0 #2 0x00007ffff1d65fce in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #3 0x00007ffff530f4a9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #4 0x00007ffff52badac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #5 0x00007ffff5103f59 in QThread::exec() () at /usr/lib/libQt5Core.so.5 #6 0x00007fff48dfa35a in KCupsConnection::run() () at /usr/lib/libkcupslib.so #7 0x00007ffff510e005 in () at /usr/lib/libQt5Core.so.5 #8 0x00007ffff4a96a9d in start_thread () at /usr/lib/libpthread.so.0 #9 0x00007ffff4df2a43 in clone () at /usr/lib/libc.so.6 Thread 7 (Thread 0x7fff5313f700 (LWP 1460)): #0 0x0000555555b9faa0 in () #1 0x00007ffff57bb8c8 in QRawFont::ascent() const () at /usr/lib/libQt5Gui.so.5 #2 0x00007ffff5750293 in () at /usr/lib/libQt5Gui.so.5 #3 0x00007ffff5751268 in QTextLine::glyphRuns(int, int) const () at /usr/lib/libQt5Gui.so.5 #4 0x00007ffff6fcd3ba in () at /usr/lib/libQt5Quick.so.5 #5 0x00007ffff6fcd9ac in () at /usr/lib/libQt5Quick.so.5 #6 0x00007ffff6fcc1af in QQuickTextNode::addTextLayout(QPointF const&, QTextLayout*, QColor const&, QQuickText::TextStyle, QColor const&, QColor const&, QColor const&, QColor const&, int, int, int, int) () --Type <RET> for more, q to quit, c to continue without paging-- at /usr/lib/libQt5Quick.so.5 #7 0x00007ffff6fcad3a in QQuickText::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) () at /usr/lib/libQt5Quick.so.5 #8 0x00007ffff6f80290 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) () at /usr/lib/libQt5Quick.so.5 #9 0x00007ffff6f80704 in QQuickWindowPrivate::updateDirtyNodes() () at /usr/lib/libQt5Quick.so.5 #10 0x00007ffff6f81c37 in QQuickWindowPrivate::syncSceneGraph() () at /usr/lib/libQt5Quick.so.5 #11 0x00007ffff6f24c4d in () at /usr/lib/libQt5Quick.so.5 #12 0x00007ffff6f260cd in () at /usr/lib/libQt5Quick.so.5 #13 0x00007ffff6f299d8 in () at /usr/lib/libQt5Quick.so.5 #14 0x00007ffff510e005 in () at /usr/lib/libQt5Core.so.5 #15 0x00007ffff4a96a9d in start_thread () at /usr/lib/libpthread.so.0 #16 0x00007ffff4df2a43 in clone () at /usr/lib/libc.so.6 Thread 6 (Thread 0x7fff542d3700 (LWP 1459)): #0 0x00007ffff4de7bb1 in poll () at /usr/lib/libc.so.6 #1 0x00007ffff1d65ee0 in () at /usr/lib/libglib-2.0.so.0 #2 0x00007ffff1d65fce in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #3 0x00007ffff530f4a9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #4 0x00007ffff52badac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #5 0x00007ffff5103f59 in QThread::exec() () at /usr/lib/libQt5Core.so.5 #6 0x00007ffff6ea85bb in () at /usr/lib/libQt5Quick.so.5 #7 0x00007ffff510e005 in () at /usr/lib/libQt5Core.so.5 #8 0x00007ffff4a96a9d in start_thread () at /usr/lib/libpthread.so.0 #9 0x00007ffff4df2a43 in clone () at /usr/lib/libc.so.6 Thread 5 (Thread 0x7fffdbbff700 (LWP 1452)): #0 0x00007ffff4a9cafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0 #1 0x00007ffff7c12aac in () at /usr/lib/libQt5Script.so.5 #2 0x00007ffff7c12ac9 in () at /usr/lib/libQt5Script.so.5 #3 0x00007ffff4a96a9d in start_thread () at /usr/lib/libpthread.so.0 #4 0x00007ffff4df2a43 in clone () at /usr/lib/libc.so.6 --Type <RET> for more, q to quit, c to continue without paging-- Thread 4 (Thread 0x7fffe9129700 (LWP 1451)): #0 0x00007ffff4de7bb1 in poll () at /usr/lib/libc.so.6 #1 0x00007ffff1d65ee0 in () at /usr/lib/libglib-2.0.so.0 #2 0x00007ffff1d65fce in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #3 0x00007ffff530f4a9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #4 0x00007ffff52badac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #5 0x00007ffff5103f59 in QThread::exec() () at /usr/lib/libQt5Core.so.5 #6 0x00007ffff6c290d9 in () at /usr/lib/libQt5Qml.so.5 #7 0x00007ffff510e005 in () at /usr/lib/libQt5Core.so.5 #8 0x00007ffff4a96a9d in start_thread () at /usr/lib/libpthread.so.0 #9 0x00007ffff4df2a43 in clone () at /usr/lib/libc.so.6 Thread 3 (Thread 0x7fffea34b700 (LWP 1450)): #0 0x00007ffff4de7bb1 in poll () at /usr/lib/libc.so.6 #1 0x00007ffff1d65ee0 in () at /usr/lib/libglib-2.0.so.0 #2 0x00007ffff1d65fce in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #3 0x00007ffff530f4a9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #4 0x00007ffff52badac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #5 0x00007ffff5103f59 in QThread::exec() () at /usr/lib/libQt5Core.so.5 #6 0x00007ffff6624ba6 in () at /usr/lib/libQt5DBus.so.5 #7 0x00007ffff510e005 in () at /usr/lib/libQt5Core.so.5 #8 0x00007ffff4a96a9d in start_thread () at /usr/lib/libpthread.so.0 #9 0x00007ffff4df2a43 in clone () at /usr/lib/libc.so.6 Thread 2 (Thread 0x7fffeb974700 (LWP 1449)): #0 0x00007ffff4de7bb1 in poll () at /usr/lib/libc.so.6 #1 0x00007ffff7501180 in () at /usr/lib/libxcb.so.1 #2 0x00007ffff7502e4b in xcb_wait_for_event () at /usr/lib/libxcb.so.1 #3 0x00007fffed4dde1a in () at /usr/lib/libQt5XcbQpa.so.5 --Type <RET> for more, q to quit, c to continue without paging-- #4 0x00007ffff510e005 in () at /usr/lib/libQt5Core.so.5 #5 0x00007ffff4a96a9d in start_thread () at /usr/lib/libpthread.so.0 #6 0x00007ffff4df2a43 in clone () at /usr/lib/libc.so.6 Thread 1 (Thread 0x7fffed945500 (LWP 1445)): #0 0x00007ffff4a9cafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0 #1 0x00007ffff510e7bc in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5 #2 0x00007ffff6f267a3 in () at /usr/lib/libQt5Quick.so.5 #3 0x00007ffff6f273ba in () at /usr/lib/libQt5Quick.so.5 #4 0x00007ffff6f8ca86 in QQuickWindow::event(QEvent*) () at /usr/lib/libQt5Quick.so.5 #5 0x00007ffff5f13e14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #6 0x00007ffff5f1b6e1 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #7 0x00007ffff52bc119 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5 #8 0x00007ffff56715c3 in QWindowPrivate::deliverUpdateRequest() () at /usr/lib/libQt5Gui.so.5 #9 0x00007ffff5671afb in QWindow::event(QEvent*) () at /usr/lib/libQt5Gui.so.5 #10 0x00007ffff6f8c9dc in QQuickWindow::event(QEvent*) () at /usr/lib/libQt5Quick.so.5 #11 0x00007ffff5f13e14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #12 0x00007ffff5f1b6e1 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #13 0x00007ffff52bc119 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5 #14 0x00007ffff530e87a in QTimerInfoList::activateTimers() () at /usr/lib/libQt5Core.so.5 #15 0x00007ffff530f102 in () at /usr/lib/libQt5Core.so.5 #16 0x00007ffff1d643cf in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #17 0x00007ffff1d65f89 in () at /usr/lib/libglib-2.0.so.0 #18 0x00007ffff1d65fce in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #19 0x00007ffff530f4a9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #20 0x00007fffed573312 in () at /usr/lib/libQt5XcbQpa.so.5 #21 0x00007ffff52badac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #22 0x00007ffff52c30a6 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5 #23 0x0000555555570d3e in () #24 0x00007ffff4d1b223 in __libc_start_main () at /usr/lib/libc.so.6 --Type <RET> for more, q to quit, c to continue without paging-- #25 0x00005555555711be in _start () As I feared, crash in QSG / Text rendering: Thread 7 (Thread 0x7fff5313f700 (LWP 1460)): #0 0x0000555555b9faa0 in () #1 0x00007ffff57bb8c8 in QRawFont::ascent() const () at /usr/lib/libQt5Gui.so.5 #2 0x00007ffff5750293 in () at /usr/lib/libQt5Gui.so.5 #3 0x00007ffff5751268 in QTextLine::glyphRuns(int, int) const () at /usr/lib/libQt5Gui.so.5 #4 0x00007ffff6fcd3ba in () at /usr/lib/libQt5Quick.so.5 #5 0x00007ffff6fcd9ac in () at /usr/lib/libQt5Quick.so.5 #6 0x00007ffff6fcc1af in QQuickTextNode::addTextLayout(QPointF const&, QTextLayout*, QColor const&, QQuickText::TextStyle, QColor const&, QColor const&, QColor const&, QColor const&, int, int, int, int) () Thanks a lot for your investigative help! Hopefully, someone more knowledgable in that area than me can reproduce the crash and find a minimalist testcase to report that issue to Qt. @Kai : thanks for your kind reply. BTW, I've just realized the bug didn't NOT occur when switching my NVIDIA card (latest proprietary drivers) with an AMD one (with the open source drivers)... *** Bug 403655 has been marked as a duplicate of this bug. *** *** Bug 415701 has been marked as a duplicate of this bug. *** *** Bug 421549 has been marked as a duplicate of this bug. *** Cannot reproduce; seems like this got fixed in Qt's font rendering somewhere. |