Bug 405837 - Dolphin crashes opening icon changer
Summary: Dolphin crashes opening icon changer
Status: RESOLVED UPSTREAM
Alias: None
Product: frameworks-kitemviews
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.56.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: David Edmundson
URL:
Keywords:
: 406293 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-03-24 21:25 UTC by Alex Mason
Modified: 2019-04-25 10:36 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Mason 2019-03-24 21:25:01 UTC
SUMMARY
Dolphin 19.03.80 segfaults when opening the custom icon picker from a file's properties.

STEPS TO REPRODUCE
1. Select a file
2. Open the file's properties
3. Click the icon button to the left of the file's name

OBSERVED RESULT
Dolphin crashes

EXPECTED RESULT
Icon picker view should appear.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch linux wth kde-unstable packages
KDE Plasma Version: 5.15.3
KDE Frameworks Version: 5.56.0
Qt Version: 5.13.0

ADDITIONAL INFORMATION

Application: Dolphin (dolphin), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8e11610800 (LWP 2410))]

Thread 6 (Thread 0x7f8dff0e3700 (LWP 2526)):
#0  0x00007f8e19559c21 in poll () from /usr/lib/libc.so.6
#1  0x00007f8e14cc0690 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f8e14cc077e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f8e17600644 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f8e175a905c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f8e173e2da9 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f8e173e41ac in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007f8e15caca9d in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007f8e19564b23 in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f8dffd19700 (LWP 2415)):
#0  0x00007f8e19559c21 in poll () from /usr/lib/libc.so.6
#1  0x00007f8e14cc0690 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f8e14cc077e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f8e17600644 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f8e175a905c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f8e173e2da9 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f8e173e41ac in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007f8e15caca9d in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007f8e19564b23 in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f8e0cffb700 (LWP 2414)):
#0  0x00007f8e15cb2afc in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f8e0d5eb214 in ?? () from /usr/lib/dri/i965_dri.so
#2  0x00007f8e0d5eaf38 in ?? () from /usr/lib/dri/i965_dri.so
#3  0x00007f8e15caca9d in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f8e19564b23 in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f8e0f576700 (LWP 2413)):
#0  0x00007f8e19559c21 in poll () from /usr/lib/libc.so.6
#1  0x00007f8e14cc0690 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f8e14cc077e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f8e17600644 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f8e175a905c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f8e173e2da9 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f8e1786aba6 in ?? () from /usr/lib/libQt5DBus.so.5
#7  0x00007f8e173e41ac in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f8e15caca9d in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f8e19564b23 in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f8e10323700 (LWP 2412)):
#0  0x00007f8e19559c21 in poll () from /usr/lib/libc.so.6
#1  0x00007f8e14773630 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f8e147752db in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007f8e10ef4a09 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f8e173e41ac in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007f8e15caca9d in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f8e19564b23 in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f8e11610800 (LWP 2410)):
[KCrash Handler]
#6  0x00007f8e187b9fd9 in ?? () from /usr/lib/libKF5ItemViews.so.5
#7  0x00007f8e187ba394 in ?? () from /usr/lib/libKF5ItemViews.so.5
#8  0x00007f8e187ba496 in ?? () from /usr/lib/libKF5ItemViews.so.5
#9  0x00007f8e175d53a4 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#10 0x00007f8e1755161e in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) () from /usr/lib/libQt5Core.so.5
#11 0x00007f8e182da3c1 in ?? () from /usr/lib/libQt5Widgets.so.5
#12 0x00007f8e182dc9e2 in QListWidgetItem::setData(int, QVariant const&) () from /usr/lib/libQt5Widgets.so.5
#13 0x00007f8e182dcff7 in QListWidgetItem::QListWidgetItem(QIcon const&, QString const&, QListWidget*, int) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007f8e18af0062 in ?? () from /usr/lib/libKF5IconThemes.so.5
#15 0x00007f8e175d5500 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#16 0x00007f8e175e13b8 in QTimer::timeout(QTimer::QPrivateSignal) () from /usr/lib/libQt5Core.so.5
#17 0x00007f8e175d5c3b in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#18 0x00007f8e18037f44 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007f8e1803f731 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007f8e175aa4c9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#21 0x00007f8e175ff9d5 in QTimerInfoList::activateTimers() () from /usr/lib/libQt5Core.so.5
#22 0x00007f8e17600262 in ?? () from /usr/lib/libQt5Core.so.5
#23 0x00007f8e14cbe7bf in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0x00007f8e14cc0739 in ?? () from /usr/lib/libglib-2.0.so.0
#25 0x00007f8e14cc077e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0x00007f8e17600629 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#27 0x00007f8e175a905c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#28 0x00007f8e175b1456 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#29 0x00007f8e1966c787 in kdemain () from /usr/lib/libkdeinit5_dolphin.so
#30 0x00007f8e1948d223 in __libc_start_main () from /usr/lib/libc.so.6
#31 0x000055b2484f005e in _start ()
[Inferior 1 (process 2410) detached]
Comment 1 Julian Steinmann 2019-03-25 09:19:28 UTC
I cannot reproduce this behavior; did you do anything different than these steps?

Steps:
1. Right-click on the "Downloads" folder.
2. Click on "Properties" in the context menu.
3. Click on the icon button next to the file name.
4. The icon picker opens up correctly. 

Operating System: KDE neon Developer Edition
KDE Plasma Version: 5.15.3
KDE Frameworks Version: 5.57.0
Qt Version: 5.12.0

This might also be a problem with KDE Frameworks 5.56.0 as the crash happens in KF5ItemViews. Sadly, I cannot find Frameworks 5.57.0 anywhere in the Arch repos...
Comment 2 Mike Krutov 2019-03-25 17:01:31 UTC
Hi!

I've tried to reproduce this issue as well, with no luck, on current neon user (5.55.0 frameworks, 5.15.3 plasma, 5.12 qt).

I've played around with file permissions and so on, and it didn't help me reproduce it.

Alex, could you please provide more information about your system?
Is this behaviour specific to a given file? 

In case it is, please provide us some details about the file - xattrs, permissions

Is this behaviour reproducible on more then one file, please try to narrow it down to a location - is it specific to a given filesystem? (Remote FS, local FS, local exact device?)

Is this behaviour reproducible on clean profile? (run from a new user or something in that lines) 


In case you'll be able to reproduce the issue, please update the crash log after installing debug symbols for package that provides libKF5ItemViews.so.5 

pacman -Fs /usr/lib/libKF5ItemViews.so.5 should provide you with the package name. Not sure how debug packages are distributed in Arch.

#6  0x00007f8e187b9fd9 in ?? () from /usr/lib/libKF5ItemViews.so.5
#7  0x00007f8e187ba394 in ?? () from /usr/lib/libKF5ItemViews.so.5
#8  0x00007f8e187ba496 in ?? () from /usr/lib/libKF5ItemViews.so.5
Comment 3 Alex Mason 2019-03-25 17:45:42 UTC
Looks like this is just a packaging issue then! As Julian says, it's likely the mismatch in frameworks versions. If the issue still occurs when pushed to stable repos I will report the bug downstream in the Arch bug trackers.
Thank you
Comment 4 Elvis Angelaccio 2019-04-07 12:54:51 UTC
*** Bug 406293 has been marked as a duplicate of this bug. ***
Comment 5 Elvis Angelaccio 2019-04-07 12:55:29 UTC
@Antonio: can you reproduce this crash? Is it really downstream?
Comment 6 Antonio Rojas 2019-04-07 13:39:50 UTC
Yes, I can reproduce. It's certainly not downstream, and not reproducible with Qt 5.12 (so possibly a Qt issue)

Full backtrace:
#0  KListWidgetSearchLine::KListWidgetSearchLinePrivate::updateHiddenState (this=0x5555561ee880, start=<optimized out>, end=-1)
    at /usr/src/debug/kitemviews-5.56.0/src/klistwidgetsearchline.cpp:188
#1  0x00007ffff70395e6 in KListWidgetSearchLine::KListWidgetSearchLinePrivate::_k_dataChanged (this=<optimized out>, topLeft=..., bottomRight=...)
    at /usr/include/qt/QtCore/qabstractitemmodel.h:62
#2  0x00007ffff70396d4 in KListWidgetSearchLine::qt_static_metacall (_o=_o@entry=0x5555561f0910, _id=_id@entry=9, _a=_a@entry=0x7fffffffd9c0, 
    _c=QMetaObject::InvokeMetaMethod) at /usr/src/debug/build/src/KF5ItemViews_autogen/include/moc_klistwidgetsearchline.cpp:121
#3  0x00007ffff70397d6 in KListWidgetSearchLine::qt_static_metacall (_o=_o@entry=0x5555561f0910, _c=_c@entry=QMetaObject::InvokeMetaMethod, 
    _id=_id@entry=9, _a=_a@entry=0x7fffffffd9c0) at /usr/src/debug/build/src/KF5ItemViews_autogen/include/moc_klistwidgetsearchline.cpp:108
#4  0x00007ffff5d9053b in QMetaObject::activate (sender=sender@entry=0x5555561ed910, signalOffset=<optimized out>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd9c0) at kernel/qobject.cpp:3801
#5  0x00007ffff5d907bf in QMetaObject::activate (sender=sender@entry=0x5555561ed910, m=m@entry=0x7ffff6022100 <QAbstractItemModel::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd9c0) at kernel/qobject.cpp:3652
#6  0x00007ffff5d06dce in QAbstractItemModel::dataChanged (this=this@entry=0x5555561ed910, _t1=..., _t2=..., _t3=...)
    at .moc/moc_qabstractitemmodel.cpp:557
#7  0x00007ffff6b2fad3 in QListModel::itemChanged (this=this@entry=0x5555561ed910, item=item@entry=0x555555f9ac20, roles=...)
    at itemviews/qlistwidget.cpp:455
#8  0x00007ffff6b3096d in QListWidgetItem::setData (this=this@entry=0x555555f9ac20, role=<optimized out>, role@entry=0, value=...)
    at itemviews/qlistwidget.cpp:741
#9  0x00007ffff6b31c2c in QListWidgetItem::QListWidgetItem (this=0x555555f9ac20, icon=..., text=..., listview=<optimized out>, type=<optimized out>)
    at itemviews/qlistwidget.cpp:688
#10 0x00007ffff736f062 in ?? () from /usr/lib/libKF5IconThemes.so.5
#11 0x00007ffff5d9039f in QtPrivate::QSlotObjectBase::call (a=0x7fffffffdd40, r=0x555555fd30c0, this=0x5555561f2480)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#12 QMetaObject::activate (sender=sender@entry=0x5555561f23f0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, 
    argv=argv@entry=0x7fffffffdd40) at kernel/qobject.cpp:3782
#13 0x00007ffff5d907bf in QMetaObject::activate (sender=sender@entry=0x5555561f23f0, m=m@entry=0x7ffff6023b20 <QTimer::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffdd40) at kernel/qobject.cpp:3652
#14 0x00007ffff5d9ce23 in QTimer::timeout (this=this@entry=0x5555561f23f0, _t1=...) at .moc/moc_qtimer.cpp:205
#15 0x00007ffff5d9d029 in QTimer::timerEvent (this=0x5555561f23f0, e=<optimized out>) at kernel/qtimer.cpp:255
#16 0x00007ffff5d910ba in QObject::event (this=0x5555561f23f0, e=<optimized out>) at kernel/qobject.cpp:1241
#17 0x00007ffff684c1f3 in QApplicationPrivate::notify_helper (this=this@entry=0x55555557ec20, receiver=receiver@entry=0x5555561f23f0, 
    e=e@entry=0x7fffffffe0a0) at kernel/qapplication.cpp:3739
#18 0x00007ffff6853f89 in QApplication::notify (this=0x7fffffffe420, receiver=0x5555561f23f0, e=0x7fffffffe0a0) at kernel/qapplication.cpp:3096
#19 0x00007ffff5d5c4ed in QCoreApplication::notifyInternal2 (receiver=0x5555561f23f0, event=0x7fffffffe0a0) at kernel/qcoreapplication.cpp:1060
#20 0x00007ffff5d5c748 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1457
#21 0x00007ffff5dbf7f8 in QTimerInfoList::activateTimers (this=0x5555555e6e30) at kernel/qtimerinfo_unix.cpp:643
#22 0x00007ffff5dc003e in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
#23 0x00007ffff19c17bf in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0x00007ffff19c3739 in ?? () from /usr/lib/libglib-2.0.so.0
#25 0x00007ffff19c377e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0x00007ffff5dc03dc in QEventDispatcherGlib::processEvents (this=0x5555555e6a40, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#27 0x00007fffef630952 in QXcbGlibEventDispatcher::processEvents (this=<optimized out>, flags=...) at qxcbeventdispatcher.cpp:143
#28 0x00007ffff5d5a223 in QEventLoop::processEvents (this=this@entry=0x7fffffffe310, flags=..., flags@entry=...)
    at /usr/include/c++/8.2.1/bits/atomic_base.h:707
#29 0x00007ffff5d5a67b in QEventLoop::exec (this=this@entry=0x7fffffffe310, flags=flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:122
#30 0x00007ffff5d64992 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#31 0x00007ffff622fd66 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1783
#32 0x00007ffff684c161 in QApplication::exec () at kernel/qapplication.cpp:2896
#33 0x00007ffff7eec787 in kdemain () from /usr/lib/libkdeinit5_dolphin.so
#34 0x00007ffff7d0d223 in __libc_start_main () from /usr/lib/libc.so.6
#35 0x000055555555505e in _start ()
Comment 7 Antonio Rojas 2019-04-07 20:51:04 UTC
The crash was introduced in https://code.qt.io/cgit/qt/qtbase.git/commit/?id=63967313f57add6517cdc50b8a77fa319a2b7df0

Simpler way to reproduce is to run 'kdialog --geticon'
Comment 8 Christoph Feck 2019-04-25 09:27:05 UTC
Does https://code.qt.io/cgit/qt/qtbase.git/commit/src/widgets/itemviews?h=5.13&id=ed66c932b1460ce5dcb3f7f1cb4c37f726683175 fix the issue? It references above mentioned commit.
Comment 9 Antonio Rojas 2019-04-25 10:36:47 UTC
(In reply to Christoph Feck from comment #8)
> Does
> https://code.qt.io/cgit/qt/qtbase.git/commit/src/widgets/itemviews?h=5.
> 13&id=ed66c932b1460ce5dcb3f7f1cb4c37f726683175 fix the issue? It references
> above mentioned commit.

yep