[dolphin] [Bug 432309] New: Copying and pasting folders crashed (maybe because of broken symlinks)

bugzilla_noreply at kde.org bugzilla_noreply at kde.org
Sat Jan 30 12:42:21 GMT 2021


https://bugs.kde.org/show_bug.cgi?id=432309

            Bug ID: 432309
           Summary: Copying and pasting folders crashed (maybe because of
                    broken symlinks)
           Product: dolphin
           Version: 20.12.1
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: dolphin-bugs-null at kde.org
          Reporter: seplexfake at tutanota.com
                CC: kfm-devel at kde.org
  Target Milestone: ---

Application: dolphin (20.12.1)

Qt Version: 5.15.2
Frameworks Version: 5.78.0
Operating System: Linux 5.10.10-200.fc33.x86_64 x86_64
Windowing system: Wayland
Distribution: Fedora 33 (Thirty Three)

-- Information about the crash:
- What I was doing when the application crashed:

I was modifying an icon theme. One of the themes had a folder symlink called
'devices' that linked to '../icon-theme/devices. The example name of that theme
was 'icon-theme-dark'
To be more specific in the 22x22 folder.
In that folder there was a symlink called 'animations' that linked to
'../icon-theme/22x22/animations'
And another aclled apps one linking to '../icon-theme/22x22/apps'

and more folders and symlinks...

I copied all the folders and symlinks to a directory that already has the
folder names, but not symlinks, I wrote into the folders and overwrote
everything.

After that I get a window saying 'could not delete file
/home/username/icon-theme/animations.' And I can either retry, skip, skip all
and cancel. Retry doesn't crash, but the same windows pops up again. Skipping
all doesn't crash and cancelling doesn't crash.

After I skip once I get a window saying 'could not delete file
/home/username/icon-theme/apps.' Clicking on skip makes dolphin crash.

Tried this again and results in the same behaviour

I have also crafted a directory which is designed to simulate the actual crash,
but I don't really know why it causes to crash. I will upload that to github,
see the comments for the link, since I have not uploaded it at the time of
writing this.

This is the backtrace of that:

Application: Dolphin (dolphin), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f50ba102d64 in QUrl::isValid() const () from /lib64/libQt5Core.so.5
#5  0x00007f50ba107582 in
QUrl::adjusted(QUrlTwoFlags<QUrl::UrlFormattingOption,
QUrl::ComponentFormattingOption>) const () from /lib64/libQt5Core.so.5
#6  0x00007f50bba53d75 in KIO::CopyJobPrivate::skip(QUrl const&, bool) () from
/lib64/libKF5KIOCore.so.5
#7  0x00007f50bba57b42 in
KIO::CopyJobPrivate::processFileRenameDialogResult(QList<KIO::CopyInfo>::iterator
const&, KIO::RenameDialog_Result, QUrl const&, QDateTime const&) () from
/lib64/libKF5KIOCore.so.5
#8  0x00007f50bba5f0e9 in
QtPrivate::QFunctorSlotObject<KIO::CopyJobPrivate::slotResultErrorCopyingFiles(KJob*)::{lambda(KIO::RenameDialog_Result,
KJob*)#2}, 2, QtPrivate::List<KIO::RenameDialog_Result, KJob*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [clone
.lto_priv.0] () from /lib64/libKF5KIOCore.so.5
#9  0x00007f50ba1bd386 in void doActivate<false>(QObject*, int, void**) () from
/lib64/libQt5Core.so.5
#10 0x00007f50bba335e1 in
KIO::AskUserActionInterface::askUserSkipResult(KIO::RenameDialog_Result, KJob*)
() from /lib64/libKF5KIOCore.so.5
#11 0x00007f50ba1bd386 in void doActivate<false>(QObject*, int, void**) () from
/lib64/libQt5Core.so.5
#12 0x00007f50baee57b2 in QDialog::finished(int) () from
/lib64/libQt5Widgets.so.5
#13 0x00007f50ba1bd386 in void doActivate<false>(QObject*, int, void**) () from
/lib64/libQt5Core.so.5
#14 0x00007f50badd6316 in QAbstractButton::clicked(bool) () from
/lib64/libQt5Widgets.so.5
#15 0x00007f50badd6cde in QAbstractButtonPrivate::emitClicked() () from
/lib64/libQt5Widgets.so.5
#16 0x00007f50badd8673 in QAbstractButtonPrivate::click() () from
/lib64/libQt5Widgets.so.5
#17 0x00007f50badd8855 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
from /lib64/libQt5Widgets.so.5
#18 0x00007f50bad27b1e in QWidget::event(QEvent*) () from
/lib64/libQt5Widgets.so.5
#19 0x00007f50bace6ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /lib64/libQt5Widgets.so.5
#20 0x00007f50bacedeeb in QApplication::notify(QObject*, QEvent*) () from
/lib64/libQt5Widgets.so.5
#21 0x00007f50ba18dbd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /lib64/libQt5Core.so.5
#22 0x00007f50bacecefa in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
from /lib64/libQt5Widgets.so.5
#23 0x00007f50bad40375 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from
/lib64/libQt5Widgets.so.5
#24 0x00007f50bad436be in QWidgetWindow::event(QEvent*) () from
/lib64/libQt5Widgets.so.5
#25 0x00007f50bace6ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /lib64/libQt5Widgets.so.5
#26 0x00007f50ba18dbd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /lib64/libQt5Core.so.5
#27 0x00007f50ba68d143 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() from /lib64/libQt5Gui.so.5
#28 0x00007f50ba66e8cc in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /lib64/libQt5Gui.so.5
#29 0x00007f50b7b94e24 in userEventSourceDispatch(_GSource*, int (*)(void*),
void*) () from /lib64/libQt5WaylandClient.so.5
#30 0x00007f50b813796f in g_main_context_dispatch () from
/lib64/libglib-2.0.so.0
#31 0x00007f50b8189758 in g_main_context_iterate.constprop () from
/lib64/libglib-2.0.so.0
#32 0x00007f50b8134d43 in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#33 0x00007f50ba1da6f3 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /lib64/libQt5Core.so.5
#34 0x00007f50ba18c57b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQt5Core.so.5
#35 0x00007f50ba1941b4 in QCoreApplication::exec() () from
/lib64/libQt5Core.so.5
#36 0x00007f50bc2bfd5e in kdemain () from /lib64/libkdeinit5_dolphin.so
#37 0x00007f50bc0c51e2 in __libc_start_main () from /lib64/libc.so.6
#38 0x0000558347fbf0ae in _start ()
[Inferior 1 (process 7064) detached]


This is the backtrace of the original crash when copypasting the icons

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

[KCrash Handler]
#4  0x00007f0c625c1c2f in QUrl::QUrl(QUrl const&) () from
/lib64/libQt5Core.so.5
#5  0x00007f0c63f12ce0 in KIO::CopyJobPrivate::skip(QUrl const&, bool) () from
/lib64/libKF5KIOCore.so.5
#6  0x00007f0c63f16b42 in
KIO::CopyJobPrivate::processFileRenameDialogResult(QList<KIO::CopyInfo>::iterator
const&, KIO::RenameDialog_Result, QUrl const&, QDateTime const&) () from
/lib64/libKF5KIOCore.so.5
#7  0x00007f0c63f1e0e9 in
QtPrivate::QFunctorSlotObject<KIO::CopyJobPrivate::slotResultErrorCopyingFiles(KJob*)::{lambda(KIO::RenameDialog_Result,
KJob*)#2}, 2, QtPrivate::List<KIO::RenameDialog_Result, KJob*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [clone
.lto_priv.0] () from /lib64/libKF5KIOCore.so.5
#8  0x00007f0c6267c386 in void doActivate<false>(QObject*, int, void**) () from
/lib64/libQt5Core.so.5
#9  0x00007f0c63ef25e1 in
KIO::AskUserActionInterface::askUserSkipResult(KIO::RenameDialog_Result, KJob*)
() from /lib64/libKF5KIOCore.so.5
#10 0x00007f0c6267c386 in void doActivate<false>(QObject*, int, void**) () from
/lib64/libQt5Core.so.5
#11 0x00007f0c633a47b2 in QDialog::finished(int) () from
/lib64/libQt5Widgets.so.5
#12 0x00007f0c6267c386 in void doActivate<false>(QObject*, int, void**) () from
/lib64/libQt5Core.so.5
#13 0x00007f0c63295316 in QAbstractButton::clicked(bool) () from
/lib64/libQt5Widgets.so.5
#14 0x00007f0c63295cde in QAbstractButtonPrivate::emitClicked() () from
/lib64/libQt5Widgets.so.5
#15 0x00007f0c63297673 in QAbstractButtonPrivate::click() () from
/lib64/libQt5Widgets.so.5
#16 0x00007f0c63297855 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
from /lib64/libQt5Widgets.so.5
#17 0x00007f0c631e6b1e in QWidget::event(QEvent*) () from
/lib64/libQt5Widgets.so.5
#18 0x00007f0c631a5ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /lib64/libQt5Widgets.so.5
#19 0x00007f0c631aceeb in QApplication::notify(QObject*, QEvent*) () from
/lib64/libQt5Widgets.so.5
#20 0x00007f0c6264cbd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /lib64/libQt5Core.so.5
#21 0x00007f0c631abefa in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
from /lib64/libQt5Widgets.so.5
#22 0x00007f0c631ff375 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from
/lib64/libQt5Widgets.so.5
#23 0x00007f0c632026be in QWidgetWindow::event(QEvent*) () from
/lib64/libQt5Widgets.so.5
#24 0x00007f0c631a5ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /lib64/libQt5Widgets.so.5
#25 0x00007f0c6264cbd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /lib64/libQt5Core.so.5
#26 0x00007f0c62b4c143 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() from /lib64/libQt5Gui.so.5
#27 0x00007f0c62b2d8cc in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /lib64/libQt5Gui.so.5
#28 0x00007f0c60053e24 in userEventSourceDispatch(_GSource*, int (*)(void*),
void*) () from /lib64/libQt5WaylandClient.so.5
#29 0x00007f0c605f696f in g_main_context_dispatch () from
/lib64/libglib-2.0.so.0
#30 0x00007f0c60648758 in g_main_context_iterate.constprop () from
/lib64/libglib-2.0.so.0
#31 0x00007f0c605f3d43 in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#32 0x00007f0c626996f3 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /lib64/libQt5Core.so.5
#33 0x00007f0c6264b57b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQt5Core.so.5
#34 0x00007f0c626531b4 in QCoreApplication::exec() () from
/lib64/libQt5Core.so.5
#35 0x00007f0c6477ed5e in kdemain () from /lib64/libkdeinit5_dolphin.so
#36 0x00007f0c645841e2 in __libc_start_main () from /lib64/libc.so.6
#37 0x0000564565a200ae in _start ()
[Inferior 1 (process 5296) detached]

Possible duplicates by query: bug 431914, bug 431739, bug 411883, bug 403753,
bug 403418.

Reported using DrKonqi

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the kfm-devel mailing list