Version: 0.11.0-svn (using 4.2.1 (KDE 4.2.1), Arch Linux) Compiler: gcc OS: Linux (i686) release 2.6.28-ARCH This is only true for 0.11! If you start a "find duplicates" or "find similar" search and change the database location in the setup dialog, digiKam crashes. To reproduce: 1. start "Find Similar" for an image 2. when in "Find Similar" view, goto configure dialog 3. change the database location to another digiKam db path 4. You will be asked if you want to use the existing db, choose yes 5. Now digiKam crashes. In trunk (0.10) it is working fine. #0 0x08245bad in QMap<void const*, void*>::findNode (this=0x10, akey=@0xbfaf3d94) at /usr/include/QtCore/qmap.h:418 cur = (QMapData::Node *) 0x0 next = (QMapData::Node *) 0x0 #1 0x08245ca2 in QMap<void const*, void*>::find (this=0x10, akey=@0xbfaf3d94) at /usr/include/QtCore/qmap.h:543 No locals. #2 0x08242dae in Digikam::Album::extraData (this=0x0, key=0xd05ee28) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/album.cpp:221 it = {i = 0x0} #3 0x08296508 in Digikam::AlbumSelectWidget::slotAlbumAdded (this=0xcf7d9c8, album=0xd00e630) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/albumselectwidget.cpp:371 parentItem = (class Digikam::TreeAlbumItem *) 0x3b item = (class Digikam::TreeAlbumItem *) 0xbfaf3e28 palbum = (class Digikam::PAlbum *) 0xb5b34b10 __PRETTY_FUNCTION__ = "void Digikam::AlbumSelectWidget::slotAlbumAdded(Digikam::Album*)" #4 0x08298d77 in Digikam::AlbumSelectWidget::qt_metacall (this=0xcf7d9c8, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfaf3ef0) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/albumselectwidget.moc:76 No locals. #5 0xb5aa977b in QMetaObject::activate () from /usr/lib/libQtCore.so.4 No symbol table info available. #6 0xb5aa9cd2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 No symbol table info available. #7 0x0827d76c in Digikam::AlbumManager::signalAlbumAdded (this=0x8897aa8, _t1=0xd00e630) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/albummanager.moc:212 _a = {0x0, 0xbfaf3f04} #8 0x0827f82c in Digikam::AlbumManager::insertPAlbum (this=0x8897aa8, album=0xd00e630, parent=0x0) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/albummanager.cpp:2094 No locals. #9 0x08283509 in Digikam::AlbumManager::startScan (this=0x8897aa8) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/albummanager.cpp:717 m = KDirWatch::INotify mName = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 206610}, alloc = 0, size = 0, data = 0x84114f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 279}, alloc = 0, size = 0, data = 0xb5b34f6e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0xc816658, static codecForCStrings = 0x0} locations = {{p = {static shared_null = {ref = {_q_value = 52635}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x1}, d = 0x1}} __PRETTY_FUNCTION__ = "void Digikam::AlbumManager::startScan()" #10 0x08285ac7 in Digikam::AlbumManager::changeDatabase (this=0x8897aa8, dbPath=@0xbfaf428c) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/albummanager.cpp:476 params = {databaseType = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 206610}, alloc = 0, size = 0, data = 0x84114f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 279}, alloc = 0, size = 0, data = 0xb5b34f6e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x888c908, static codecForCStrings = 0x0}, databaseName = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 206610}, alloc = 0, size = 0, data = 0x84114f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 279}, alloc = 0, size = 0, data = 0xb5b34f6e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x8890790, static codecForCStrings = 0x0}, connectOptions = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 206610}, alloc = 0, size = 0, data = 0x84114f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 279}, alloc = 0, size = 0, data = 0xb5b34f6e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x84114e0, static codecForCStrings = 0x0}, hostName = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 206610}, alloc = 0, size = 0, data = 0x84114f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 279}, alloc = 0, size = 0, data = 0xb5b34f6e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x84114e0, static codecForCStrings = 0x0}, port = -1, userName = {static null = {<No data fields>}, static shared_null = {ref = { _q_value = 206610}, alloc = 0, size = 0, data = 0x84114f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 279}, alloc = 0, size = 0, data = 0xb5b34f6e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x84114e0, static codecForCStrings = 0x0}, password = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 206610}, alloc = 0, size = 0, data = 0x84114f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = { _q_value = 279}, alloc = 0, size = 0, data = 0xb5b34f6e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x84114e0, static codecForCStrings = 0x0}} #11 0x082b5dee in Digikam::DigikamApp::slotSetupChanged (this=0x88934f8) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/digikamapp.cpp:2062 No locals. #12 0x082d12d7 in Digikam::DigikamApp::qt_metacall (this=0x88934f8, _c=QMetaObject::InvokeMetaMethod, _id=28, _a=0xbfaf4348) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/digikamapp.moc:204 No locals. #13 0xb5aa977b in QMetaObject::activate () from /usr/lib/libQtCore.so.4 No symbol table info available. #14 0xb5aa9cd2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 No symbol table info available. #15 0x0829ffe3 in Digikam::AlbumSettings::setupChanged (this=0x895f978) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/albumsettings.moc:75 No locals. #16 0x0829fff7 in Digikam::AlbumSettings::emitSetupChanged (this=0x895f978) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/albumsettings.cpp:508 No locals. #17 0x080eb061 in Digikam::Setup::slotOkClicked (this=0xbfaf56d4) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/utilities/setup/setup.cpp:360 No locals. #18 0x080f11f9 in Digikam::Setup::qt_metacall (this=0xbfaf56d4, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfaf44a8) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/setup.moc:65 No locals. #19 0xb5aa977b in QMetaObject::activate () from /usr/lib/libQtCore.so.4 No symbol table info available. #20 0xb5aa9cd2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 No symbol table info available. #21 0xb6781df7 in KDialog::okClicked () from /usr/lib/libkdeui.so.5 No symbol table info available. #22 0xb6784e28 in KDialog::slotButtonClicked () from /usr/lib/libkdeui.so.5 No symbol table info available. #23 0xb6784f94 in KDialog::qt_metacall () from /usr/lib/libkdeui.so.5 No symbol table info available. #24 0xb68512ea in KPageDialog::qt_metacall () from /usr/lib/libkdeui.so.5 No symbol table info available. #25 0x080f11d0 in Digikam::Setup::qt_metacall (this=0xbfaf56d4, _c=QMetaObject::InvokeMetaMethod, _id=68, _a=0xbfaf468c) at /home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/digikam/setup.moc:60 No locals. #26 0xb5aa977b in QMetaObject::activate () from /usr/lib/libQtCore.so.4 No symbol table info available. #27 0xb5aa9cd2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 No symbol table info available. #28 0xb5aae493 in QSignalMapper::mapped () from /usr/lib/libQtCore.so.4 No symbol table info available. #29 0xb5aae56d in QSignalMapper::map () from /usr/lib/libQtCore.so.4 No symbol table info available. #30 0xb5aae75e in QSignalMapper::map () from /usr/lib/libQtCore.so.4 No symbol table info available. #31 0xb5aaf5fb in QSignalMapper::qt_metacall () from /usr/lib/libQtCore.so.4 No symbol table info available. #32 0xb5aa977b in QMetaObject::activate () from /usr/lib/libQtCore.so.4 No symbol table info available. #33 0xb5aa9a50 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 No symbol table info available. #34 0xb644a111 in QAbstractButton::clicked () from /usr/lib/libQtGui.so.4 No symbol table info available. #35 0xb61db7b9 in ?? () from /usr/lib/libQtGui.so.4 No symbol table info available. #36 0x0ac8e380 in ?? () Andi
SVN commit 947262 by aclemens: Check if a parent is really available, otherwise we get a null pointer issue when accessing extraData() BUG:186255 M +4 -1 albumselectwidget.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=947262