Bug 444792 - KPA crashes when a KIM containing only video clips (as sidecar files) is imported
Summary: KPA crashes when a KIM containing only video clips (as sidecar files) is impo...
Status: RESOLVED FIXED
Alias: None
Product: kphotoalbum
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: KPhotoAlbum Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-11-01 19:51 UTC by Andreas Schleth
Modified: 2021-11-07 16:34 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Schleth 2021-11-01 19:51:42 UTC
Application: kphotoalbum (v5.8.1-21-g7f709159)

Qt Version: 5.12.7
Frameworks Version: 5.76.0
Operating System: Linux 5.3.18-59.27-default x86_64
Windowing system: X11
Distribution: openSUSE Leap 15.3

-- Information about the crash:
- What I was doing when the application crashed:
I was trying to recreate the videothumbnails for a few clips. 
So I exported them to a *kim file with the clips copied next to the *kim.
Then I deleted the clips in the data base and on disk (at their original location) from KPA.
On importing this *kim back into KPA, KPA crashes after finishing the dialog for the import location and the categories.
Twice.

KPA is v5.8.1-21-g7f709159
KDE Frameworks 5.76.0
Qt 5.12.7 (kompiliert gegen 5.12.7)

The crash can be reproduced every time.

-- Backtrace:
Application: KPhotoAlbum (kphotoalbum), signal: Segmentation fault
[KCrash Handler]
#4  0x000000000047dcea in QString::QString (this=0x7ffd76cee6c8, other=...) at /usr/include/qt5/QtCore/qstring.h:957
#5  0x0000000000587a7f in DB::ImageInfo::label (this=0x0) at /home/usr/src/kphotoalbum-git/kphotoalbum/DB/ImageInfo.cpp:105
#6  0x00000000005c59d3 in ImportExport::MD5CheckPage::clashes (settings=...) at /home/usr/src/kphotoalbum-git/kphotoalbum/ImportExport/MD5CheckPage.cpp:105
#7  0x00000000005c4d5b in ImportExport::MD5CheckPage::pageNeeded (settings=...) at /home/usr/src/kphotoalbum-git/kphotoalbum/ImportExport/MD5CheckPage.cpp:29
#8  0x00000000005c2137 in ImportExport::ImportDialog::possiblyAddMD5CheckPage (this=0x7ffd76cef990) at /home/usr/src/kphotoalbum-git/kphotoalbum/ImportExport/ImportDialog.cpp:383
#9  0x00000000005c1b6a in ImportExport::ImportDialog::next (this=0x7ffd76cef990) at /home/usr/src/kphotoalbum-git/kphotoalbum/ImportExport/ImportDialog.cpp:324
#10 0x00007fc3f310bfcf in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#11 0x00007fc3f4049ec2 in QAbstractButton::clicked(bool) () from /usr/lib64/libQt5Widgets.so.5
#12 0x00007fc3f404a0da in ?? () from /usr/lib64/libQt5Widgets.so.5
#13 0x00007fc3f404b4ba in ?? () from /usr/lib64/libQt5Widgets.so.5
#14 0x00007fc3f404b6ad in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#15 0x00007fc3f3fa22a8 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#16 0x00007fc3f3f61f9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#17 0x00007fc3f3f6a488 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#18 0x00007fc3f30dc3a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#19 0x00007fc3f3f68a7f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib64/libQt5Widgets.so.5
#20 0x00007fc3f3fbcf81 in ?? () from /usr/lib64/libQt5Widgets.so.5
#21 0x00007fc3f3fbfdda in ?? () from /usr/lib64/libQt5Widgets.so.5
#22 0x00007fc3f3f61f9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#23 0x00007fc3f3f695b0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#24 0x00007fc3f30dc3a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#25 0x00007fc3f36e34e5 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5
#26 0x00007fc3f36e4835 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5
#27 0x00007fc3f36be2bb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
#28 0x00007fc3e66f625a in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#29 0x00007fc3ebc48694 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#30 0x00007fc3ebc48a30 in ?? () from /usr/lib64/libglib-2.0.so.0
#31 0x00007fc3ebc48abc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#32 0x00007fc3f313942f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#33 0x00007fc3f30da5fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#34 0x00007fc3f4154367 in QDialog::exec() () from /usr/lib64/libQt5Widgets.so.5
#35 0x00000000005bed52 in ImportExport::ImportDialog::exec (this=0x7ffd76cef990, kimFileReader=0x7ffd76cef970, kimFileURL=...) at /home/usr/src/kphotoalbum-git/kphotoalbum/ImportExport/ImportDialog.cpp:67
#36 0x00000000005b5a02 in ImportExport::Import::exec (this=0x3b51c10, fileName=...) at /home/usr/src/kphotoalbum-git/kphotoalbum/ImportExport/Import.cpp:88
#37 0x00000000005b551b in ImportExport::Import::imageImport (url=...) at /home/usr/src/kphotoalbum-git/kphotoalbum/ImportExport/Import.cpp:44
#38 0x00000000005b53cf in ImportExport::Import::imageImport () at /home/usr/src/kphotoalbum-git/kphotoalbum/ImportExport/Import.cpp:33
#39 0x000000000055f347 in MainWindow::Window::slotImport (this=0x136f600) at /home/usr/src/kphotoalbum-git/kphotoalbum/MainWindow/Window.cpp:1427
#40 0x00000000005686c1 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (MainWindow::Window::*)()>::call(void (MainWindow::Window::*)(), MainWindow::Window*, void**) (f=(void (MainWindow::Window::*)(MainWindow::Window * const)) 0x55f336 <MainWindow::Window::slotImport()>, o=0x136f600, arg=0x7ffd76cefd50) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#41 0x0000000000567ef0 in QtPrivate::FunctionPointer<void (MainWindow::Window::*)()>::call<QtPrivate::List<>, void>(void (MainWindow::Window::*)(), MainWindow::Window*, void**) (f=(void (MainWindow::Window::*)(MainWindow::Window * const)) 0x55f336 <MainWindow::Window::slotImport()>, o=0x136f600, arg=0x7ffd76cefd50) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#42 0x00000000005667ca in QtPrivate::QSlotObject<void (MainWindow::Window::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x26d38d0, r=0x136f600, a=0x7ffd76cefd50, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:414
#43 0x00007fc3f310bfcf in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#44 0x00007fc3f3f5b892 in QAction::triggered(bool) () from /usr/lib64/libQt5Widgets.so.5
#45 0x00007fc3f3f5deac in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQt5Widgets.so.5
#46 0x00007fc3f40d40ac in ?? () from /usr/lib64/libQt5Widgets.so.5
#47 0x00007fc3f40db6ab in ?? () from /usr/lib64/libQt5Widgets.so.5
#48 0x00007fc3f40dc523 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#49 0x00007fc3f3fa22a8 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#50 0x00007fc3f40de7eb in QMenu::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#51 0x00007fc3f3f61f9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#52 0x00007fc3f3f6a488 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#53 0x00007fc3f30dc3a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#54 0x00007fc3f3f68a7f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib64/libQt5Widgets.so.5
#55 0x00007fc3f3fbd664 in ?? () from /usr/lib64/libQt5Widgets.so.5
#56 0x00007fc3f3fbfdda in ?? () from /usr/lib64/libQt5Widgets.so.5
#57 0x00007fc3f3f61f9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#58 0x00007fc3f3f695b0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#59 0x00007fc3f30dc3a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#60 0x00007fc3f36e34e5 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5
#61 0x00007fc3f36e4835 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5
#62 0x00007fc3f36be2bb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
#63 0x00007fc3e66f625a in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#64 0x00007fc3ebc48694 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#65 0x00007fc3ebc48a30 in ?? () from /usr/lib64/libglib-2.0.so.0
#66 0x00007fc3ebc48abc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#67 0x00007fc3f313942f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#68 0x00007fc3f30da5fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#69 0x00007fc3f30e3800 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#70 0x000000000048c140 in main (argc=3, argv=0x7ffd76cf1348) at /home/usr/src/kphotoalbum-git/kphotoalbum/main.cpp:162
[Inferior 1 (process 8451) detached]

Possible duplicates by query: bug 429973, bug 424760, bug 410345, bug 409383, bug 384419.

Reported using DrKonqi
Comment 1 Johannes Zarl-Zierl 2021-11-06 23:54:27 UTC
Git commit e07a6511d15b71947121d5029f829ee1315ae418 by Johannes Zarl-Zierl.
Committed on 06/11/2021 at 23:53.
Pushed by johanneszarl into branch 'master'.

Fix possible crash when importing KIM files

M  +7    -4    ImportExport/MD5CheckPage.cpp

https://invent.kde.org/graphics/kphotoalbum/commit/e07a6511d15b71947121d5029f829ee1315ae418
Comment 2 Johannes Zarl-Zierl 2021-11-06 23:56:00 UTC
I didn't try to reproduce the bug, but from the backtrace it seems pretty clear how it happened.
Can you please check to verify the fix?
Comment 3 Andreas Schleth 2021-11-07 16:34:39 UTC
I can confirm, that the crash does not happen anymore.
Running v5.8.1-24-ge07a6511 now.
Thanks!