Bug 435559 - Dolphin crashes trying to change location of Trash Places panel item
Summary: Dolphin crashes trying to change location of Trash Places panel item
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: Places (show other bugs)
Version: git master
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: KIO Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-09 22:00 UTC by Miguel Sáenz
Modified: 2022-05-10 11:30 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Reverse tracking (9.50 KB, text/vnd.kde.kcrash-report)
2021-04-09 22:00 UTC, Miguel Sáenz
Details
Sequence of crash 1/3 (28.93 KB, image/png)
2021-04-12 22:38 UTC, Miguel Sáenz
Details
Sequence of crash 2/3 (26.27 KB, image/png)
2021-04-12 22:39 UTC, Miguel Sáenz
Details
Sequence of crash 3/3 (24.19 KB, image/png)
2021-04-12 22:40 UTC, Miguel Sáenz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Miguel Sáenz 2021-04-09 22:00:53 UTC
Created attachment 137456 [details]
Reverse tracking

SUMMARY

Dolphin crashes trying to change Trash location
STEPS TO REPRODUCE
1. Properties of Trash
2. Edit location
3. Assign a created folder

OBSERVED RESULT

Crash
EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2021-04-12 14:38:40 UTC
Application: dolphin (20.12.3)

Qt Version: 5.15.2
Frameworks Version: 5.80.0
Operating System: Linux 5.4.0-70-generic x86_64
Windowing System: X11
Drkonqi Version: 5.21.4
Distribution: KDE neon User Edition 5.21

-- Information about the crash:
<En detalle, comente que estaba haciendo cuando la aplicación se cerró.>

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault

[New LWP 50087]
[New LWP 50088]
[New LWP 50094]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f9eea104aff in __GI___poll (fds=0x7ffeb0e44668, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
[Current thread is 1 (Thread 0x7f9ee31926c0 (LWP 50086))]

Thread 4 (Thread 0x7f9ed27fc700 (LWP 50094)):
#0  0x00007f9ee5ae12ef in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f9ee5ae282b in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9ee5ae329b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9ee5ae34a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f9ee7e27ffb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9ee7dcc1eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f9ee7be6a52 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f9ee7be7bec in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f9ee6561609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f9eea111293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f9ee1757700 (LWP 50088)):
#0  0x00007f9eea104aff in __GI___poll (fds=0x7f9ed4014f60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f9ee5ae336e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9ee5ae34a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9ee7e27ffb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9ee7dcc1eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9ee7be6a52 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f9ee8e7df4b in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f9ee7be7bec in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f9ee6561609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f9eea111293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f9ee25c9700 (LWP 50087)):
#0  0x00007f9eea104aff in __GI___poll (fds=0x7f9ee25c8be8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f9ee6597c1a in ?? () from /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f9ee659990a in xcb_wait_for_event () from /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f9ee2b01d58 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f9ee7be7bec in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9ee6561609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9eea111293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f9ee31926c0 (LWP 50086)):
[KCrash Handler]
#4  0x00007f9ee94a2e04 in KIconButton::icon() const () from /lib/x86_64-linux-gnu/libKF5IconThemes.so.5
#5  0x00007f9ee9e43121 in KFilePlaceEditDialog::icon() const () from /lib/x86_64-linux-gnu/libKF5KIOFileWidgets.so.5
#6  0x00007f9eea25e08e in PlacesPanel::editEntry (this=0x562f4d2d2540, index=15) at /usr/include/c++/9/bits/atomic_base.h:413
#7  0x00007f9eea25f648 in PlacesPanel::slotItemContextMenuRequested (this=0x562f4d2d2540, index=<optimized out>, pos=...) at ./src/panels/places/placespanel.cpp:268
#8  0x00007f9ee7e046fe in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f9ee9f0e56a in KItemListController::itemContextMenuRequested (this=this@entry=0x562f4d7a1380, _t1=<optimized out>, _t2=...) at ./obj-x86_64-linux-gnu/src/dolphinprivate_autogen/Z3MQH7AOBD/moc_kitemlistcontroller.cpp:506
#10 0x00007f9ee9f4295f in KItemListController::onPress (this=this@entry=0x562f4d7a1380, screenPos=..., pos=..., modifiers=modifiers@entry=..., buttons=..., buttons@entry=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:133
#11 0x00007f9ee9f43985 in KItemListController::mousePressEvent (transform=..., event=0x7ffeb0e45b40, this=0x562f4d7a1380) at ./src/kitemviews/kitemlistcontroller.cpp:555
#12 KItemListController::mousePressEvent (this=0x562f4d7a1380, event=0x7ffeb0e45b40, transform=...) at ./src/kitemviews/kitemlistcontroller.cpp:538
#13 0x00007f9ee9f45b67 in KItemListController::processEvent (this=this@entry=0x562f4d7a1380, event=event@entry=0x7ffeb0e45b40, transform=...) at ./src/kitemviews/kitemlistcontroller.cpp:1108
#14 0x00007f9ee9f55096 in KItemListView::event (this=0x562f4d7752e0, event=0x7ffeb0e45b40) at ./src/kitemviews/kitemlistview.cpp:933
#15 0x00007f9ee88a4dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f9ee88adbb8 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007f9ee7dcd6da in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f9ee8bd9f73 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f9ee8bda3b7 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007f9ee8be277a in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007f9ee8be29bf in QGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007f9ee8bec62a in QGraphicsScene::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007f9ee88a4dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007f9ee88adbb8 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007f9ee7dcd6da in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007f9ee8c099db in QGraphicsView::mousePressEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007f9ee88e7c21 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007f9ee8997f82 in QFrame::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007f9ee8c0aaa1 in QGraphicsView::viewportEvent(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007f9ee7dcd443 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007f9ee88a4db2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007f9ee88ade77 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007f9ee7dcd6da in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007f9ee88ad0a7 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007f9ee8902e54 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#36 0x00007f9ee8906174 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x00007f9ee88a4dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#38 0x00007f9ee88adbb8 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#39 0x00007f9ee7dcd6da in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007f9ee81af4e8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#41 0x00007f9ee81b0b55 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#42 0x00007f9ee81887ac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#43 0x00007f9ee2b02d7e in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#44 0x00007f9ee5ae317d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f9ee5ae3400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f9ee5ae34a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f9ee7e27fe2 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#48 0x00007f9ee7dcc1eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#49 0x00007f9ee7dd4394 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#50 0x00007f9eea234fa2 in kdemain (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:222
#51 0x00007f9eea0160b3 in __libc_start_main (main=0x562f4bc72060 <main>, argc=1, argv=0x7ffeb0e46c58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffeb0e46c48) at ../csu/libc-start.c:308
#52 0x0000562f4bc7209e in _start ()
[Inferior 1 (process 50086) detached]

Possible duplicates by query: bug 425455.
Comment 2 Nate Graham 2021-04-12 14:39:11 UTC
#4  0x00007f9ee94a2e04 in KIconButton::icon() const () from /lib/x86_64-linux-gnu/libKF5IconThemes.so.5

What is the icon for the item you're right-clicking on? Can you share a screenshot of it?
Comment 3 Miguel Sáenz 2021-04-12 22:38:53 UTC
Created attachment 137547 [details]
Sequence of crash 1/3
Comment 4 Miguel Sáenz 2021-04-12 22:39:32 UTC
Created attachment 137548 [details]
Sequence of crash 2/3
Comment 5 Miguel Sáenz 2021-04-12 22:40:01 UTC
Created attachment 137549 [details]
Sequence of crash 3/3
Comment 6 Nate Graham 2021-04-12 23:11:23 UTC
Thanks, can reproduce.
Comment 7 Nate Graham 2021-04-13 13:51:09 UTC
Crash log with debug symbols:

Thread 1 "dolphin" received signal SIGSEGV, Segmentation fault.
KIconButton::icon (this=0x0) at /usr/include/c++/10/bits/unique_ptr.h:173
173           pointer    _M_ptr() const { return std::get<0>(_M_t); }
(gdb) bt
#0  KIconButton::icon (this=0x0) at /usr/include/c++/10/bits/unique_ptr.h:173
#1  0x00007ffff7e14be9 in KFilePlaceEditDialog::icon (this=0x1292a10)
    at /home/nate/kde/src/kio/src/filewidgets/kfileplaceeditdialog.cpp:195
#2  0x0000000000474d71 in PlacesPanel::editEntry (this=0xa30360, index=9)
    at /home/nate/kde/src/dolphin/src/panels/places/placespanel.cpp:525
#3  0x00000000004763b8 in PlacesPanel::slotItemContextMenuRequested (this=0xa30360, 
    index=<optimized out>, pos=...)
    at /home/nate/kde/src/dolphin/src/panels/places/placespanel.cpp:269
#4  0x00007ffff5ab2946 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffc350, r=0xa30360, 
    this=0xe5a4b0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#5  doActivate<false> (sender=0xe57d80, signal_index=6, argv=argv@entry=0x7fffffffc350)
    at kernel/qobject.cpp:3886
#6  0x00007ffff5aabc60 in QMetaObject::activate (sender=sender@entry=0xe57d80, 
    m=m@entry=0x7ffff7fbd700 <KItemListController::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7fffffffc350)
    at kernel/qobject.cpp:3946
#7  0x00007ffff7eed386 in KItemListController::itemContextMenuRequested (this=this@entry=0xe57d80, 
    _t1=<optimized out>, _t2=...)
    at /home/nate/kde/build/dolphin/src/dolphinprivate_autogen/Z3MQH7AOBD/moc_kitemlistcontroller.cpp:506
#8  0x00007ffff7f1c74f in KItemListController::onPress (this=this@entry=0xe57d80, screenPos=..., 
    pos=..., modifiers=modifiers@entry=..., buttons=..., buttons@entry=...)
    at /home/nate/kde/src/dolphin/src/kitemviews/kitemlistcontroller.cpp:1520
#9  0x00007ffff7f1d881 in KItemListController::mousePressEvent (transform=..., 
    event=0x7fffffffc930, this=0xe57d80)
    at /home/nate/kde/src/dolphin/src/kitemviews/kitemlistcontroller.cpp:555
#10 KItemListController::mousePressEvent (this=0xe57d80, event=0x7fffffffc930, transform=...)
    at /home/nate/kde/src/dolphin/src/kitemviews/kitemlistcontroller.cpp:538
#11 0x00007ffff7f1ecc9 in KItemListController::processEvent (this=0xe57d80, event=0x7fffffffc930, 
    transform=...) at /home/nate/kde/src/dolphin/src/kitemviews/kitemlistcontroller.cpp:1108
#12 0x00007ffff7f2e89d in KItemListView::event (this=0xe56340, event=0x7fffffffc930)
    at /home/nate/kde/src/dolphin/src/kitemviews/kitemlistview.cpp:950
#13 0x00007ffff662d4ff in QApplicationPrivate::notify_helper (this=<optimized out>, 
    receiver=0xe56340, e=0x7fffffffc930) at kernel/qapplication.cpp:3632
#14 0x00007ffff5a7c32a in QCoreApplication::notifyInternal2 (receiver=0xe56340, 
    event=0x7fffffffc930) at kernel/qcoreapplication.cpp:1063
#15 0x00007ffff6942a05 in QGraphicsScenePrivate::sendEvent (this=<optimized out>, item=0xe56350, 
    event=0x7fffffffc930) at graphicsview/qgraphicsscene.cpp:1254
#16 0x00007ffff6942da1 in QGraphicsScenePrivate::sendMouseEvent (this=this@entry=0x773f90, 
    mouseEvent=mouseEvent@entry=0x7fffffffc930) at graphicsview/qgraphicsscene.cpp:1335
#17 0x00007ffff694b38a in QGraphicsScenePrivate::mousePressEventHandler (this=0x773f90, 
    mouseEvent=0x7fffffffc930) at graphicsview/qgraphicsscene.cpp:1462
#18 0x00007ffff6955101 in QGraphicsScene::event (this=0xe62f10, event=0x7fffffffc930)
    at graphicsview/qgraphicsscene.cpp:3433
#19 0x00007ffff662d4ff in QApplicationPrivate::notify_helper (this=<optimized out>, 
    receiver=0xe62f10, e=0x7fffffffc930) at kernel/qapplication.cpp:3632
#20 0x00007ffff5a7c32a in QCoreApplication::notifyInternal2 (receiver=0xe62f10, 
    event=0x7fffffffc930) at kernel/qcoreapplication.cpp:1063
#21 0x00007ffff69715e5 in QGraphicsView::mousePressEvent (this=0xe62f90, event=0x7fffffffcf00)
    at graphicsview/qgraphicsview.cpp:3307
--Type <RET> for more, q to quit, c to continue without paging--
#22 0x00007ffff666d34e in QWidget::event (this=this@entry=0xe62f90, 
    event=event@entry=0x7fffffffcf00) at kernel/qwidget.cpp:9019
#23 0x00007ffff67159be in QFrame::event (this=0xe62f90, e=0x7fffffffcf00) at widgets/qframe.cpp:550
#24 0x00007ffff5a7c093 in QCoreApplicationPrivate::sendThroughObjectEventFilters (
    event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.cpp:1189
#25 QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0xe7a850, 
    event=event@entry=0x7fffffffcf00) at kernel/qcoreapplication.cpp:1178
#26 0x00007ffff662d4ee in QApplicationPrivate::notify_helper (this=this@entry=0x54ddb0, 
    receiver=receiver@entry=0xe7a850, e=e@entry=0x7fffffffcf00) at kernel/qapplication.cpp:3626
#27 0x00007ffff66343eb in QApplication::notify (this=0x7fffffffcc00, receiver=0xe7a850, 
    e=0x7fffffffcf00) at kernel/qapplication.cpp:3076
#28 0x00007ffff5a7c32a in QCoreApplication::notifyInternal2 (receiver=0xe7a850, 
    event=0x7fffffffcf00) at kernel/qcoreapplication.cpp:1063
#29 0x00007ffff6633416 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0xe7a850, 
    event=event@entry=0x7fffffffcf00, alienWidget=alienWidget@entry=0xe7a850, 
    nativeWidget=0x554cc0, buttonDown=buttonDown@entry=0x7ffff6b5b670 <qt_button_down>, 
    lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false)
    at kernel/qapplication.cpp:2614
#30 0x00007ffff66853b1 in QWidgetWindow::handleMouseEvent (this=0x85c230, event=0x7fffffffd1c0)
    at kernel/qwidgetwindow.cpp:683
#31 0x00007ffff66888be in QWidgetWindow::event (this=0x85c230, event=0x7fffffffd1c0)
    at kernel/qwidgetwindow.cpp:300
#32 0x00007ffff662d4ff in QApplicationPrivate::notify_helper (this=<optimized out>, 
    receiver=0x85c230, e=0x7fffffffd1c0) at kernel/qapplication.cpp:3632
#33 0x00007ffff5a7c32a in QCoreApplication::notifyInternal2 (receiver=0x85c230, 
    event=0x7fffffffd1c0) at kernel/qcoreapplication.cpp:1063
#34 0x00007ffff5ee8d03 in QGuiApplicationPrivate::processMouseEvent (e=0x1208fa0)
    at kernel/qguiapplication.cpp:2282
#35 0x00007ffff5ebec5c in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...)
    at kernel/qwindowsysteminterface.cpp:1169
#36 0x00007ffff0b6ffaa in xcbSourceDispatch (source=source@entry=0x63b720)
    at qxcbeventdispatcher.cpp:105
#37 0x00007ffff3486f57 in g_main_dispatch (context=0x7fffec005000) at ../glib/gmain.c:3325
#38 g_main_context_dispatch (context=0x7fffec005000) at ../glib/gmain.c:4043
#39 0x00007ffff34872d8 in g_main_context_iterate (context=context@entry=0x7fffec005000, 
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4119
#40 0x00007ffff348738f in g_main_context_iteration (context=0x7fffec005000, 
    may_block=may_block@entry=1) at ../glib/gmain.c:4184
#41 0x00007ffff5ad38bf in QEventDispatcherGlib::processEvents (this=0x647f50, flags=...)
    at kernel/qeventdispatcher_glib.cpp:423
#42 0x00007ffff5a7aceb in QEventLoop::exec (this=this@entry=0x7fffffffd4f0, flags=..., 
    flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#43 0x00007ffff5a82f60 in QCoreApplication::exec ()
    at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#44 0x00007ffff5edc35c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#45 0x00007ffff662d475 in QApplication::exec () at kernel/qapplication.cpp:2824
#46 0x000000000044c0b4 in main (argc=<optimized out>, argv=0x7fffffffd5d8)
    at /home/nate/kde/src/dolphin/src/main.cpp:222
Comment 8 Harald Sitter 2021-04-13 14:20:01 UTC
Crash is actually in KIO.

KFilePlaceEditDialog::icon() there is a guard against paths with immutable icon (KFilePlaceEditDialog::isIconEditable()) but also based on that guard m_iconButton will not be initialized.

i.e. When one edits the Trash entry the url is trash:/ and guarded so m_iconButton is nullptr after the ctor. When one then changes the url to anything but trash:/ the guard gets deactivated and any call into ::icon() will dereference the nullptr.

One can but wonder what the point of editing the trash url is exactly though. I'd disable it TBH.

Other solutions:
- do not check the guard after construction. if the url was for an immutable icon on construction it'll be considered immutable forever more. kinda meh though
- update the iconbutton on urlChanged(). i.e. delete when url changes to trash:/, construct when it changes away from trash:/
Comment 9 Kai Uwe Broulik 2022-05-10 11:30:32 UTC
It's not possible to edit Trash bookmark icon anymore.