Bug 338629

Summary: digiKam freezes on Import
Product: [Applications] digikam Reporter: Bernd Buschinski <b.buschinski>
Component: Import-Gphoto2Assignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, kredba
Priority: NOR    
Version: 4.2.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 4.4.0
Sentry Crash Report:
Attachments: digikam with kdebug output
Last Actions in History View
no Files in, or foldern in Log patch
debug counters

Description Bernd Buschinski 2014-08-28 17:33:56 UTC
Everytime I connect my Jolla and try to Import the Picture via Digikam it freezes. I shows the Import dialog and all the 124 Picture with its "default kde preview"-image. After this the dialog no longer redraws and digikam is froozen.


digikam-4.2.0
kde-4.14.0
qt-4.8.5
libgphoto2 2.5.5


========= Additional Info =======

Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath)
Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath)
digikam(11841)/digikam (core) Digikam::AlbumManager::setDatabase: DatabaseParameters: [ Type "QSQLITE", Name "/home/buscher/Done/Documents/Pictures/digikam4.db" (Thumbnails Name "/home/buscher/Done/Documents/Pictures/thumbnails-digikam.db"); ]
QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in use, all queries will cease to work.
digikam(11841)/digikam (core) Digikam::DatabaseConfigElementLoader::readConfig: Loading SQL code from config file "/usr/share/apps/digikam/database/dbconfig.xml"
digikam(11841)/digikam (core) Digikam::DatabaseConfigElementLoader::readConfig: false "1" 1 1
digikam(11841)/digikam (core) Digikam::SchemaUpdater::update: SchemaUpdater update
digikam(11841)/digikam (core) Digikam::SchemaUpdater::startUpdates: Have a database structure version  7
digikam(11841)/digikam (core) Digikam::SchemaUpdater::makeUpdates: makeUpdates  7  to  7
digikam(11841)/digikam (core) Digikam::AlbumRootLocation::AlbumRootLocation: Creating new Location  "/buscher/Done/Documents/Pictures"  uuid  "volumeid:?uuid=583f867a-881f-482f-b77a-bf7e352ab639"
digikam(11841)/digikam (core) Digikam::CollectionManager::updateLocations: location for  "/home/buscher/Done/Documents/Pictures"  is available  true
digikam(11841)/digikam (core) Digikam::KMemoryInfo::update: Platform identified :  "LINUX"
digikam(11841)/digikam (core) Digikam::KMemoryInfo::bytes: TotalRam:  6260924416
digikam(11841)/digikam (core) Digikam::LoadingCache::setCacheSize: Allowing a cache size of 200 MB
digikam(11841)/digikam (core) Digikam::ThumbnailSchemaUpdater::startUpdates: Have a thumbnail database structure version  "2"
digikam(11841)/digikam (core) Digikam::ThumbnailLoadThread::initializeThumbnailDatabase: Thumbnail db ready for use
digikam(11841)/digikam (core) Digikam::CollectionScanner::completeScan: Complete scan (file scanning deferred) took: 95 msecs.
digikam(11841)/digikam (core) Digikam::IccSettings::Private::scanDirectories: ()
digikam(11841) Phonon::KdePlatformPlugin::createBackend: using backend:  "GStreamer"
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (QComboBox::textChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "AntiVignettingFilter" :: excecution time :  4  ms
digikam(11841)/digikam (core) Digikam::LensFunCameraSelector::populateLensCombo: variant:  QVariant(Digikam::LensFunIface::DevicePtr, )
digikam(11841)/digikam (core) Digikam::LensFunCameraSelector::populateLensCombo: dev:  Asahi Optical Co.,Ltd  ::  PENTAX Optio 430  ::  4.85
digikam(11841)/digikam (core) Digikam::LensFunIface::findCamera: Search for camera  "" - ""  ==> false
digikam(11841)/digikam (core) Digikam::LensFunIface::findLens: Search for lens  ""  ==> false
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
QMetaObject::indexOfSignal: signal started() from Digikam::DynamicThread redefined in Digikam::DImgThreadedFilter
digikam(11841)/digikam (core) Digikam::CurvesWidget::updateData: updating data
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  1  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  50  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  0  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  50  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  0  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  81  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  1  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  56  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  1  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  58  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  0  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  28  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  35  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  20  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  7  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  20  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  94  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  6  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  18  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  111  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  84  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  157  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  60  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  40  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  28  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  22  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "TonalityFilter" :: excecution time :  8  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  20  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  189  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  117  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  109  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  2  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  87  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  1  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  95  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  95  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  93  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  131  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  8  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  76  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  131  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  1  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  15  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  112  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "TonalityFilter" :: excecution time :  13  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  98  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  11  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  120  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "TonalityFilter" :: excecution time :  13  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  98  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  1  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "Infrared" :: excecution time :  110  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  132  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  32  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  131  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "Infrared" :: excecution time :  16  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  108  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "TonalityFilter" :: excecution time :  20  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  108  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  17  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  104  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "Infrared" :: excecution time :  52  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  133  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "MixerFilter" :: excecution time :  1  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "TonalityFilter" :: excecution time :  16  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  99  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "TonalityFilter" :: excecution time :  14  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  111  ms
digikam(11841)/digikam (core) Digikam::CurvesWidget::updateData: updating data
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "Infrared" :: excecution time :  54  ms
digikam(11841)/digikam (core) Digikam::DImgThreadedFilter::startFilterDirectly: "BWSepiaFilter" :: excecution time :  125  ms
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
digikam(11841)/digikam (core) Digikam::AlbumFilterModel::setSearchTextSettings: new search text settings:  "" : hasResult =  false , validRows =  0
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
digikam(11841)/digikam (core) Digikam::WorkflowManager::load: Cannot open XML file to load Workflow
digikam(11841)/digikam (core) Digikam::DigikamApp::checkSolidCamera: fillSolidMenus: Found Camera  "Jolla Sailfish"  protocols  ("ptp")  drivers  ("gphoto")
digikam(11841)/digikam (core) Digikam::ThemeManager::slotChangePalette: ""  ::  ""
digikam(11841)/digikam (core) Digikam::KInotify::Private::open: Successfully opened connection to inotify: 71
digikam(11841)/digikam (editor plugins) DigikamColorImagePlugin::ImagePlugin_Color::ImagePlugin_Color: ImagePlugin_Color plugin loaded
digikam(11841)/digikam (core) Digikam::ImagePluginLoader::loadPluginsFromList: ImagePluginLoader: Loaded plugin  "ImagePlugin_Colour"
digikam(11841)/digikam (editor plugins) DigikamDecorateImagePlugin::ImagePlugin_Decorate::ImagePlugin_Decorate: ImagePlugin_Decorate plugin loaded
digikam(11841)/digikam (core) Digikam::ImagePluginLoader::loadPluginsFromList: ImagePluginLoader: Loaded plugin  "ImagePlugin_Decorate"
digikam(11841)/digikam (editor plugins) DigikamEnhanceImagePlugin::ImagePlugin_Enhance::ImagePlugin_Enhance: ImagePlugin_Enhance plugin loaded
digikam(11841)/digikam (core) Digikam::ImagePluginLoader::loadPluginsFromList: ImagePluginLoader: Loaded plugin  "ImagePlugin_Enhance"
digikam(11841)/digikam (editor plugins) DigikamFxFiltersImagePlugin::ImagePlugin_FxFilters::ImagePlugin_FxFilters: ImagePlugin_FxFilters plugin loaded
digikam(11841)/digikam (core) Digikam::ImagePluginLoader::loadPluginsFromList: ImagePluginLoader: Loaded plugin  "ImagePlugin_FxFilters"
digikam(11841)/digikam (editor plugins) DigikamTransformImagePlugin::ImagePlugin_Transform::ImagePlugin_Transform: ImagePlugin_Transform plugin loaded
digikam(11841)/digikam (core) Digikam::ImagePluginLoader::loadPluginsFromList: ImagePluginLoader: Loaded plugin  "ImagePlugin_Transform"
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (QComboBox::textChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (QComboBox::textChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (QComboBox::textChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
digikam(11841)/digikam (core) Digikam::NewItemsFinder::slotStart: scan mode: ScanDeferredFiles
digikam(11841)/digikam (core) Digikam::CollectionScanner::completeHistoryScanning: items to tag ()
digikam(11841)/digikam (core) Digikam::CollectionScanner::completeScan: Complete scan took: 126 msecs.
digikam(11841)/digikam (core) Digikam::NewItemsFinder::slotTotalFilesToScan: total scan value :  2572



// Opening Import Dialog here

digikam(11841)/digikam (core) Digikam::DigikamApp::openSolidCamera: Found camera from ids  10545   2565  camera is:  "Jolla Sailfish"  at  "usb:001,007"
digikam(11841)/digikam (core) Digikam::ImportStackedView::syncSelection: one or both of the models are null?! from: Digikam::ImportIconView(0x388cc80) to: Digikam::ImportThumbnailBar(0x42732c0) 
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (KLineEdit::userTextChanged(QString))
QObject::connect: Connecting from COMPAT signal (QComboBox::textChanged(QString))
digikam(11841)/digikam (core) Digikam::GPCamera::getFreeSpace: Storage fstype: generic tree hierarchy
digikam(11841)/digikam (core) Digikam::GPCamera::getFreeSpace: Storage label:  "media"
digikam(11841)/digikam (core) Digikam::GPCamera::getFreeSpace: Storage description:  "Phone Memory"
digikam(11841)/digikam (core) Digikam::GPCamera::getFreeSpace: Storage base-dir:  "/store_00010001"
digikam(11841)/digikam (core) Digikam::GPCamera::getFreeSpace: Storage access: R/W
digikam(11841)/digikam (core) Digikam::GPCamera::getFreeSpace: Storage type: fixed RAM
digikam(11841)/digikam (core) Digikam::GPCamera::getFreeSpace: Storage capacity:  14415852
digikam(11841)/digikam (core) Digikam::GPCamera::getFreeSpace: Storage free-space:  11183784
digikam(11841)/digikam (core) Digikam::GPCamera::getMetadata: Size of Exif metadata from camera =  372
digikam(11841)/digikam (core) Digikam::GPCamera::getMetadata: Exif header found at position  4

//stuck forever




So I ran it inside GDB and looked where it is stuck...
(NOTE: the bt mentions QPlastiqueStyle, but I also tested it with oxygen, the result is the same)


GPOS_Do_Glyph_Lookup (gpi=gpi@entry=0x7fffffffb300, lookup_index=lookup_index@entry=14, buffer=buffer@entry=0xdfd950, 
    context_length=context_length@entry=65535, nesting_level=1, nesting_level@entry=0) at ../3rdparty/harfbuzz/src/harfbuzz-gpos.c:5819
5819    ../3rdparty/harfbuzz/src/harfbuzz-gpos.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  GPOS_Do_Glyph_Lookup (gpi=gpi@entry=0x7fffffffb300, lookup_index=lookup_index@entry=14, buffer=buffer@entry=0xdfd950, 
    context_length=context_length@entry=65535, nesting_level=1, nesting_level@entry=0) at ../3rdparty/harfbuzz/src/harfbuzz-gpos.c:5819
#1  0x00007ffff2a52db6 in GPOS_Do_String_Lookup (buffer=0xdfd950, lookup_index=14, gpi=0x7fffffffb300)
    at ../3rdparty/harfbuzz/src/harfbuzz-gpos.c:5905
#2  HB_GPOS_Apply_String (font=<optimized out>, gpos=0xfaa690, load_flags=<optimized out>, buffer=0xdfd950, dvi=<optimized out>, 
    r2l=<optimized out>) at ../3rdparty/harfbuzz/src/harfbuzz-gpos.c:6076
#3  0x00007ffff2a57e49 in HB_OpenTypePosition (item=0x7fffffffb590, availableGlyphs=8, doLogClusters=<optimized out>)
    at ../3rdparty/harfbuzz/src/harfbuzz-shaper.cpp:1265
#4  0x00007ffff2a5cb03 in HB_ShapeItem (shaper_item=0x7fffffffb590) at ../3rdparty/harfbuzz/src/harfbuzz-shaper.cpp:1419
#5  0x00007ffff1db6317 in QTextEngine::shapeTextWithHarfbuzz (this=this@entry=0x3e0e470, item=item@entry=0) at text/qtextengine.cpp:1342
#6  0x00007ffff1db6eea in QTextEngine::shapeText (this=this@entry=0x3e0e470, item=item@entry=0) at text/qtextengine.cpp:935
#7  0x00007ffff1db724b in QTextEngine::shape (this=0x3e0e470, item=item@entry=0) at text/qtextengine.cpp:1450
#8  0x00007ffff1dc86b9 in QTextLine::layout_helper (this=this@entry=0x7fffffffbee0, maxGlyphs=maxGlyphs@entry=2147483647)
    at text/qtextlayout.cpp:1752
#9  0x00007ffff1dc96a3 in QTextLine::setLineWidth (this=this@entry=0x7fffffffbee0, width=<optimized out>) at text/qtextlayout.cpp:1525
#10 0x00007ffff1e76bff in QCommonStylePrivate::viewItemSize (this=this@entry=0xd7f960, option=option@entry=0x7fffffffc190, 
    role=role@entry=0) at styles/qcommonstyle.cpp:877
#11 0x00007ffff1e77739 in QCommonStylePrivate::viewItemLayout (this=0xd7f960, opt=opt@entry=0x7fffffffc190, 
    checkRect=checkRect@entry=0x7fffffffc040, pixmapRect=pixmapRect@entry=0x7fffffffc020, textRect=textRect@entry=0x7fffffffc030, 
    sizehint=sizehint@entry=true) at styles/qcommonstyle.cpp:1001
#12 0x00007ffff1e7804f in QCommonStyle::sizeFromContents (this=this@entry=0xd7f910, ct=<optimized out>, opt=opt@entry=0x7fffffffc190, 
    csz=..., widget=widget@entry=0x3407e90) at styles/qcommonstyle.cpp:4853
#13 0x00007ffff1f1161a in QWindowsStyle::sizeFromContents (this=this@entry=0xd7f910, ct=ct@entry=QStyle::CT_ItemViewItem, 
    opt=opt@entry=0x7fffffffc190, csz=..., widget=widget@entry=0x3407e90) at styles/qwindowsstyle.cpp:3262
#14 0x00007ffff1ee9065 in QPlastiqueStyle::sizeFromContents (this=0xd7f910, type=QStyle::CT_ItemViewItem, option=0x7fffffffc190, size=..., 
    widget=0x3407e90) at styles/qplastiquestyle.cpp:4955
#15 0x00007ffff213f7ca in QStyledItemDelegate::sizeHint (this=0x340d6b0, option=..., index=...) at itemviews/qstyleditemdelegate.cpp:453
#16 0x00007ffff20d39a7 in QTreeView::sizeHintForColumn (this=<optimized out>, column=1) at itemviews/qtreeview.cpp:2748
#17 0x00007ffff209f198 in QHeaderViewPrivate::resizeSections (this=0x340dd70, globalMode=globalMode@entry=QHeaderView::Interactive, 
    useGlobalMode=useGlobalMode@entry=false) at itemviews/qheaderview.cpp:3028
#18 0x00007ffff209f417 in QHeaderView::resizeSections (this=<optimized out>) at itemviews/qheaderview.cpp:1631
#19 0x00007ffff209f734 in executePostedResize (this=0x340dd70)
    at ../../include/QtGui/private/../../../src/gui/itemviews/qheaderview_p.h:230
#20 QHeaderView::sectionPosition (this=this@entry=0x340db60, logicalIndex=logicalIndex@entry=0) at itemviews/qheaderview.cpp:666
#21 0x00007ffff209fa0a in QHeaderView::sectionViewportPosition (this=0x340db60, logicalIndex=0) at itemviews/qheaderview.cpp:683
#22 0x00007ffff20cbab0 in QTreeView::columnViewportPosition (this=this@entry=0x3407e90, column=<optimized out>)
    at itemviews/qtreeview.cpp:487
#23 0x00007ffff20d1b8b in QTreeView::visualRect (this=0x3407e90, index=...) at itemviews/qtreeview.cpp:1057
#24 0x00007ffff20dc9cf in QTreeView::currentChanged (this=0x3407e90, current=..., previous=...) at itemviews/qtreeview.cpp:3734
#25 0x00007ffff2b07578 in QMetaObject::activate (sender=sender@entry=0x3412150, 
    m=m@entry=0x7ffff26bb180 <QItemSelectionModel::staticMetaObject>, local_signal_index=local_signal_index@entry=1, 
    argv=argv@entry=0x7fffffffc680) at kernel/qobject.cpp:3547
#26 0x00007ffff20e570a in QItemSelectionModel::currentChanged (this=this@entry=0x3412150, _t1=..., _t2=...)
    at .moc/debug-shared/moc_qitemselectionmodel.cpp:172
#27 0x00007ffff20e581d in QItemSelectionModel::setCurrentIndex (this=0x3412150, index=..., command=...)
    at itemviews/qitemselectionmodel.cpp:1175
#28 0x00007ffff2088c6a in QAbstractItemView::setCurrentIndex (this=this@entry=0x3407e90, index=...) at itemviews/qabstractitemview.cpp:1022
#29 0x00007ffff2109fa6 in QTreeWidget::setCurrentItem (this=0x3407e90, item=0x3866770, column=column@entry=0)
    at itemviews/qtreewidget.cpp:2815
#30 0x00007ffff2109fc7 in QTreeWidget::setCurrentItem (this=<optimized out>, item=<optimized out>) at itemviews/qtreewidget.cpp:2803
#31 0x00007ffff55de0e8 in Digikam::DHistoryView::addedEntry (this=<optimized out>, msg=..., 
    type=type@entry=Digikam::DHistoryView::StartingEntry, metadata=...)
    at /var/tmp/portage/media-gfx/digikam-4.2.0/work/digikam-4.2.0/core/libs/widgets/mainview/dhistoryview.cpp:166
---Type <return> to continue, or q <return> to quit---
#32 0x00000000007ec97b in Digikam::ImportUI::slotLogMsg (this=0x3288ca0, msg=..., type=Digikam::DHistoryView::StartingEntry, folder=..., 
    file=...) at /var/tmp/portage/media-gfx/digikam-4.2.0/work/digikam-4.2.0/core/utilities/importui/main/importui.cpp:2557
#33 0x00000000007f8b6e in Digikam::ImportUI::qt_static_metacall (_o=0x3288ca0, _c=14, _id=14670160, _a=0xffff)
    at /var/tmp/portage/media-gfx/digikam-4.2.0/work/digikam-4.2.0_build/utilities/importui/importui.moc:183
#34 0x00007ffff2b0c0c6 in QObject::event (this=this@entry=0x3288ca0, e=e@entry=0x38664d0) at kernel/qobject.cpp:1194
#35 0x00007ffff1b8210b in QWidget::event (this=this@entry=0x3288ca0, event=event@entry=0x38664d0) at kernel/qwidget.cpp:8846
#36 0x00007ffff1f811cb in QMainWindow::event (this=this@entry=0x3288ca0, event=event@entry=0x38664d0) at widgets/qmainwindow.cpp:1478
#37 0x00007ffff36457f1 in KMainWindow::event (this=this@entry=0x3288ca0, ev=ev@entry=0x38664d0)
    at /var/tmp/portage/kde-base/kdelibs-4.14.0/work/kdelibs-4.14.0/kdeui/widgets/kmainwindow.cpp:1084
#38 0x00007ffff3680139 in KXmlGuiWindow::event (this=0x3288ca0, ev=0x38664d0)
    at /var/tmp/portage/kde-base/kdelibs-4.14.0/work/kdelibs-4.14.0/kdeui/xmlgui/kxmlguiwindow.cpp:126
#39 0x00007ffff1b26e51 in QApplicationPrivate::notify_helper (this=this@entry=0xd38990, receiver=receiver@entry=0x3288ca0, 
    e=e@entry=0x38664d0) at kernel/qapplication.cpp:4562
#40 0x00007ffff1b2de1d in QApplication::notify (this=this@entry=0x7fffffffd690, receiver=receiver@entry=0x3288ca0, e=e@entry=0x38664d0)
    at kernel/qapplication.cpp:4348
#41 0x00007ffff3589e8a in KApplication::notify (this=0x7fffffffd690, receiver=0x3288ca0, event=0x38664d0)
    at /var/tmp/portage/kde-base/kdelibs-4.14.0/work/kdelibs-4.14.0/kdeui/kernel/kapplication.cpp:311
#42 0x00007ffff2af164c in QCoreApplication::notifyInternal (this=0x7fffffffd690, receiver=receiver@entry=0x3288ca0, 
    event=event@entry=0x38664d0) at kernel/qcoreapplication.cpp:949
#43 0x00007ffff2af4bb0 in sendEvent (event=0x38664d0, receiver=0x3288ca0)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#44 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, 
    receiver@entry=0x7ffff2b22a40 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>, event_type=event_type@entry=0, data=0xcb8a10)
    at kernel/qcoreapplication.cpp:1573
#45 0x00007ffff2af4fe7 in QCoreApplication::sendPostedEvents (
    receiver=0x7ffff2b22a40 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>, receiver@entry=0x0, event_type=event_type@entry=0)
    at kernel/qcoreapplication.cpp:1466
#46 0x00007ffff2b22a5e in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#47 postEventSourceDispatch (s=0xd35e40) at kernel/qeventdispatcher_glib.cpp:300
#48 0x00007fffe9eb23ab in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#49 0x00007fffe9eb25c8 in g_main_context_iterate.isra () from /usr/lib64/libglib-2.0.so.0
#50 0x00007fffe9eb268c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#51 0x00007ffff2b2207c in QEventDispatcherGlib::processEvents (this=0xd39570, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#52 0x00007ffff1bd5ca6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...)
    at kernel/qguieventdispatcher_glib.cpp:204
#53 0x00007ffff2aef9ef in QEventLoop::processEvents (this=this@entry=0x7fffffffd170, flags=...) at kernel/qeventloop.cpp:149
#54 0x00007ffff2aefcdd in QEventLoop::exec (this=this@entry=0x7fffffffd170, flags=...) at kernel/qeventloop.cpp:204
#55 0x00007ffff2af5ca9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#56 0x00007ffff1b2523c in QApplication::exec () at kernel/qapplication.cpp:3823
#57 0x00000000004959a5 in main (argc=<optimized out>, argv=<optimized out>)
    at /var/tmp/portage/media-gfx/digikam-4.2.0/work/digikam-4.2.0/core/digikam/main/main.cpp:236
Comment 1 caulier.gilles 2014-08-28 19:06:14 UTC
It crash in Harfbuzz not in digiKam :

http://www.freedesktop.org/wiki/Software/HarfBuzz/

I suspect a problem in computer configuration.

Gilles Caulier
Comment 2 caulier.gilles 2014-08-28 19:09:10 UTC
Please try to get a better backtrace in GDB following information here :

https://www.digikam.org/contrib

Gilles Caulier
Comment 3 Bernd Buschinski 2014-08-28 19:49:07 UTC
It does NOT crash, this is the bt if I run it in gdb and press ctrl+c
Comment 4 caulier.gilles 2014-09-01 08:16:01 UTC
Can you turn on debug space using kdebugdialog as explained here :

https://www.digikam.org/contrib

... and run digiKam from a console. Report console trace here.

Q: do you have any video files on your camera ?

Gilles Caulier
Comment 5 Bernd Buschinski 2014-09-01 16:27:23 UTC
Created attachment 88524 [details]
digikam with kdebug output
Comment 6 Bernd Buschinski 2014-09-01 16:27:48 UTC
And no, no videos on this device
Comment 7 Bernd Buschinski 2014-09-01 16:46:54 UTC
ok, so I went ahead and commented
libs/widgets/mainview/dhistoryview.cpp:166
out and it works.
No more freezes, I can see and download the images.
Comment 8 caulier.gilles 2014-09-01 18:45:28 UTC
You have commented this line ?

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/widgets/mainview/dhistoryview.cpp#L166

Why this will block GUI ??? Typicially DHistoryView is a simple QTreeWidget used to list event from Import Tool... I'm lost

Gilles Caulier
Comment 9 caulier.gilles 2014-09-01 18:49:56 UTC
Call of DHistoryView::addEntry() in Import tool is done here :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/importui/main/importui.cpp#L2557

Nothing special here. It a slot which receive event to log on history.

How many message can you see registered in history view from Import GUI before to see digiKam frozen ?

Gilles Caulier
Comment 10 Bernd Buschinski 2014-09-07 20:54:52 UTC
hm.. I can not find the "history view", how can I access it? is it called somethingelse? where should it be?

But yes, just this one line
https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/widgets/mainview/dhistoryview.cpp#L166
Comment 11 caulier.gilles 2014-09-07 20:57:46 UTC
History view is not show be default in Import Tool.

To turn on, got to View Show History menu...

Gilles Caulier
Comment 12 Bernd Buschinski 2014-09-07 21:05:29 UTC
Created attachment 88609 [details]
Last Actions in History View

Last Actions in History View, after this digikam is stuck forever
Comment 13 Bernd Buschinski 2014-09-07 21:20:51 UTC
ok, so I added a kDebug()

void DHistoryView::addedEntry(const QString& msg, EntryType type, const QVariant& metadata)
{
    DHistoryViewItem* const item = new DHistoryViewItem(this, msg, type, metadata);
    kDebug() << msg << "," << metadata;
    setCurrentItem(item);
}


and it does "not" freeze, it outputs

digikam(8810)/digikam (core) Digikam::DHistoryView::addedEntry: "The files in /store_00010001/.qmf/mail/1405495633.981.N6SOU-parts/ have been listed." , QVariant(QStringList, ("", "") )
digikam(8810)/digikam (core) Digikam::DHistoryView::addedEntry: "Auflisten der Ordner in /store_00010001/.qmf/mail/1405495633.981.N6SOU-parts/ ..." , QVariant(QStringList, ("", "") )
digikam(8810)/digikam (core) Digikam::DHistoryView::addedEntry: "Die Ordner in /store_00010001/.qmf/mail/1405495633.981.N6SOU-parts/ wurden aufgelistet." , QVariant(QStringList, ("", "") )
digikam(8810)/digikam (core) Digikam::DHistoryView::addedEntry: "Listing files in /store_00010001/.qmf/mail/1405495633.981.e56mS-parts/..." , QVariant(QStringList, ("", "") )
digikam(8810)/digikam (core) Digikam::DHistoryView::addedEntry: "The files in /store_00010001/.qmf/mail/1405495633.981.e56mS-parts/ have been listed." , QVariant(QStringList, ("", "") )
digikam(8810)/digikam (core) Digikam::DHistoryView::addedEntry: "Auflisten der Ordner in /store_00010001/.qmf/mail/1405495633.981.e56mS-parts/ ..." , QVariant(QStringList, ("", "") )

and such forever

Empty metadata(folder & file)? Looks fishy
Comment 14 caulier.gilles 2014-09-08 11:31:05 UTC
To resume, without kDebug, it do not crash. Right?

This is a non sense. kdebug will just slowdown history entry registration...

... or there is a race condition here. But i cannot see where exactly. A signal is emitted from controller with message content. main import window re-route signal to a slot to create new entry in history view. Sound like the right way to do...

Gilles
Comment 15 Bernd Buschinski 2014-09-08 11:45:46 UTC
Ok, let me clarify this,

with or without kDebug the GUI freezes.
I just got the impression that the freeze happens in some Qt Code, but your digikam code is still running and it adds millions of items to the history. (As the kDebug output keeps coming for at least like ~5+min, didn't wait longer)
NOTE: I am talking about 126 visible images in digikam here, no clue why it scans  *ALL* folders anyway. Maybe thats the main question?

But yes, there still might be a race condition here, I vague remember some Qt Bug that caused the horizontal scrollbar (even if not directly visible) to cause endless resizes, but not sure here, I will test/search that as soon as I can.

And it never crashes, it only freezes, (or maybe takes more than 10min, didn't wait thaaat long)
Comment 16 caulier.gilles 2014-09-08 11:54:36 UTC
If bombarding a listview is not safe for Qt, well, just comment "setCurrentItem(item);" to let Qt the time to integrate new items.

This solve this issue ?

Gilles Caulier
Comment 17 Bernd Buschinski 2014-09-08 18:01:07 UTC
Yep this will solve the issue, but then you no longer have the latest item selected&visible.

So I tried something, like setting the headers to fixed width, but it didn't help.
But then I used scrollToItem(item), instead of setCurrentItem(item)
and it was "only" frozen for like ~45sec (NOTE: debugbuild)
And just to be sure I tried setCurrentItem(item); again, but I gave up after 8min.
scrollToItem does not select the latest Item, but at least it is visible.

I tried other stuff as well, but it didn't really help.

to sum up:

setCurrentItem: 8+min and still frozen (guessing 15min) //current code
scrollToItem: ~45sec
none: just some very minor freezes like 1-2sec

I messured the "frozen"-time by looking at the animated digikam logo.

So its up to you, what you think is best? how important is it to see&select the latest item in the history? (given that the history is not shown by default)

In case you have more ideas, I will test them as soon as I can :)
Comment 18 caulier.gilles 2014-09-08 18:16:09 UTC
I think a simple a way to fix it is to replace kDebug() statement by kapp->processEvents(). Does it work for you ?

I fact, i suspect that Qt dispatch queued events when debug statement is printed to the console.

But the ultimate solution here is to limit HistoryView to be bombarded of messages.
Typically, at ImportUI start-up, controller get all thumbnails from camera. This can be very fast, especially with UMS media. I think to log all thumbnail events in HistoryView is not very important for end users. We can limit to to start and end of all thumbs process.

Downloading items can take more time. So it's a different situation, and to log download states is more important for end users.

What do you think about ?

Gilles Caulier
Comment 19 caulier.gilles 2014-09-08 21:22:23 UTC
Git commit 7285bf0badecd05cc8897c8f516a9e62f03cc1d5 by Gilles Caulier.
Committed on 08/09/2014 at 21:19.
Pushed by cgilles into branch 'master'.

dispatch Qt event to not block gui if history recieve a lot of message to register

M  +4    -2    libs/widgets/mainview/dhistoryview.cpp
M  +1    -1    libs/widgets/mainview/dhistoryview.h

http://commits.kde.org/digikam/7285bf0badecd05cc8897c8f516a9e62f03cc1d5
Comment 20 caulier.gilles 2014-09-08 21:23:33 UTC
Bernd,

With my last commit, i add a processEvent() in DHistoryView.

This enough to solve your problem ?

Gilles Caulier
Comment 21 Bernd Buschinski 2014-09-09 06:54:58 UTC
So I updated to git master and tested it.

Well, it does not completly "freeze", as the gui still repaints and I can even scroll in the import dialog, (NOTE: the scroll is very laggy and extremly slow)
BUT it does not solve the issue, I waited for 5min and it still was busy looking in all subdirs and no image thumbnails was displayed.

Btw I also tested a very old camera with way more images, but "no" subdirs, it was waaaay faster, like all image thumbnails  where displayed almost instantly. So the subdirs(lookups)&history really are the problem.

I would generally vote "yes" to the "drop thumbnail History" idea, but I maybe sometimes later, another person will find a bug were the import(lookup) gets stuck in a specific directory, wouldn't that make the debugging harder for him? But this would be the only real use-case I can think of.
BTW: Only the "Listing files" parts in the History causes the problems (as I have millions of them), I only have 126 Images, so the "getting thumbnail" part is just a few quick Lines.

Thinking about it... 
Is the "Listing files in ..." part done async in another (multiple) thread(s)? So can it be that try to add 2 history entries at the exact same time? (just guessing)
Comment 22 caulier.gilles 2014-09-09 08:37:34 UTC
Bernd,

Just for testing, to not recieve thumbnail notification to log in history, just comment this line :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/importui/backend/cameracontroller.cpp#L550

The "Listing Files" stage is managed here from controller :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/importui/backend/cameracontroller.cpp#L511

It call d->camera->getItemsInfoList(). This method time processing depend of :

- Camera type : UMS or gphoto.
- the arguments passed to get extra metadata. This can be modified in digiKam Camera settings from "Behavior" section.

The loop to list file from camera interfaces are here :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/importui/backend/gpcamera.cpp#L736

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/importui/backend/umscamera.cpp#L181

Gilles Caulier
Comment 23 Bernd Buschinski 2014-09-09 17:03:35 UTC
Created attachment 88634 [details]
no Files in, or foldern in Log patch

so for testing I commented
 https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/importui/backend/cameracontroller.cpp#L550
but it did not help, waited 5min

then I commented the
"Listing files in" log
but it still did not help, waited 5min again.

then I commented
"Listing folders in" log
and weeeeeeeeh! I have never seen the import dialog that fast :)

NOTE: there is a "Failed to list files in ..." so the missing begin/end "files in" log is not a big problem IMHO
Comment 24 caulier.gilles 2014-09-09 17:08:32 UTC
If you have commented these lines :

         case (CameraCommand::cam_listfolders):
         {
             QString folder = cmd->map["folder"].toString();
-            sendLogMsg(i18n("Listing folders in %1...", folder));
+            //sendLogMsg(i18n("Listing folders in %1...", folder));
 
             d->camera->getFolders(folder);
 
-            sendLogMsg(i18n("The folders in %1 have been listed.", folder));
+            //sendLogMsg(i18n("The folders in %1 have been listed.", folder));
             break;
         }

To fix the problem, well, i'm lost... There is nothing special here. Only 2 lines are add to history. There is no bombarding events between controler and GUI...

Gilles Caulier
Comment 25 Bernd Buschinski 2014-09-09 17:20:59 UTC
Created attachment 88635 [details]
debug counters

digikam(23823)/digikam (core) Digikam::CameraController::executeCommand: Files: 1318
digikam(23823)/digikam (core) Digikam::CameraController::executeCommand: Folders: 1318

so everything x2
(as we have sendLogMsg(i18n("Listing files in %1...", folder)); and sendLogMsg(i18n("The files in %1 have been listed.", folder));)

those things add (1318 Files + 1318 Folders) * 2  = 5272 LogLines
Comment 26 caulier.gilles 2014-09-09 17:24:01 UTC
Ah, now i understand. You have plenty of dirs on your media. now, i know what's i need to fix.

Gilles Caulier
Comment 27 David Kredba 2014-09-11 18:04:04 UTC
*** Bug 338949 has been marked as a duplicate of this bug. ***
Comment 28 Bernd Buschinski 2014-09-17 07:09:08 UTC
While trying the Import again (some days old git master), with open history, I noticed that sometimes an "old" item gets selected, not the latest one, and then it freezes.
So there is very likely some kind of race condition here.
Comment 29 caulier.gilles 2014-09-25 12:34:34 UTC
Git commit 54b51f06b9d413e663a07b64d9bbe2eff69d9713 by Gilles Caulier.
Committed on 25/09/2014 at 12:32.
Pushed by cgilles into branch 'master'.

Only report error or warnings in Import console history. No need to bloat history content with unnecessary contents which can freeze GUI
FIXED-IN: 4.4.0

M  +2    -1    NEWS
M  +49   -51   utilities/importui/backend/cameracontroller.cpp
M  +63   -61   utilities/importui/backend/gpcamera.cpp
M  +31   -30   utilities/importui/backend/umscamera.cpp

http://commits.kde.org/digikam/54b51f06b9d413e663a07b64d9bbe2eff69d9713