[Digikam-devel] [Bug 209207] Crash when deleting saved searches (GPS and Timeline)
Michael G. Hansen
mike at mghansen.de
Sun Oct 4 10:54:06 BST 2009
https://bugs.kde.org/show_bug.cgi?id=209207
--- Comment #10 from Michael G. Hansen <mike mghansen de> 2009-10-04 11:54:00 ---
Okay, latest SVN (1031168): Could not crash it when run normally, only under
Valgrind. Steps to reproduce: Timeline-> create searches a1, a2, a3, delete
a2->crash.
Valgrind log of 64-bit version after clicking "Yes" in delete confirmation:
==7256== Invalid read of size 8
==7256== at 0x6740AD: Digikam::AlbumHistory::deleteAlbum(Digikam::Album*)
(albumhistory.cpp:150)
==7256== by 0x6EFC17:
Digikam::DigikamView::slotAlbumDeleted(Digikam::Album*) (digikamview.cpp:821)
==7256== by 0x6F8AE2: Digikam::DigikamView::qt_metacall(QMetaObject::Call,
int, void**) (digikamview.moc:283)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x687E48:
Digikam::AlbumManager::signalAlbumDeleted(Digikam::Album*)
(albummanager.moc:222)
==7256== by 0x6884DE: Digikam::AlbumManager::deleteSAlbum(Digikam::SAlbum*)
(albummanager.cpp:2356)
==7256== by 0x5F23EA:
Digikam::TimeLineFolderView::searchDelete(Digikam::SAlbum*)
(timelinefolderview.cpp:177)
==7256== by 0x5F32B1:
Digikam::TimeLineFolderView::slotContextMenu(Q3ListViewItem*, QPoint const&,
int) (timelinefolderview.cpp:273)
==7256== by 0x5F39DD:
Digikam::TimeLineFolderView::qt_metacall(QMetaObject::Call, int, void**)
(timelinefolderview.moc:93)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x6C73CA4: Q3ListView::contextMenuRequested(Q3ListViewItem*,
QPoint const&, int) (moc_q3listview.cpp:372)
==7256== by 0x6B22DE4:
Q3ListView::contentsContextMenuEvent(QContextMenuEvent*) (q3listview.cpp:4370)
==7256== Address 0x31ad9ed0 is 0 bytes inside a block of size 16 free'd
==7256== at 0x4C21ACE: operator delete(void*) (vg_replace_malloc.c:346)
==7256== by 0x6740D1: Digikam::AlbumHistory::deleteAlbum(Digikam::Album*)
(albumhistory.cpp:152)
==7256== by 0x6EFC17:
Digikam::DigikamView::slotAlbumDeleted(Digikam::Album*) (digikamview.cpp:821)
==7256== by 0x6F8AE2: Digikam::DigikamView::qt_metacall(QMetaObject::Call,
int, void**) (digikamview.moc:283)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x687E48:
Digikam::AlbumManager::signalAlbumDeleted(Digikam::Album*)
(albummanager.moc:222)
==7256== by 0x6884DE: Digikam::AlbumManager::deleteSAlbum(Digikam::SAlbum*)
(albummanager.cpp:2356)
==7256== by 0x5F23EA:
Digikam::TimeLineFolderView::searchDelete(Digikam::SAlbum*)
(timelinefolderview.cpp:177)
==7256== by 0x5F32B1:
Digikam::TimeLineFolderView::slotContextMenu(Q3ListViewItem*, QPoint const&,
int) (timelinefolderview.cpp:273)
==7256== by 0x5F39DD:
Digikam::TimeLineFolderView::qt_metacall(QMetaObject::Call, int, void**)
(timelinefolderview.moc:93)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x6C73CA4: Q3ListView::contextMenuRequested(Q3ListViewItem*,
QPoint const&, int) (moc_q3listview.cpp:372)
==7256==
==7256== Invalid free() / delete / delete[]
==7256== at 0x4C21ACE: operator delete(void*) (vg_replace_malloc.c:346)
==7256== by 0x6740D1: Digikam::AlbumHistory::deleteAlbum(Digikam::Album*)
(albumhistory.cpp:152)
==7256== by 0x6EFC17:
Digikam::DigikamView::slotAlbumDeleted(Digikam::Album*) (digikamview.cpp:821)
==7256== by 0x6F8AE2: Digikam::DigikamView::qt_metacall(QMetaObject::Call,
int, void**) (digikamview.moc:283)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x687E48:
Digikam::AlbumManager::signalAlbumDeleted(Digikam::Album*)
(albummanager.moc:222)
==7256== by 0x6884DE: Digikam::AlbumManager::deleteSAlbum(Digikam::SAlbum*)
(albummanager.cpp:2356)
==7256== by 0x5F23EA:
Digikam::TimeLineFolderView::searchDelete(Digikam::SAlbum*)
(timelinefolderview.cpp:177)
==7256== by 0x5F32B1:
Digikam::TimeLineFolderView::slotContextMenu(Q3ListViewItem*, QPoint const&,
int) (timelinefolderview.cpp:273)
==7256== by 0x5F39DD:
Digikam::TimeLineFolderView::qt_metacall(QMetaObject::Call, int, void**)
(timelinefolderview.moc:93)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x6C73CA4: Q3ListView::contextMenuRequested(Q3ListViewItem*,
QPoint const&, int) (moc_q3listview.cpp:372)
==7256== Address 0x31ad9ed0 is 0 bytes inside a block of size 16 free'd
==7256== at 0x4C21ACE: operator delete(void*) (vg_replace_malloc.c:346)
==7256== by 0x6740D1: Digikam::AlbumHistory::deleteAlbum(Digikam::Album*)
(albumhistory.cpp:152)
==7256== by 0x6EFC17:
Digikam::DigikamView::slotAlbumDeleted(Digikam::Album*) (digikamview.cpp:821)
==7256== by 0x6F8AE2: Digikam::DigikamView::qt_metacall(QMetaObject::Call,
int, void**) (digikamview.moc:283)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x687E48:
Digikam::AlbumManager::signalAlbumDeleted(Digikam::Album*)
(albummanager.moc:222)
==7256== by 0x6884DE: Digikam::AlbumManager::deleteSAlbum(Digikam::SAlbum*)
(albummanager.cpp:2356)
==7256== by 0x5F23EA:
Digikam::TimeLineFolderView::searchDelete(Digikam::SAlbum*)
(timelinefolderview.cpp:177)
==7256== by 0x5F32B1:
Digikam::TimeLineFolderView::slotContextMenu(Q3ListViewItem*, QPoint const&,
int) (timelinefolderview.cpp:273)
==7256== by 0x5F39DD:
Digikam::TimeLineFolderView::qt_metacall(QMetaObject::Call, int, void**)
(timelinefolderview.moc:93)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x6C73CA4: Q3ListView::contextMenuRequested(Q3ListViewItem*,
QPoint const&, int) (moc_q3listview.cpp:372)
==7256==
==7256== Invalid read of size 1
==7256== at 0x4C2410E: memmove (mc_replace_strmem.c:613)
==7256== by 0xB1465F8: QListData::remove(int) (qlistdata.cpp:218)
==7256== by 0xB14663A: QListData::erase(void**) (qlistdata.cpp:283)
==7256== by 0x675241:
QList<Digikam::HistoryItem*>::erase(QList<Digikam::HistoryItem*>::iterator)
(qlist.h:392)
==7256== by 0x674102: Digikam::AlbumHistory::deleteAlbum(Digikam::Album*)
(albumhistory.cpp:153)
==7256== by 0x6EFC17:
Digikam::DigikamView::slotAlbumDeleted(Digikam::Album*) (digikamview.cpp:821)
==7256== by 0x6F8AE2: Digikam::DigikamView::qt_metacall(QMetaObject::Call,
int, void**) (digikamview.moc:283)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x687E48:
Digikam::AlbumManager::signalAlbumDeleted(Digikam::Album*)
(albummanager.moc:222)
==7256== by 0x6884DE: Digikam::AlbumManager::deleteSAlbum(Digikam::SAlbum*)
(albummanager.cpp:2356)
==7256== by 0x5F23EA:
Digikam::TimeLineFolderView::searchDelete(Digikam::SAlbum*)
(timelinefolderview.cpp:177)
==7256== by 0x5F32B1:
Digikam::TimeLineFolderView::slotContextMenu(Q3ListViewItem*, QPoint const&,
int) (timelinefolderview.cpp:273)
==7256== Address 0x39bafa90 is 0 bytes after a block of size 128 alloc'd
==7256== at 0x4C222A8: realloc (vg_replace_malloc.c:476)
==7256== by 0xB1466BA: QListData::realloc(int) (qlistdata.cpp:111)
==7256== by 0xB1468DA: QListData::append() (qlistdata.cpp:131)
==7256== by 0x6751D2:
QList<Digikam::HistoryItem*>::append(Digikam::HistoryItem* const&)
(qlist.h:429)
==7256== by 0x675202:
QList<Digikam::HistoryItem*>::push_back(Digikam::HistoryItem* const&)
(qlist.h:266)
==7256== by 0x674702: Digikam::AlbumHistory::addAlbum(Digikam::Album*,
QWidget*) (albumhistory.cpp:126)
==7256== by 0x6F843F:
Digikam::DigikamView::slotAlbumSelected(Digikam::Album*) (digikamview.cpp:1175)
==7256== by 0x6F8B36: Digikam::DigikamView::qt_metacall(QMetaObject::Call,
int, void**) (digikamview.moc:287)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x683D3C:
Digikam::AlbumManager::signalAlbumCurrentChanged(Digikam::Album*)
(albummanager.moc:242)
==7256== by 0x683D6F:
Digikam::AlbumManager::setCurrentAlbum(Digikam::Album*) (albummanager.cpp:1632)
==7256== by 0x5F504C:
Digikam::TimeLineView::createNewDateSearchAlbum(QString const&)
(timelineview.cpp:462)
==7256==
==7256== Invalid read of size 1
==7256== at 0x4C24100: memmove (mc_replace_strmem.c:613)
==7256== by 0xB1465F8: QListData::remove(int) (qlistdata.cpp:218)
==7256== by 0xB14663A: QListData::erase(void**) (qlistdata.cpp:283)
==7256== by 0x675241:
QList<Digikam::HistoryItem*>::erase(QList<Digikam::HistoryItem*>::iterator)
(qlist.h:392)
==7256== by 0x674102: Digikam::AlbumHistory::deleteAlbum(Digikam::Album*)
(albumhistory.cpp:153)
==7256== by 0x6EFC17:
Digikam::DigikamView::slotAlbumDeleted(Digikam::Album*) (digikamview.cpp:821)
==7256== by 0x6F8AE2: Digikam::DigikamView::qt_metacall(QMetaObject::Call,
int, void**) (digikamview.moc:283)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x687E48:
Digikam::AlbumManager::signalAlbumDeleted(Digikam::Album*)
(albummanager.moc:222)
==7256== by 0x6884DE: Digikam::AlbumManager::deleteSAlbum(Digikam::SAlbum*)
(albummanager.cpp:2356)
==7256== by 0x5F23EA:
Digikam::TimeLineFolderView::searchDelete(Digikam::SAlbum*)
(timelinefolderview.cpp:177)
==7256== by 0x5F32B1:
Digikam::TimeLineFolderView::slotContextMenu(Q3ListViewItem*, QPoint const&,
int) (timelinefolderview.cpp:273)
==7256== Address 0x39bafa91 is 1 bytes after a block of size 128 alloc'd
==7256== at 0x4C222A8: realloc (vg_replace_malloc.c:476)
==7256== by 0xB1466BA: QListData::realloc(int) (qlistdata.cpp:111)
==7256== by 0xB1468DA: QListData::append() (qlistdata.cpp:131)
==7256== by 0x6751D2:
QList<Digikam::HistoryItem*>::append(Digikam::HistoryItem* const&)
(qlist.h:429)
==7256== by 0x675202:
QList<Digikam::HistoryItem*>::push_back(Digikam::HistoryItem* const&)
(qlist.h:266)
==7256== by 0x674702: Digikam::AlbumHistory::addAlbum(Digikam::Album*,
QWidget*) (albumhistory.cpp:126)
==7256== by 0x6F843F:
Digikam::DigikamView::slotAlbumSelected(Digikam::Album*) (digikamview.cpp:1175)
==7256== by 0x6F8B36: Digikam::DigikamView::qt_metacall(QMetaObject::Call,
int, void**) (digikamview.moc:287)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x683D3C:
Digikam::AlbumManager::signalAlbumCurrentChanged(Digikam::Album*)
(albummanager.moc:242)
==7256== by 0x683D6F:
Digikam::AlbumManager::setCurrentAlbum(Digikam::Album*) (albummanager.cpp:1632)
==7256== by 0x5F504C:
Digikam::TimeLineView::createNewDateSearchAlbum(QString const&)
(timelineview.cpp:462)
==7256==
==7256== Invalid write of size 1
==7256== at 0x4C24104: memmove (mc_replace_strmem.c:613)
==7256== by 0xB1465F8: QListData::remove(int) (qlistdata.cpp:218)
==7256== by 0xB14663A: QListData::erase(void**) (qlistdata.cpp:283)
==7256== by 0x675241:
QList<Digikam::HistoryItem*>::erase(QList<Digikam::HistoryItem*>::iterator)
(qlist.h:392)
==7256== by 0x674102: Digikam::AlbumHistory::deleteAlbum(Digikam::Album*)
(albumhistory.cpp:153)
==7256== by 0x6EFC17:
Digikam::DigikamView::slotAlbumDeleted(Digikam::Album*) (digikamview.cpp:821)
==7256== by 0x6F8AE2: Digikam::DigikamView::qt_metacall(QMetaObject::Call,
int, void**) (digikamview.moc:283)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x687E48:
Digikam::AlbumManager::signalAlbumDeleted(Digikam::Album*)
(albummanager.moc:222)
==7256== by 0x6884DE: Digikam::AlbumManager::deleteSAlbum(Digikam::SAlbum*)
(albummanager.cpp:2356)
==7256== by 0x5F23EA:
Digikam::TimeLineFolderView::searchDelete(Digikam::SAlbum*)
(timelinefolderview.cpp:177)
==7256== by 0x5F32B1:
Digikam::TimeLineFolderView::slotContextMenu(Q3ListViewItem*, QPoint const&,
int) (timelinefolderview.cpp:273)
==7256== Address 0x39bafa90 is 0 bytes after a block of size 128 alloc'd
==7256== at 0x4C222A8: realloc (vg_replace_malloc.c:476)
==7256== by 0xB1466BA: QListData::realloc(int) (qlistdata.cpp:111)
==7256== by 0xB1468DA: QListData::append() (qlistdata.cpp:131)
==7256== by 0x6751D2:
QList<Digikam::HistoryItem*>::append(Digikam::HistoryItem* const&)
(qlist.h:429)
==7256== by 0x675202:
QList<Digikam::HistoryItem*>::push_back(Digikam::HistoryItem* const&)
(qlist.h:266)
==7256== by 0x674702: Digikam::AlbumHistory::addAlbum(Digikam::Album*,
QWidget*) (albumhistory.cpp:126)
==7256== by 0x6F843F:
Digikam::DigikamView::slotAlbumSelected(Digikam::Album*) (digikamview.cpp:1175)
==7256== by 0x6F8B36: Digikam::DigikamView::qt_metacall(QMetaObject::Call,
int, void**) (digikamview.moc:287)
==7256== by 0xB21E681: QMetaObject::activate(QObject*, int, int, void**)
(qobject.cpp:3112)
==7256== by 0x683D3C:
Digikam::AlbumManager::signalAlbumCurrentChanged(Digikam::Album*)
(albummanager.moc:242)
==7256== by 0x683D6F:
Digikam::AlbumManager::setCurrentAlbum(Digikam::Album*) (albummanager.cpp:1632)
==7256== by 0x5F504C:
Digikam::TimeLineView::createNewDateSearchAlbum(QString const&)
(timelineview.cpp:462)
==7256==
==7256==
==7256== More than 10000000 total errors detected. I'm not reporting any more.
==7256== Final error counts will be inaccurate. Go fix your program!
==7256== Rerun with --error-limit=no to disable this cutoff. Note
==7256== that errors may occur in your program without prior warning from
==7256== Valgrind, because errors are no longer being displayed.
==7256==
KCrash: Application 'digikam' crashing...
Unable to start Dr. Konqi
--7256-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) -
exiting
--7256-- si_code=1; Faulting address: 0x7; sp: 0x41336e080
valgrind: the 'impossible' happened:
Killed by fatal signal
==7256== at 0x38035895: unlinkBlock (m_mallocfree.c:368)
==7256== by 0x38037780: vgPlain_arena_free (m_mallocfree.c:1517)
==7256== by 0x38001E91: die_and_free_mem (mc_malloc_wrappers.c:123)
==7256== by 0x38064768: vgPlain_scheduler (scheduler.c:1362)
==7256== by 0x38033E8D: final_tidyup (m_main.c:2581)
==7256== by 0x380341B3: shutdown_actions_NORETURN (m_main.c:2370)
==7256== by 0x3808D1C9: run_a_thread_NORETURN (syswrap-linux.c:146)
==7256== by 0x3808D22A: vgModuleLocal_start_thread_NORETURN
(syswrap-linux.c:214)
==7256== by 0x3808F4BD: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
==7256== by 0xDEADBEEFDEADBEEE: ???
==7256== by 0xDEADBEEFDEADBEEE: ???
==7256== by 0xDEADBEEFDEADBEEE: ???
sched status:
running_tid=4
Thread 4: status = VgTs_Runnable
==7256== at 0x4C21DBC: free (vg_replace_malloc.c:325)
==7256== by 0xBDAE5B8: ??? (in /lib/libc-2.9.so)
==7256== by 0xBDAE278: ??? (in /lib/libc-2.9.so)
==7256== by 0xBDAE981: ??? (in /lib/libc-2.9.so)
==7256== by 0x4A1E590: _vgnU_freeres (vg_preloaded.c:62)
--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the Digikam-devel
mailing list