Bug 425528 - Crash when synching folders
Summary: Crash when synching folders
Status: RESOLVED FIXED
Alias: None
Product: krusader
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Krusader Bugs Distribution List
URL:
Keywords: drkonqi
: 417998 424680 439944 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-08-19 02:33 UTC by livier
Modified: 2021-09-08 06:27 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot (74.84 KB, image/png)
2020-08-21 00:45 UTC, livier
Details

Note You need to log in before you can comment on or make changes to this bug.
Description livier 2020-08-19 02:33:09 UTC
Application: krusader (2.7.2 "Peace of Mind")

Qt Version: 5.14.2
Frameworks Version: 5.73.0
Operating System: Linux 4.15.0-66-generic x86_64
Windowing system: X11
Distribution: KDE neon User Edition 5.19

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

I was synching folders. 
The first part : detecting wich files are new or alone ... whnt correctly
When applying, asking for synching, crash append.
Trying with a very less heavy synch (whith no subfolders) it crashed too. 

Usefull or not ?
One of the folders to sync was luks crypted

The crash can be reproduced every time.

-- Backtrace:
Application: Krusader (krusader), signal: Segmentation fault

[KCrash Handler]
#4  0x0000557f9ce1523c in KrViewItem::itemRect (this=0x557f9fd526d0) at ./krusader/Panel/PanelView/krviewitem.cpp:140
#5  0x0000557f9cdd7f3d in KrPreviewJob::sort (this=this@entry=0x557fa08d0210) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:184
#6  0x0000557f9cdd8055 in KrPreviewJob::slotStartJob (this=0x557fa08d0210) at ./krusader/Panel/krpreviewjob.cpp:101
#7  0x00007f0ef16ed550 in doActivate<false> (sender=0x557fa08d0240, signal_index=3, argv=0x7ffd46b25f60) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#8  0x00007f0ef16e7af7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f0ef1993ce0 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd46b25f60) at kernel/qobject.cpp:3930
#9  0x00007f0ef16f12ce in QTimer::timeout (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#10 0x00007f0ef16e51c5 in QObject::event (this=0x557fa08d0240, e=0x7ffd46b26290) at kernel/qobject.cpp:1361
#11 0x00007f0ef21e5cc3 in QApplicationPrivate::notify_helper (this=this@entry=0x557f9e998ed0, receiver=receiver@entry=0x557fa08d0240, e=e@entry=0x7ffd46b26290) at kernel/qapplication.cpp:3685
#12 0x00007f0ef21eef40 in QApplication::notify (this=0x7ffd46b27680, receiver=0x557fa08d0240, e=0x7ffd46b26290) at kernel/qapplication.cpp:3431
#13 0x00007f0ef16b778a in QCoreApplication::notifyInternal2 (receiver=0x557fa08d0240, event=0x7ffd46b26290) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:153
#14 0x00007f0ef170f530 in QTimerInfoList::activateTimers (this=0x557f9e9fc4f0) at kernel/qtimerinfo_unix.cpp:643
#15 0x00007f0ef170fe1c in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
#16 0x00007f0eefeeafbd in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f0eefeeb240 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f0eefeeb2e3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f0ef17101e2 in QEventDispatcherGlib::processEvents (this=0x557f9e9a0120, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#20 0x00007f0ef16b624b in QEventLoop::exec (this=this@entry=0x7ffd46b264d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:136
#21 0x00007f0ef23efdbd in QDialog::exec (this=0x7f0ee8013f60) at ../../include/QtCore/../../src/corelib/global/qflags.h:118
#22 0x0000557f9cf7ba6d in SynchronizeDialog::SynchronizeDialog (this=0x7f0ee8013f60, parent=<optimized out>, sync=<optimized out>, pleftCopyNr=<optimized out>, pleftCopySize=<optimized out>, prightCopyNr=<optimized out>, prightCopySize=2018311982, pdeleteNr=0, pdeleteSize=0, parThreads=1) at ./krusader/Synchronizer/synchronizedialog.cpp:133
#23 0x0000557f9cf75b8f in SynchronizerGUI::synchronize (this=0x557fa04e8010) at ./krusader/Synchronizer/synchronizergui.cpp:1225
#24 0x0000557f9cf788d5 in SynchronizerGUI::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at ./obj-x86_64-linux-gnu/krusader/Synchronizer/Synchronizer_autogen/EWIEGA46WW/moc_synchronizergui.cpp:149
#25 0x00007f0ef16ed550 in doActivate<false> (sender=0x557fa07d63a0, signal_index=9, argv=0x7ffd46b267d0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#26 0x00007f0ef16e7af7 in QMetaObject::activate (sender=sender@entry=0x557fa07d63a0, m=m@entry=0x7f0ef26f8700 <QAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffd46b267d0) at kernel/qobject.cpp:3930
#27 0x00007f0ef22ddc36 in QAbstractButton::clicked (this=this@entry=0x557fa07d63a0, _t1=<optimized out>) at .moc/moc_qabstractbutton.cpp:313
#28 0x00007f0ef22dde5e in QAbstractButtonPrivate::emitClicked (this=0x557fa0c99e30) at widgets/qabstractbutton.cpp:415
#29 0x00007f0ef22df2a3 in QAbstractButtonPrivate::click (this=0x557fa0c99e30) at widgets/qabstractbutton.cpp:408
#30 0x00007f0ef22df465 in QAbstractButton::mouseReleaseEvent (this=0x557fa07d63a0, e=0x7ffd46b26d40) at widgets/qabstractbutton.cpp:1012
#31 0x00007f0ef2229256 in QWidget::event (this=0x557fa07d63a0, event=0x7ffd46b26d40) at kernel/qwidget.cpp:8677
#32 0x00007f0ef21e5cc3 in QApplicationPrivate::notify_helper (this=this@entry=0x557f9e998ed0, receiver=receiver@entry=0x557fa07d63a0, e=e@entry=0x7ffd46b26d40) at kernel/qapplication.cpp:3685
#33 0x00007f0ef21ef193 in QApplication::notify (this=<optimized out>, receiver=0x557fa07d63a0, e=0x7ffd46b26d40) at kernel/qapplication.cpp:3129
#34 0x00007f0ef16b778a in QCoreApplication::notifyInternal2 (receiver=0x557fa07d63a0, event=0x7ffd46b26d40) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:153
#35 0x00007f0ef21ee267 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x557fa07d63a0, event=event@entry=0x7ffd46b26d40, alienWidget=alienWidget@entry=0x557fa07d63a0, nativeWidget=0x557fa04e8010, buttonDown=buttonDown@entry=0x7f0ef27229a0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2615
#36 0x00007f0ef224496d in QWidgetWindow::handleMouseEvent (this=0x557fa0b39620, event=0x7ffd46b271c0) at /usr/include/c++/9/bits/atomic_base.h:413
#37 0x00007f0ef2247a1c in QWidgetWindow::event (event=0x7ffd46b271c0, this=0x557fa0b39620) at kernel/qwidgetwindow.cpp:295
#38 QWidgetWindow::event (this=0x557fa0b39620, event=0x7ffd46b271c0) at kernel/qwidgetwindow.cpp:238
#39 0x00007f0ef21e5cc3 in QApplicationPrivate::notify_helper (this=this@entry=0x557f9e998ed0, receiver=receiver@entry=0x557fa0b39620, e=e@entry=0x7ffd46b271c0) at kernel/qapplication.cpp:3685
#40 0x00007f0ef21eef40 in QApplication::notify (this=0x7ffd46b27680, receiver=0x557fa0b39620, e=0x7ffd46b271c0) at kernel/qapplication.cpp:3431
#41 0x00007f0ef16b778a in QCoreApplication::notifyInternal2 (receiver=0x557fa0b39620, event=0x7ffd46b271c0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:153
#42 0x00007f0ef1ad8323 in QGuiApplicationPrivate::processMouseEvent (e=e@entry=0x557fa06d6f70) at kernel/qguiapplication.cpp:2203
#43 0x00007f0ef1ad99e5 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x557fa06d6f70) at kernel/qguiapplication.cpp:1935
#44 0x00007f0ef1ab1d6b in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1170
#45 0x00007f0eed66a51e in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#46 0x00007f0eefeeafbd in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f0eefeeb240 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007f0eefeeb2e3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007f0ef17101e2 in QEventDispatcherGlib::processEvents (this=0x557f9e9a0120, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#50 0x00007f0ef16b624b in QEventLoop::exec (this=this@entry=0x7ffd46b27560, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:136
#51 0x00007f0ef16be296 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:118
#52 0x0000557f9cd94cb7 in main (argc=<optimized out>, argv=<optimized out>) at ./krusader/main.cpp:316
[Inferior 1 (process 21915) detached]

Possible duplicates by query: bug 414332, bug 284202, bug 256794.

Reported using DrKonqi
Comment 1 Davide Gianforte 2020-08-19 07:16:50 UTC
Did you marked some left file/folder for deletion?

Do you have preview (View->Show Preview) active? If yes, can you try to sync with the preview disabled?
Comment 2 livier 2020-08-21 00:45:10 UTC
Created attachment 131062 [details]
Screenshot
Comment 3 Davide Gianforte 2020-08-21 12:41:37 UTC
In French, from the menu toolbar, it should be "Vue" (fourth one) and "Afficher les aperçus"; try to sync with the checkbox unchecked.
Comment 4 livier 2020-08-21 14:42:40 UTC
Yes I checked this checkbox ...
It was ans is still unchecked !
En Français pour être clair : 
L'option "afficher les apperçus" n'est pas active . 

Je cherche encore du coté du montage de la partition de destination en "luks"
I'm still checking around the luks's partition mount of target partition.
Maybe my problems are there.
Comment 5 livier 2020-08-21 17:35:46 UTC
The luks destination works better now and krusader also work better.
I will come back if nessessary
Excuses for the noise
Comment 6 Christoph Feck 2020-09-03 09:42:39 UTC
New information was added with comment 4; changing status.

The backtrace seems to indicate there is a problem in KrPreviewJob, possibly related to the timer events and/or nested event loop from the SynchronizeDialog.
Comment 7 Davide Gianforte 2020-09-22 10:56:35 UTC
*** Bug 424680 has been marked as a duplicate of this bug. ***
Comment 8 Bug Janitor Service 2020-09-22 11:02:17 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/krusader/-/merge_requests/33
Comment 9 livier 2020-09-22 16:45:19 UTC
Status modified, 
Excuses for the noise. 

My last check of this problem goes off after I resolved a lucks problem (the destination was mounted on).

Otherwise, I will come back here
Comment 10 Davide Gianforte 2021-03-23 06:19:59 UTC
Git commit 138e580a442aef8099c2c7c1b12bab709927c446 by Davide Gianforte, on behalf of Davide Gianforte.
Committed on 23/03/2021 at 06:19.
Pushed by gengisdave into branch 'master'.

Remove a fileitem from the PreviewJob when it disappears

When a file is updating (e.g. downloading, slow write, ...), Krusader crashes
if the KIO::PreviewJob ends after the view is updated (no item to update).
FIXED: [ 425528 ] Crash when synching folders

M  +1    -1    krusader/Panel/PanelView/krview.cpp

https://invent.kde.org/utilities/krusader/commit/138e580a442aef8099c2c7c1b12bab709927c446
Comment 11 Davide Gianforte 2021-07-17 10:10:03 UTC
*** Bug 439944 has been marked as a duplicate of this bug. ***
Comment 12 Davide Gianforte 2021-09-08 06:27:36 UTC
*** Bug 417998 has been marked as a duplicate of this bug. ***