[Digikam-devel] extragear/graphics/digikam

Johannes Wienke languitar at semipol.de
Fri Apr 2 20:04:22 BST 2010


And one more thing. I opened a raw photo in the image editor, edited it
and tried to save it as a jpeg in the collection. This blocks the saving
process at 94%. I attached a gdb at the digikam process and found this
interesting thread backtrace:

Thread 1 (Thread 0x7f50bfcf77c0 (LWP 22423)):
#0  0x00007f50b91f110c in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0x00007f50b947611b in QWaitCondition::wait(QMutex*, unsigned long)
() from /usr/lib/libQtCore.so.4
#2  0x00007f50bcd4cbb2 in
Digikam::DatabaseCoreBackendPrivate::queryOperationWait (this=0x21557b0)
    at
/home/languitar/workspace/digiKam/libs/database/databasecorebackend.cpp:280
#3  0x00007f50bcd4cc18 in
Digikam::DatabaseCoreBackendPrivate::checkOperationStatus (this=0x21557b0)
    at
/home/languitar/workspace/digiKam/libs/database/databasecorebackend.cpp:316
#4  0x00007f50bcd4e947 in Digikam::DatabaseCoreBackend::exec
(this=0x21daae0, query=...)
    at
/home/languitar/workspace/digiKam/libs/database/databasecorebackend.cpp:858
#5  0x00007f50bcd4f85f in Digikam::DatabaseCoreBackend::execQuery
(this=0x21daae0, sql=<value optimized out>, boundValue1=...)
    at
/home/languitar/workspace/digiKam/libs/database/databasecorebackend.cpp:705
#6  0x00007f50bcd4f8c2 in Digikam::DatabaseCoreBackend::execSql
(this=0x21daae0, sql=<value optimized out>, boundValue1=<value optimized
out>,
    values=0x7fffa94fc2c0, lastInsertId=0x0) at
/home/languitar/workspace/digiKam/libs/database/databasecorebackend.cpp:654
#7  0x00007f50bc826327 in Digikam::AlbumDB::getAlbumRelativePath
(this=0x21daa40, albumID=<value optimized out>)
    at /home/languitar/workspace/digiKam/libs/database/albumdb.cpp:2813
#8  0x00007f50bc8645c3 in Digikam::ImageInfoCache::albumName
(this=<value optimized out>, access=<value optimized out>, albumId=634)
    at /home/languitar/workspace/digiKam/libs/database/imageinfocache.cpp:94
#9  0x00007f50bc860042 in Digikam::ImageInfo::filePath (this=<value
optimized out>) at
/home/languitar/workspace/digiKam/libs/database/imageinfo.cpp:442
#10 0x000000000064e0f1 in
Digikam::ScanControllerLoadingCacheFileWatch::slotImageChanged
(this=<value optimized out>, changeset=<value optimized out>)
    at /home/languitar/workspace/digiKam/digikam/scancontroller.cpp:839
#11 0x0000000000650cfd in
Digikam::ScanControllerLoadingCacheFileWatch::qt_metacall
(this=0x2196ae0, _c=QMetaObject::InvokeMetaMethod,
    _id=<value optimized out>, _a=0x29e7540) at
/home/languitar/workspace/build/digiKam/digikam/scancontroller.moc:72
#12 0x00007f50b9579419 in QObject::event(QEvent*) () from
/usr/lib/libQtCore.so.4
#13 0x00007f50ba4275ec in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib/libQtGui.so.4
#14 0x00007f50ba42dbdb in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/libQtGui.so.4
#15 0x00007f50bb374256 in KApplication::notify(QObject*, QEvent*) ()
from /usr/lib/libkdeui.so.5
#16 0x00007f50b956979c in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib/libQtCore.so.4
#17 0x00007f50b956bf17 in
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
() from /usr/lib/libQtCore.so.4
#18 0x00007f50b95930d3 in ?? () from /usr/lib/libQtCore.so.4
#19 0x00007f50b4feada2 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#20 0x00007f50b4feec18 in g_main_context_iterate () from
/usr/lib/libglib-2.0.so.0
#21 0x00007f50b4feedcc in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#22 0x00007f50b9592c13 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/libQtCore.so.4
#23 0x00007f50ba4d5d6e in ?? () from /usr/lib/libQtGui.so.4
#24 0x00007f50b95680c2 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#25 0x00007f50b956849c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#26 0x00007f50ba8eef5e in QDialog::exec() () from /usr/lib/libQtGui.so.4
---Type <return> to continue, or q <return> to quit---
#27 0x0000000000669d26 in
Digikam::DatabaseGUIErrorHandler::checkDatabaseConnection (this=<value
optimized out>)
    at
/home/languitar/workspace/digiKam/digikam/databaseerrorhandler.cpp:118
#28 0x0000000000669e8a in
Digikam::DatabaseGUIErrorHandler::databaseError (this=<value optimized
out>, answer=0x21557b0, query=<value optimized out>)
    at
/home/languitar/workspace/digiKam/digikam/databaseerrorhandler.cpp:139
#29 0x00007f50bcd4d964 in
Digikam::DatabaseCoreBackendPrivate::checkDatabaseError (this=0x21557b0,
query=...)
    at
/home/languitar/workspace/digiKam/libs/database/databasecorebackend.cpp:335
#30 0x00007f50bcd4dddb in
Digikam::DatabaseCoreBackend::queryErrorHandling (this=<value optimized
out>, query=..., retries=0)
    at
/home/languitar/workspace/digiKam/libs/database/databasecorebackend.cpp:812
#31 0x00007f50bcd4ec16 in Digikam::DatabaseCoreBackend::exec
(this=0x21daae0, query=...)
    at
/home/languitar/workspace/digiKam/libs/database/databasecorebackend.cpp:873
#32 0x00007f50bcd4f754 in Digikam::DatabaseCoreBackend::execQuery
(this=0x21daae0, sql=<value optimized out>, boundValue1=...,
boundValue2=...)
    at
/home/languitar/workspace/digiKam/libs/database/databasecorebackend.cpp:715
#33 0x00007f50bcd4f7c5 in Digikam::DatabaseCoreBackend::execSql
(this=0x21daae0, sql=<value optimized out>, boundValue1=<value optimized
out>,
    boundValue2=<value optimized out>, values=0x0, lastInsertId=0x0) at
/home/languitar/workspace/digiKam/libs/database/databasecorebackend.cpp:662
#34 0x00007f50bc822121 in Digikam::AlbumDB::copyImageTags
(this=0x21daa40, srcId=<value optimized out>, dstId=46143)
    at /home/languitar/workspace/digiKam/libs/database/albumdb.cpp:3145
#35 0x00007f50bc87aa61 in Digikam::ImageScanner::copyProperties
(source=46091, dest=46143)
    at /home/languitar/workspace/digiKam/libs/database/imagescanner.cpp:586
#36 0x000000000064fc17 in
Digikam::ScanController::scanFileDirectlyCopyAttributes (this=0x212d5d0,
filePath=<value optimized out>, parentVersion=46091)
    at /home/languitar/workspace/digiKam/digikam/scancontroller.cpp:434
#37 0x000000000047eeeb in Digikam::ImageWindow::saveAsIsComplete
(this=0x58c07a0)
    at
/home/languitar/workspace/digiKam/utilities/imageeditor/editor/imagewindow.cpp:958
#38 0x00007f50bce5dec4 in Digikam::EditorWindow::movingSaveFileFinished
(this=0x58c07a0, successful=<value optimized out>)
    at
/home/languitar/workspace/digiKam/utilities/imageeditor/editor/editorwindow.cpp:1441
#39 0x00007f50bce5e2d7 in Digikam::EditorWindow::moveFile (this=0x58c07a0)
    at
/home/languitar/workspace/digiKam/utilities/imageeditor/editor/editorwindow.cpp:1983
#40 0x00007f50bce5e5c5 in Digikam::EditorWindow::slotSavingFinished
(this=0x21e739c, filename=<value optimized out>, success=true)
    at
/home/languitar/workspace/digiKam/utilities/imageeditor/editor/editorwindow.cpp:1471
#41 0x00007f50bce67b3e in Digikam::EditorWindow::qt_metacall
(this=0x58c07a0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized
out>, _a=0x7fffa94fde30)
    at /home/languitar/workspace/build/digiKam/digikam/editorwindow.moc:214
#42 0x000000000047f8f0 in Digikam::ImageWindow::qt_metacall
(this=0x21e739c, _c=128, _id=1, _a=0xffffffffffffffff)
    at /home/languitar/workspace/build/digiKam/digikam/imagewindow.moc:126
#43 0x00007f50b957c4df in QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) () from /usr/lib/libQtCore.so.4
#44 0x00007f50bce4e136 in Digikam::Canvas::signalSavingFinished
(this=0x21e739c, _t1=<value optimized out>, _t2=true)
    at /home/languitar/workspace/build/digiKam/digikam/canvas.moc:288
#45 0x00007f50bce4f89e in Digikam::Canvas::qt_metacall (this=0x3243c10,
_c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>,
_a=0x7fffa94fdf80)
    at /home/languitar/workspace/build/digiKam/digikam/canvas.moc:181
#46 0x00007f50b957c4df in QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) () from /usr/lib/libQtCore.so.4
#47 0x00007f50bce45856 in Digikam::DImgInterface::signalImageSaved
(this=0x21e739c, _t1=<value optimized out>, _t2=true)
    at /home/languitar/workspace/build/digiKam/digikam/dimginterface.moc:166
---Type <return> to continue, or q <return> to quit---
#48 0x00007f50bce461ec in Digikam::DImgInterface::slotImageSaved
(this=0x2ed8170, filePath=..., success=true)
    at
/home/languitar/workspace/digiKam/utilities/imageeditor/canvas/dimginterface.cpp:555
#49 0x00007f50bce472d7 in Digikam::DImgInterface::qt_metacall
(this=0x2ed8170, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized
out>, _a=0x7f50a4884ce0)
    at /home/languitar/workspace/build/digiKam/digikam/dimginterface.moc:109
#50 0x00007f50b9579419 in QObject::event(QEvent*) () from
/usr/lib/libQtCore.so.4
#51 0x00007f50ba4275ec in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib/libQtGui.so.4
#52 0x00007f50ba42dbdb in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/libQtGui.so.4
#53 0x00007f50bb374256 in KApplication::notify(QObject*, QEvent*) ()
from /usr/lib/libkdeui.so.5
#54 0x00007f50b956979c in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib/libQtCore.so.4
#55 0x00007f50b956bf17 in
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
() from /usr/lib/libQtCore.so.4
#56 0x00007f50b95930d3 in ?? () from /usr/lib/libQtCore.so.4
#57 0x00007f50b4feada2 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#58 0x00007f50b4feec18 in g_main_context_iterate () from
/usr/lib/libglib-2.0.so.0
#59 0x00007f50b4feedcc in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#60 0x00007f50b9592c13 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/libQtCore.so.4
#61 0x00007f50ba4d5d6e in ?? () from /usr/lib/libQtGui.so.4
#62 0x00007f50b95680c2 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#63 0x00007f50b956849c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#64 0x00007f50b956c1db in QCoreApplication::exec() () from
/usr/lib/libQtCore.so.4
#65 0x00000000006be27c in main (argc=<value optimized out>, argv=<value
optimized out>) at /home/languitar/workspace/digiKam/digikam/main.cpp:193

I'm still using sqlite.

Regards,
Johannes

Am 30.03.2010 22:08 schrieb Julien Narboux:
> Holger,
> 
> Thanks for this contribution.
> 
> Here is a first feedback:
> 
> After restarting Digikam I got :
> 
> Error failed to connect to Digikam database.
> 
> I clicked cancel, I was warned that Digikam can not work without a 
> database.
> I went to settings, SQLITE was selected. but there were no path. I 
> selected the path of my old database.
> No it seems to work (some picture are displayed). But it seems to be 
> slow, as if the thumbnails were regenerated.
> 
> 
> Julien
> 
> Holger Foerster a écrit :
>> SVN commit 1109189 by foerster:
>>
>> Merged branch Digikam-DatabaseExt into trunk.
>>
>> Happy easter holidays :)
>>
>>  M  +25 -5     CMakeLists.txt  
>>  M  +1 -0      data/CMakeLists.txt  
>>  A             data/database (directory)  
>>  AM            data/database/CMakeLists.txt  
>>  A             data/database/dbconfig.xml.cmake  
>>  A             data/database/mysql-global.conf  
>>  A             databaseserver (directory)  
>>  AM            databaseserver/CMakeLists.txt  
>>  AM            databaseserver/databaseserver.cpp   [License: GPL (v2+)]
>>  AM            databaseserver/databaseserver.h   [License: GPL (v2+)]
>>  AM            databaseserver/main.cpp   [License: GPL (v2+)]
>>  AM            databaseserver/org.kde.digikam.DatabaseServer.xml  
>>  AM            databaseserver/pollthread.cpp   [License: GPL (v2+)]
>>  AM            databaseserver/pollthread.h   [License: GPL (v2+)]
>>  M  +1 -1      digikam/CMakeLists.txt  
>>  M  +230 -95   digikam/albummanager.cpp  
>>  M  +3 -3      digikam/albummanager.h  
>>  M  +179 -7    digikam/albumsettings.cpp  
>>  M  +28 -0     digikam/albumsettings.h  
>>  AM            digikam/databaseerrorhandler.cpp   [License: GPL (v2+)]
>>  AM            digikam/databaseerrorhandler.h   [License: GPL (v2+)]
>>  M  +44 -8     digikam/digikamapp.cpp  
>>  M  +4 -0      digikam/digikamapp.h  
>>  M  +2 -1      digikam/digikamui.rc  
>>  M  +17 -17    digikam/main.cpp  
>>  M  +2 -0      kioslave/digikamalbums.cpp  
>>  M  +2 -1      kioslave/digikamdates.cpp  
>>  M  +2 -1      kioslave/digikamsearch.cpp  
>>  M  +2 -1      kioslave/digikamtags.cpp  
>>  M  +71 -64    libs/database/albumdb.cpp  
>>  M  +2 -1      libs/database/albumdb.h  
>>  M  +44 -25    libs/database/databaseaccess.cpp  
>>  M  +3 -0      libs/database/databaseaccess.h  
>>  M  +2 -2      libs/database/databasebackend.cpp  
>>  M  +1 -1      libs/database/databasebackend.h  
>>  AM            libs/database/databaseconfigelement.cpp   [License: GPL (v2+)]
>>  AM            libs/database/databaseconfigelement.h   [License: GPL (v2+)]
>>  AM            libs/database/databasecopymanager.cpp   [License: GPL (v2+)]
>>  AM            libs/database/databasecopymanager.h   [License: GPL (v2+)]
>>  M  +622 -133  libs/database/databasecorebackend.cpp  
>>  M  +141 -20   libs/database/databasecorebackend.h  
>>  M  +30 -2     libs/database/databasecorebackend_p.h  
>>  M  +233 -0    libs/database/databaseparameters.cpp  
>>  M  +21 -0     libs/database/databaseparameters.h  
>>  AM            libs/database/databaseserverstarter.cpp   [License: GPL (v2+)]
>>  AM            libs/database/databaseserverstarter.h   [License: GPL (v2+)]
>>  M  +3 -2      libs/database/haar/haariface.cpp  
>>  M  +9 -18     libs/database/imagelister.cpp  
>>  M  +133 -421  libs/database/schemaupdater.cpp  
>>  M  +17 -3     libs/database/schemaupdater.h  
>>  AM            libs/database/sqlquery.cpp   [License: GPL (v2+)]
>>  AM            libs/database/sqlquery.h   [License: GPL (v2+)]
>>  M  +26 -14    libs/database/thumbnaildatabaseaccess.cpp  
>>  M  +3 -1      libs/database/thumbnaildatabaseaccess.h  
>>  M  +28 -23    libs/database/thumbnaildb.cpp  
>>  M  +8 -7      libs/database/thumbnaildb.h  
>>  M  +25 -9     libs/database/thumbnailschemaupdater.cpp  
>>  M  +62 -62    libs/database/upgradedb_sqlite2tosqlite3.cpp  
>>  M  +1 -1      libs/database/upgradedb_sqlite2tosqlite3.h  
>>  AM            libs/dialogs/migrationdlg.cpp   [License: GPL (v2+)]
>>  AM            libs/dialogs/migrationdlg.h   [License: GPL (v2+)]
>>  M  +86 -19    libs/threadimageio/thumbnailcreator.cpp  
>>  M  +9 -3      libs/threadimageio/thumbnailloadthread.cpp  
>>  M  +4 -1      libs/threadimageio/thumbnailloadthread.h  
>>  AM            libs/widgets/common/databasewidget.cpp   [License: GPL (v2+)]
>>  AM            libs/widgets/common/databasewidget.h   [License: GPL (v2+)]
>>  M  +3 -0      tests/CMakeLists.txt  
>>  M  +4 -2      tests/albummodeltest.cpp  
>>  AM            utilities/setup/databaseconnectionwidget.h   [License: GPL (v2+)]
>>  M  +16 -1     utilities/setup/setup.cpp  
>>  M  +1 -0      utilities/setup/setup.h  
>>  M  +20 -121   utilities/setup/setupcollections.cpp  
>>  M  +0 -4      utilities/setup/setupcollections.h  
>>  AM            utilities/setup/setupdatabase.cpp   [License: GPL (v2+)]
>>  AM            utilities/setup/setupdatabase.h   [License: GPL (v2+)]
>>
>>
>> http://websvn.kde.org/?view=rev&revision=1109189
>>   
> 
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel at kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20100402/ee83b538/attachment.sig>


More information about the Digikam-devel mailing list