Discussion:
[dolphin] [Bug 393528] New: crash if user-places.xbel contains a duplicated entry
Antonio Rojas
2018-04-26 06:32:02 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

Bug ID: 393528
Summary: crash if user-places.xbel contains a duplicated entry
Product: dolphin
Version: 18.04.0
Platform: Other
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: NOR
Component: panels: places
Assignee: dolphin-bugs-***@kde.org
Reporter: ***@archlinux.org
Target Milestone: ---

Dolphin crashes at startup when user-places.xbel contains a duplicated entry.

(gdb) bt
#0 KStandardItem::setDataValue (this=***@entry=0x555555e6d030, role=...,
value=...)
at /build/dolphin/src/dolphin-18.04.0/src/kitemviews/kstandarditem.cpp:104
#1 0x00007ffff74b2512 in KStandardItem::setIcon (this=0x555555e6d030,
icon=...)
at /build/dolphin/src/dolphin-18.04.0/src/kitemviews/kstandarditem.cpp:74
#2 0x00007ffff7b677d1 in PlacesItem::<lambda(bool)>::operator()
(isTrashEmpty=<optimized out>, __closure=<optimized out>)
at /build/dolphin/src/dolphin-18.04.0/src/panels/places/placesitem.cpp:65
#3 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>,
void, PlacesItem::setUrl(const QUrl&)::<lambda(bool)> >::call (
arg=<optimized out>, f=...) at
/usr/include/qt/QtCore/qobjectdefs_impl.h:130
#4 QtPrivate::Functor<PlacesItem::setUrl(const QUrl&)::<lambda(bool)>,
1>::call<QtPrivate::List<bool>, void> (arg=<optimized out>, f=...)
at /usr/include/qt/QtCore/qobjectdefs_impl.h:240
#5 QtPrivate::QFunctorSlotObject<PlacesItem::setUrl(const
QUrl&)::<lambda(bool)>, 1, QtPrivate::List<bool>, void>::impl(int,
QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized
out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>,
ret=<optimized out>)
at /usr/include/qt/QtCore/qobjectdefs_impl.h:423
#6 0x00007ffff19c883f in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#7 0x00007ffff7b900a0 in Trash::emptinessChanged (this=<optimized out>,
_t1=<optimized out>, ***@entry=false)
at
/build/dolphin/src/build/src/dolphinstatic_autogen/ACC2Q2AKJ6/moc_dolphintrash.cpp:127
#8 0x00007ffff7b5c84a in Trash::<lambda()>::operator()
(__closure=0x555555cadbf0) at
/build/dolphin/src/dolphin-18.04.0/src/trash/dolphintrash.cpp:41
#9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void,
Trash::Trash()::<lambda()> >::call (arg=<optimized out>, f=...)
at /usr/include/qt/QtCore/qobjectdefs_impl.h:130
#10 QtPrivate::Functor<Trash::Trash()::<lambda()>, 0>::call<QtPrivate::List<>,
void> (arg=<optimized out>, f=...)
at /usr/include/qt/QtCore/qobjectdefs_impl.h:240
#11 QtPrivate::QFunctorSlotObject<Trash::Trash()::<lambda()>, 0,
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *,
void **, bool *) (which=<optimized out>, this_=0x555555cadbe0, r=<optimized
out>, a=<optimized out>, ret=<optimized out>)
at /usr/include/qt/QtCore/qobjectdefs_impl.h:423
#12 0x00007ffff19c883f in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#13 0x00007ffff5e025e5 in KCoreDirListerCache::slotResult (this=0x7ffff6070400
<(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>,
j=<optimized out>) at
/build/kio/src/kio-5.45.0/src/core/kcoredirlister.cpp:1358
#14 0x00007ffff5e06774 in KCoreDirListerCache::qt_static_metacall (
_o=0x7ffff6070400 <(anonymous
namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, _c=<optimized
out>, _id=<optimized out>,
_a=<optimized out>) at
/build/kio/src/build/src/core/KF5KIOCore_autogen/include/moc_kcoredirlister_p.cpp:136
#15 0x00007ffff19c8716 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#16 0x00007ffff33a669d in KJob::result(KJob*, KJob::QPrivateSignal) () from
/usr/lib/libKF5CoreAddons.so.5
---Type <return> to continue, or q <return> to quit---
#17 0x00007ffff33a71e2 in KJob::finishJob(bool) () from
/usr/lib/libKF5CoreAddons.so.5
#18 0x00007ffff5db5a81 in KIO::SimpleJob::slotFinished
(this=***@entry=0x555555cadcf0) at
/build/kio/src/kio-5.45.0/src/core/simplejob.cpp:232
#19 0x00007ffff5daa11e in KIO::ListJob::slotFinished (this=0x555555cadcf0) at
/build/kio/src/kio-5.45.0/src/core/listjob.cpp:247
#20 0x00007ffff19c883f in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#21 0x00007ffff5d8eab6 in KIO::SlaveInterface::dispatch (this=0x555555eee810,
_cmd=<optimized out>, rawdata=...)
at /build/kio/src/kio-5.45.0/src/core/slaveinterface.cpp:160
#22 0x00007ffff5d8afd8 in KIO::SlaveInterface::dispatch (this=0x555555eee810)
at /build/kio/src/kio-5.45.0/src/core/slaveinterface.cpp:89
#23 0x00007ffff5d90692 in KIO::Slave::gotInput (this=0x555555eee810) at
/build/kio/src/kio-5.45.0/src/core/slave.cpp:406
#24 0x00007ffff19c8716 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#25 0x00007ffff5d323aa in KIO::Connection::readyRead (this=<optimized out>)
at
/build/kio/src/build/src/core/KF5KIOCore_autogen/include/moc_connection_p.cpp:143
#26 KIO::ConnectionPrivate::dequeue (this=0x555555cadac0) at
/build/kio/src/kio-5.45.0/src/core/connection.cpp:46
#27 0x00007ffff19c92b2 in QObject::event(QEvent*) () from
/usr/lib/libQt5Core.so.5
#28 0x00007ffff29d35ec in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#29 0x00007ffff29dadc6 in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/libQt5Widgets.so.5
#30 0x00007ffff19985c0 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#31 0x00007ffff199b1de in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#32 0x00007ffff19f4c44 in ?? () from /usr/lib/libQt5Core.so.5
#33 0x00007fffea1e2368 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#34 0x00007fffea1e25b1 in ?? () from /usr/lib/libglib-2.0.so.0
#35 0x00007fffea1e263e in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#36 0x00007ffff19f4231 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQt5Core.so.5
#37 0x00007fffe3373362 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#38 0x00007ffff1996d1b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQt5Core.so.5
#39 0x00007ffff199ff68 in QCoreApplication::exec() () from
/usr/lib/libQt5Core.so.5
#40 0x00007ffff7b409d6 in kdemain (argc=<optimized out>, argv=<optimized out>)
at /build/dolphin/src/dolphin-18.04.0/src/main.cpp:163
#41 0x00007ffff77679a7 in __libc_start_main () from /usr/lib/libc.so.6
#42 0x000055555555475a in _start ()
--
You are receiving this mail because:
You are watching all bug changes.
Antonio Rojas
2018-04-26 06:33:06 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

--- Comment #1 from Antonio Rojas <***@archlinux.org> ---
*** Bug 393529 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are watching all bug changes.
Antonio Rojas
2018-04-26 06:38:45 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

--- Comment #2 from Antonio Rojas <***@archlinux.org> ---
Created attachment 112248
--> https://bugs.kde.org/attachment.cgi?id=112248&action=edit
Minimal user-places.xbel test case that makes dolphin crash
--
You are receiving this mail because:
You are watching all bug changes.
Antonio Rojas
2018-04-26 09:44:22 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

--- Comment #3 from Antonio Rojas <***@archlinux.org> ---
Hmm the first backtrace seems to be unrelated, this is the good one

(gdb) bt
#0 0x0000000a00000002 in ?? ()
#1 0x00007ffff19feada in QObjectPrivate::connectImpl
(sender=***@entry=0x555555eaadb0, signal_index=<optimized out>,
receiver=***@entry=0x555555e0d930, slot=***@entry=0x7fffffffda20,
slotObj=***@entry=0x555555be4270,
type=<optimized out>, types=<optimized out>, senderMetaObject=<optimized
out>) at kernel/qobject.cpp:4848
#2 0x00007ffff19fecbc in QObject::connectImpl
(sender=***@entry=0x555555eaadb0, signal=***@entry=0x7fffffffda10,
receiver=***@entry=0x555555e0d930, slot=***@entry=0x7fffffffda20,
slotObj=0x555555be4270,
type=Qt::AutoConnection, types=0x0, senderMetaObject=0x7ffff7dd3860
<PlacesItemSignalHandler::staticMetaObject>)
at kernel/qobject.cpp:4785
#3 0x00007ffff7b6d583 in QObject::connect<void
(PlacesItemSignalHandler::*)(QString const&), void (PlacesItemModel::*)(QString
const&)> (type=Qt::AutoConnection, slot=
(void (PlacesItemModel::*)(PlacesItemModel * const, const QString &))
0x7ffff7b8fa80 <PlacesItemModel::storageTearDownExternallyRequested(QString
const&)>, receiver=0x555555e0d930, signal=
(void (PlacesItemSignalHandler::*)(PlacesItemSignalHandler * const, const
QString &)) 0x7ffff7b8fae0
<PlacesItemSignalHandler::tearDownExternallyRequested(QString const&)>,
sender=0x555555eaadb0) at /usr/include/qt/QtCore/qobject.h:260
#4 PlacesItemModel::addItemFromSourceModel (this=***@entry=0x555555e0d930,
index=...)
at
/build/dolphin/src/dolphin-18.04.0/src/panels/places/placesitemmodel.cpp:408
#5 0x00007ffff7b6d792 in PlacesItemModel::onSourceModelRowsInserted
(this=0x555555e0d930, parent=...,
first=<optimized out>, last=8) at
/build/dolphin/src/dolphin-18.04.0/src/panels/places/placesitemmodel.cpp:525
#6 0x00007ffff19fa7af in QtPrivate::QSlotObjectBase::call (a=0x7fffffffdbd0,
r=0x555555e0d930, this=0x555555e23e40)
at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378
#7 QMetaObject::activate (sender=***@entry=0x555555c53bc0,
signalOffset=<optimized out>,
local_signal_index=***@entry=10,
argv=***@entry=0x7fffffffdbd0) at kernel/qobject.cpp:3750
#8 0x00007ffff19fad89 in QMetaObject::activate
(sender=***@entry=0x555555c53bc0,
m=***@entry=0x7ffff1e2bda0 <QAbstractItemModel::staticMetaObject>,
local_signal_index=***@entry=10,
argv=***@entry=0x7fffffffdbd0) at kernel/qobject.cpp:3629
#9 0x00007ffff1962eef in QAbstractItemModel::rowsInserted
(this=***@entry=0x555555c53bc0, _t1=..., _t2=<optimized out>,
_t3=<optimized out>, _t4=...) at .moc/moc_qabstractitemmodel.cpp:602
#10 0x00007ffff196a73d in QAbstractItemModel::endInsertRows
(this=0x555555c53bc0) at itemmodels/qabstractitemmodel.cpp:2709
#11 0x00007ffff6f9927d in KFilePlacesModel::Private::_k_reloadBookmarks
(this=***@entry=0x555555c13890)
at /build/kio/src/kio-5.45.0/src/filewidgets/kfileplacesmodel.cpp:632
#12 0x00007ffff6f998a0 in KFilePlacesModel::Private::_k_initDeviceList
(this=0x555555c13890)
at /build/kio/src/kio-5.45.0/src/filewidgets/kfileplacesmodel.cpp:537
#13 0x00007ffff6f9af89 in KFilePlacesModel::qt_static_metacall (_o=<optimized
out>, _id=<optimized out>,
_a=<optimized out>, _c=<optimized out>)
at
/build/kio/src/build/src/filewidgets/KF5KIOFileWidgets_autogen/include/moc_kfileplacesmodel.cpp:118
#14 0x00007ffff19fb0d2 in QObject::event (this=0x555555c53bc0, e=<optimized
out>) at kernel/qobject.cpp:1247
#15 0x00007ffff29d807c in QApplicationPrivate::notify_helper
(this=***@entry=0x555555771650,
---Type <return> to continue, or q <return> to quit---
receiver=***@entry=0x555555c53bc0, e=***@entry=0x555555c93210) at
kernel/qapplication.cpp:3732
#16 0x00007ffff29dfa56 in QApplication::notify (this=0x7fffffffe440,
receiver=0x555555c53bc0, e=0x555555c93210)
at kernel/qapplication.cpp:3491
#17 0x00007ffff19c9d60 in QCoreApplication::notifyInternal2
(receiver=0x555555c53bc0, event=***@entry=0x555555c93210)
at kernel/qcoreapplication.cpp:1050
#18 0x00007ffff19cc9c6 in QCoreApplication::sendEvent (event=0x555555c93210,
receiver=<optimized out>)
at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#19 QCoreApplicationPrivate::sendPostedEvents (receiver=***@entry=0x0,
event_type=***@entry=0,
data=0x55555576f190) at kernel/qcoreapplication.cpp:1740
#20 0x00007ffff19ccf5a in QCoreApplication::sendPostedEvents
(receiver=***@entry=0x0, event_type=***@entry=0)
at kernel/qcoreapplication.cpp:1594
#21 0x00007ffff1a26cc4 in postEventSourceDispatch (s=0x5555557d8f50) at
kernel/qeventdispatcher_glib.cpp:276
#22 0x00007fffe8423368 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#23 0x00007fffe84235b1 in ?? () from /usr/lib/libglib-2.0.so.0
#24 0x00007fffe842363e in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#25 0x00007ffff1a262b1 in QEventDispatcherGlib::processEvents
(this=0x5555557ebe70, flags=...)
at kernel/qeventdispatcher_glib.cpp:423
#26 0x00007fffe3365c62 in QPAEventDispatcherGlib::processEvents
(this=0x5555557ebe70, flags=...)
at qeventdispatcher_glib.cpp:69
#27 0x00007ffff19c839b in QEventLoop::exec (this=***@entry=0x7fffffffe340,
flags=..., ***@entry=...)
at kernel/qeventloop.cpp:212
#28 0x00007ffff19d1798 in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:1338
#29 0x00007ffff21beede in QGuiApplication::exec () at
kernel/qguiapplication.cpp:1687
#30 0x00007ffff29d7fd6 in QApplication::exec () at kernel/qapplication.cpp:2917
#31 0x00007ffff7b409d6 in kdemain (argc=<optimized out>, argv=<optimized out>)
at /build/dolphin/src/dolphin-18.04.0/src/main.cpp:163
#32 0x00007ffff77679a7 in __libc_start_main () from /usr/lib/libc.so.6
#33 0x000055555555475a in _start ()
--
You are receiving this mail because:
You are watching all bug changes.
Antonio Rojas
2018-04-26 22:07:27 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

--- Comment #4 from Antonio Rojas <***@archlinux.org> ---
https://phabricator.kde.org/D12558
--
You are receiving this mail because:
You are watching all bug changes.
Julian Schraner
2018-04-27 17:30:21 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

Julian Schraner <***@gmail.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@gmail.com
Status|UNCONFIRMED |ASSIGNED
Ever confirmed|0 |1

--- Comment #5 from Julian Schraner <***@gmail.com> ---
Confirmed & Antonio is working on a fix. (See the Phabricator link from comment
4)
--
You are receiving this mail because:
You are watching all bug changes.
Elvis Angelaccio
2018-04-29 16:14:37 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

Elvis Angelaccio <***@kde.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@gmail.com

--- Comment #6 from Elvis Angelaccio <***@kde.org> ---
*** Bug 393435 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are watching all bug changes.
Antonio Rojas
2018-04-29 17:40:46 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

Antonio Rojas <***@archlinux.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Latest Commit| |https://commits.kde.org/dol
| |phin/0c05b992c0dbfb2b065134
| |4413310d0b860c2fa7
Status|ASSIGNED |RESOLVED

--- Comment #7 from Antonio Rojas <***@archlinux.org> ---
Git commit 0c05b992c0dbfb2b0651344413310d0b860c2fa7 by Antonio Rojas.
Committed on 29/04/2018 at 17:39.
Pushed by arojas into branch 'Applications/18.04'.

Don't filter out duplicated entries from places panel

This can lead to crashes and is inconsistent with the KIO file picker dialog,
which shows duplicated entries.

Differential Revision: https://phabricator.kde.org/D12558

M +1 -4 src/panels/places/placesitemmodel.cpp

https://commits.kde.org/dolphin/0c05b992c0dbfb2b0651344413310d0b860c2fa7
--
You are receiving this mail because:
You are watching all bug changes.
Elvis Angelaccio
2018-05-21 20:31:32 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

Elvis Angelaccio <***@kde.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@posteo.net

--- Comment #8 from Elvis Angelaccio <***@kde.org> ---
*** Bug 393652 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are watching all bug changes.
Elvis Angelaccio
2018-05-21 20:31:58 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

Elvis Angelaccio <***@kde.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@outlook.com

--- Comment #9 from Elvis Angelaccio <***@kde.org> ---
*** Bug 393500 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are watching all bug changes.
Elvis Angelaccio
2018-05-21 20:32:18 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

Elvis Angelaccio <***@kde.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@gmx.de

--- Comment #10 from Elvis Angelaccio <***@kde.org> ---
*** Bug 393784 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are watching all bug changes.
Elvis Angelaccio
2018-05-21 20:32:41 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

Elvis Angelaccio <***@kde.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@gmail.com

--- Comment #11 from Elvis Angelaccio <***@kde.org> ---
*** Bug 393136 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are watching all bug changes.
Elvis Angelaccio
2018-05-21 20:33:01 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

--- Comment #12 from Elvis Angelaccio <***@kde.org> ---
*** Bug 393128 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are watching all bug changes.
Elvis Angelaccio
2018-05-21 20:33:21 UTC
Permalink
https://bugs.kde.org/show_bug.cgi?id=393528

Elvis Angelaccio <***@kde.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@gmail.com

--- Comment #13 from Elvis Angelaccio <***@kde.org> ---
*** Bug 394507 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are watching all bug changes.
Loading...