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
It crash in Harfbuzz not in digiKam : http://www.freedesktop.org/wiki/Software/HarfBuzz/ I suspect a problem in computer configuration. Gilles Caulier
Please try to get a better backtrace in GDB following information here : https://www.digikam.org/contrib Gilles Caulier
It does NOT crash, this is the bt if I run it in gdb and press ctrl+c
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
Created attachment 88524 [details] digikam with kdebug output
And no, no videos on this device
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.
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
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
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
History view is not show be default in Import Tool. To turn on, got to View Show History menu... Gilles Caulier
Created attachment 88609 [details] Last Actions in History View Last Actions in History View, after this digikam is stuck forever
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
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
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)
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
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 :)
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
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
Bernd, With my last commit, i add a processEvent() in DHistoryView. This enough to solve your problem ? Gilles Caulier
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)
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
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
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
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
Ah, now i understand. You have plenty of dirs on your media. now, i know what's i need to fix. Gilles Caulier
*** Bug 338949 has been marked as a duplicate of this bug. ***
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.
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