Bug 414737 - DigiKam becomes unresponsive when clicking on NFS-mounted photos
Summary: DigiKam becomes unresponsive when clicking on NFS-mounted photos
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Media (show other bugs)
Version: 6.1.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2019-12-02 03:48 UTC by Cengiz Gunay
Modified: 2020-07-31 01:39 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.1.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Cengiz Gunay 2019-12-02 03:48:45 UTC
Application: digikam (6.1.0)

Qt Version: 5.13.0
Frameworks Version: 5.60.0
Operating System: Linux 4.19.60-1-MANJARO x86_64
Distribution: "Manjaro Linux"

-- Information about the crash:
- What I was doing when the application crashed:

I had albums scanned from an NFS drive and clicking on them just freezes DigiKam and all of its operations. 

I'm on Manjaro. I can provide more details/test if there is any need.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4d32b31040 (LWP 14404))]

Thread 13 (Thread 0x7f4c837fe700 (LWP 14462)):
#0  0x00007f4d4b30677c in pthread_cond_timedwait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f4d423cb996 in  () at /usr/lib/libQt5WebEngineCore.so.5
#2  0x00007f4d423cc983 in  () at /usr/lib/libQt5WebEngineCore.so.5
#3  0x00007f4d423ccb01 in  () at /usr/lib/libQt5WebEngineCore.so.5
#4  0x00007f4d423d5811 in  () at /usr/lib/libQt5WebEngineCore.so.5
#5  0x00007f4d423d6e12 in  () at /usr/lib/libQt5WebEngineCore.so.5
#6  0x00007f4d423d7564 in  () at /usr/lib/libQt5WebEngineCore.so.5
#7  0x00007f4d423cdb35 in  () at /usr/lib/libQt5WebEngineCore.so.5
#8  0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 12 (Thread 0x7f4cb5ffb700 (LWP 14461)):
#0  0x00007f4d4b30677c in pthread_cond_timedwait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f4d423cb996 in  () at /usr/lib/libQt5WebEngineCore.so.5
#2  0x00007f4d423cc983 in  () at /usr/lib/libQt5WebEngineCore.so.5
#3  0x00007f4d423ccb01 in  () at /usr/lib/libQt5WebEngineCore.so.5
#4  0x00007f4d423d5811 in  () at /usr/lib/libQt5WebEngineCore.so.5
#5  0x00007f4d423d7171 in  () at /usr/lib/libQt5WebEngineCore.so.5
#6  0x00007f4d423d7564 in  () at /usr/lib/libQt5WebEngineCore.so.5
#7  0x00007f4d423cdb35 in  () at /usr/lib/libQt5WebEngineCore.so.5
#8  0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 11 (Thread 0x7f4cb4ff9700 (LWP 14460)):
#0  0x00007f4d4b306415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f4d423cb89c in  () at /usr/lib/libQt5WebEngineCore.so.5
#2  0x00007f4d423cc990 in  () at /usr/lib/libQt5WebEngineCore.so.5
#3  0x00007f4d423ccabf in  () at /usr/lib/libQt5WebEngineCore.so.5
#4  0x00007f4d423d57e6 in  () at /usr/lib/libQt5WebEngineCore.so.5
#5  0x00007f4d423d7171 in  () at /usr/lib/libQt5WebEngineCore.so.5
#6  0x00007f4d423d75a4 in  () at /usr/lib/libQt5WebEngineCore.so.5
#7  0x00007f4d423cdb35 in  () at /usr/lib/libQt5WebEngineCore.so.5
#8  0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 10 (Thread 0x7f4cb57fa700 (LWP 14459)):
[KCrash Handler]
#6  0x00007f4d4f3c7755 in raise () at /usr/lib/libc.so.6
#7  0x00007f4d4f3b2851 in abort () at /usr/lib/libc.so.6
#8  0x00007f4d4fa2b8b6 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f4d4fa2ace2 in qt_assert_x(char const*, char const*, char const*, int) () at /usr/lib/libQt5Core.so.5
#10 0x00007f4d4f7db579 in  () at /usr/lib/libdigikamdatabase.so.6.1.0
#11 0x00007f4d4f809c6f in Digikam::CollectionManager::locationForPath(QString const&) () at /usr/lib/libdigikamdatabase.so.6.1.0
#12 0x00007f4d4f8857b1 in Digikam::ItemInfo::fromLocalFile(QString const&) () at /usr/lib/libdigikamdatabase.so.6.1.0
#13 0x00007f4d4f84ffe2 in Digikam::DatabaseLoadSaveFileInfoProvider::orientationHint(QString const&) () at /usr/lib/libdigikamdatabase.so.6.1.0
#14 0x00007f4d5129dac0 in Digikam::LoadSaveThread::exifOrientation(QString const&, Digikam::DMetadata const&, bool, bool) () at /usr/lib/libdigikamcore.so.6.1.0
#15 0x00007f4d5128c355 in Digikam::ThumbnailCreator::createThumbnail(Digikam::ThumbnailInfo const&, QRect const&) const () at /usr/lib/libdigikamcore.so.6.1.0
#16 0x00007f4d5128e9dc in Digikam::ThumbnailCreator::load(Digikam::ThumbnailIdentifier const&, QRect const&, bool) const () at /usr/lib/libdigikamcore.so.6.1.0
#17 0x00007f4d5128f305 in Digikam::ThumbnailCreator::load(Digikam::ThumbnailIdentifier const&) const () at /usr/lib/libdigikamcore.so.6.1.0
#18 0x00007f4d5129c537 in Digikam::ThumbnailLoadingTask::execute() () at /usr/lib/libdigikamcore.so.6.1.0
#19 0x00007f4d5129e519 in Digikam::LoadSaveThread::run() () at /usr/lib/libdigikamcore.so.6.1.0
#20 0x00007f4d512c38ce in  () at /usr/lib/libdigikamcore.so.6.1.0
#21 0x00007f4d4fa69912 in  () at /usr/lib/libQt5Core.so.5
#22 0x00007f4d4fa66520 in  () at /usr/lib/libQt5Core.so.5
#23 0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#24 0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 9 (Thread 0x7f4cb6ffd700 (LWP 14438)):
#0  0x00007f4d4b306415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f4d423cb89c in  () at /usr/lib/libQt5WebEngineCore.so.5
#2  0x00007f4d423cc990 in  () at /usr/lib/libQt5WebEngineCore.so.5
#3  0x00007f4d423ccabf in  () at /usr/lib/libQt5WebEngineCore.so.5
#4  0x00007f4d423d57e6 in  () at /usr/lib/libQt5WebEngineCore.so.5
#5  0x00007f4d423d7171 in  () at /usr/lib/libQt5WebEngineCore.so.5
#6  0x00007f4d423d75e4 in  () at /usr/lib/libQt5WebEngineCore.so.5
#7  0x00007f4d423cdb35 in  () at /usr/lib/libQt5WebEngineCore.so.5
#8  0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 8 (Thread 0x7f4cb77fe700 (LWP 14437)):
#0  0x00007f4d4f47a237 in write () at /usr/lib/libc.so.6
#1  0x00007f4d4f40b9ad in _IO_file_write@@GLIBC_2.2.5 () at /usr/lib/libc.so.6
#2  0x00007f4d4f40ad06 in new_do_write () at /usr/lib/libc.so.6
#3  0x00007f4d4f40c0de in __GI__IO_file_xsputn () at /usr/lib/libc.so.6
#4  0x00007f4d4f3f8571 in buffered_vfprintf () at /usr/lib/libc.so.6
#5  0x00007f4d4f3f5764 in __vfprintf_internal () at /usr/lib/libc.so.6
#6  0x00007f4d4f498123 in __fprintf_chk () at /usr/lib/libc.so.6
#7  0x00007f4d3669ed90 in event_logv_ () at /usr/lib/libevent-2.1.so.6
#8  0x00007f4d3669ef57 in event_warn () at /usr/lib/libevent-2.1.so.6
#9  0x00007f4d366a0982 in  () at /usr/lib/libevent-2.1.so.6
#10 0x00007f4d36696860 in event_base_loop () at /usr/lib/libevent-2.1.so.6
#11 0x00007f4d423d163a in  () at /usr/lib/libQt5WebEngineCore.so.5
#12 0x00007f4d42360a27 in  () at /usr/lib/libQt5WebEngineCore.so.5
#13 0x00007f4d4239a3ef in  () at /usr/lib/libQt5WebEngineCore.so.5
#14 0x00007f4d423cdb35 in  () at /usr/lib/libQt5WebEngineCore.so.5
#15 0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#16 0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 7 (Thread 0x7f4d07fff700 (LWP 14423)):
#0  0x00007f4d4b30677c in pthread_cond_timedwait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f4d423cb996 in  () at /usr/lib/libQt5WebEngineCore.so.5
#2  0x00007f4d423cc983 in  () at /usr/lib/libQt5WebEngineCore.so.5
#3  0x00007f4d423ccb01 in  () at /usr/lib/libQt5WebEngineCore.so.5
#4  0x00007f4d423d5811 in  () at /usr/lib/libQt5WebEngineCore.so.5
#5  0x00007f4d423d7171 in  () at /usr/lib/libQt5WebEngineCore.so.5
#6  0x00007f4d423d7564 in  () at /usr/lib/libQt5WebEngineCore.so.5
#7  0x00007f4d423cdb35 in  () at /usr/lib/libQt5WebEngineCore.so.5
#8  0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7f4d0d325700 (LWP 14421)):
#0  0x00007f4d4b30677c in pthread_cond_timedwait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f4d423cb996 in  () at /usr/lib/libQt5WebEngineCore.so.5
#2  0x00007f4d423cc983 in  () at /usr/lib/libQt5WebEngineCore.so.5
#3  0x00007f4d423ccb01 in  () at /usr/lib/libQt5WebEngineCore.so.5
#4  0x00007f4d423d5811 in  () at /usr/lib/libQt5WebEngineCore.so.5
#5  0x00007f4d423d7171 in  () at /usr/lib/libQt5WebEngineCore.so.5
#6  0x00007f4d423d7564 in  () at /usr/lib/libQt5WebEngineCore.so.5
#7  0x00007f4d423cdb35 in  () at /usr/lib/libQt5WebEngineCore.so.5
#8  0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f4d0ff8d700 (LWP 14416)):
#0  0x00007f4d4b30677c in pthread_cond_timedwait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f4d423cb996 in  () at /usr/lib/libQt5WebEngineCore.so.5
#2  0x00007f4d423cc983 in  () at /usr/lib/libQt5WebEngineCore.so.5
#3  0x00007f4d423ccb01 in  () at /usr/lib/libQt5WebEngineCore.so.5
#4  0x00007f4d423d5811 in  () at /usr/lib/libQt5WebEngineCore.so.5
#5  0x00007f4d423d7171 in  () at /usr/lib/libQt5WebEngineCore.so.5
#6  0x00007f4d423d7564 in  () at /usr/lib/libQt5WebEngineCore.so.5
#7  0x00007f4d423cdb35 in  () at /usr/lib/libQt5WebEngineCore.so.5
#8  0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f4d10f8f700 (LWP 14414)):
#0  0x00007f4d4f4965cb in __lll_lock_wait_private () at /usr/lib/libc.so.6
#1  0x00007f4d4f3f8514 in buffered_vfprintf () at /usr/lib/libc.so.6
#2  0x00007f4d4f3f5764 in __vfprintf_internal () at /usr/lib/libc.so.6
#3  0x00007f4d4f498123 in __fprintf_chk () at /usr/lib/libc.so.6
#4  0x00007f4d3669ed90 in event_logv_ () at /usr/lib/libevent-2.1.so.6
#5  0x00007f4d3669ef57 in event_warn () at /usr/lib/libevent-2.1.so.6
#6  0x00007f4d366a0982 in  () at /usr/lib/libevent-2.1.so.6
#7  0x00007f4d36696860 in event_base_loop () at /usr/lib/libevent-2.1.so.6
#8  0x00007f4d423d15e8 in  () at /usr/lib/libQt5WebEngineCore.so.5
#9  0x00007f4d42360a27 in  () at /usr/lib/libQt5WebEngineCore.so.5
#10 0x00007f4d423976e4 in  () at /usr/lib/libQt5WebEngineCore.so.5
#11 0x00007f4d4239a568 in  () at /usr/lib/libQt5WebEngineCore.so.5
#12 0x00007f4d423cdb35 in  () at /usr/lib/libQt5WebEngineCore.so.5
#13 0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#14 0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f4d28842700 (LWP 14413)):
#0  0x00007f4d4b306415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f4d4fa6c5a0 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt5Core.so.5
#2  0x00007f4d4fa6c692 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#3  0x00007f4d512c243d in  () at /usr/lib/libdigikamcore.so.6.1.0
#4  0x00007f4d4fa66520 in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f4d2a254700 (LWP 14409)):
#0  0x00007f4d47216479 in g_mutex_lock () at /usr/lib/libglib-2.0.so.0
#1  0x00007f4d4726536c in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0
#2  0x00007f4d472659a6 in  () at /usr/lib/libglib-2.0.so.0
#3  0x00007f4d47265b51 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#4  0x00007f4d4fc8b9bc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f4d4fc325ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f4d4fa652f5 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#7  0x00007f4d4b473b37 in  () at /usr/lib/libQt5DBus.so.5
#8  0x00007f4d4fa66520 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f4d4b30057f in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f4d4f4890e3 in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f4d32b31040 (LWP 14404)):
#0  0x00007f4d4b306415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f4d4fa6c5a0 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt5Core.so.5
#2  0x00007f4d4fa6c692 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#3  0x00007f4d512c3d25 in Digikam::DynamicThread::wait(QMutexLocker&) () at /usr/lib/libdigikamcore.so.6.1.0
#4  0x00007f4d512c3da2 in Digikam::DynamicThread::shutDown() () at /usr/lib/libdigikamcore.so.6.1.0
#5  0x00007f4d51283369 in Digikam::ManagedLoadSaveThread::shutDown() () at /usr/lib/libdigikamcore.so.6.1.0
#6  0x00007f4d51291390 in Digikam::ThumbnailLoadThread::~ThumbnailLoadThread() () at /usr/lib/libdigikamcore.so.6.1.0
#7  0x00007f4d512914ba in  () at /usr/lib/libdigikamcore.so.6.1.0
#8  0x00007f4d4f3c9e70 in __run_exit_handlers () at /usr/lib/libc.so.6
#9  0x00007f4d4f3c9fae in  () at /usr/lib/libc.so.6
#10 0x00007f4d4f3b3eea in __libc_start_main () at /usr/lib/libc.so.6
#11 0x000055f4394ff47e in _start ()
[Inferior 1 (process 14404) detached]

Reported using DrKonqi
Comment 1 caulier.gilles 2019-12-02 03:58:35 UTC
Which kind of database type do you use ? Mysql or sqlte ?

Where are stored your database file ? On the NFS mount path, in local, or in a remote server ?
Comment 2 Maik Qualmann 2019-12-02 07:12:42 UTC
The crash at this point is not unknown. We used a CoreDbAccess here to synchronize the access. Meanwhile we use a QReadLocker. The crash should be fixed in a more recent digiKam version.

Maik
Comment 3 caulier.gilles 2019-12-02 07:23:28 UTC
Please check with official last stable 6.4.0 release:

https://www.digikam.org/download/

...or with current 7.0.0 pre release bundles available here :

https://files.kde.org/digikam/

Gilles Caulier
Comment 4 caulier.gilles 2020-07-14 09:41:27 UTC
Hi,

Can you check if this problem still exist with last weekly bundle build of digiKam 7.0.0 available here:

https://files.kde.org/digikam/

Thanks in advance

Gilles Caulier
Comment 5 caulier.gilles 2020-07-30 09:45:08 UTC
digiKam 7.0.0 stable release is now published:

https://www.digikam.org/news/2020-07-19-7.0.0_release_announcement/

We need a fresh feedback on this file using this version.

Thanks in advance

Gilles Caulier
Comment 6 Cengiz Gunay 2020-07-30 15:17:42 UTC
Hi, 

I tried to run the 7.0.0 stable from the 64-bit AppImage on the same system, but I'm getting this core dump:

$ ./digikam-7.0.0-x86-64_8da9c2c162c686a1161d2f7525ab3e3b.appimage 
-- digiKam Linux AppImage Bundle
-- Use 'help' as CLI argument to know all available options for digiKam application.
-- Notes: to integrate this bundle to your desktop, use AppImageLauncher.
--        to enable all debug messages on the console, use 'export QT_LOGGING_RULES="digikam*=true"'.
libudev.so.0 
libnss3.so 
-- Preloading shared libs: :/usr/lib64/libudev.so.0:/tmp/.mount_digikadKlQVY/usr/lib64/libnss3.so
unknown: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
unknown: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
unknown: Could not initialize GLX
/tmp/.mount_digikadKlQVY/AppRun: line 157: 896629 Aborted                 (core dumped) digikam $@

I'm not very familiar with AppImage so is there anything I can try?
Comment 7 caulier.gilles 2020-07-30 20:56:01 UTC
Try to start Appimage bundle with a preload a library like this :

LD_PRELOAD=/usr/lib64/libxcb-dri3.so.0 ./digikam-7.0.0-x86-64.appimage

Name and path to libxcb can change in different system.

Gilles Caulier
Comment 8 Cengiz Gunay 2020-07-30 23:37:06 UTC
(In reply to caulier.gilles from comment #1)
> Which kind of database type do you use ? Mysql or sqlte ?
> 
> Where are stored your database file ? On the NFS mount path, in local, or in
> a remote server ?

Sorry for not replying to this earlier. I didn't know how to look it up. It's a QSQLITE backend, but it's saved on a local drive, not the NFS drive.

(In reply to caulier.gilles from comment #7)
> Try to start Appimage bundle with a preload a library like this :
> 
> LD_PRELOAD=/usr/lib64/libxcb-dri3.so.0 ./digikam-7.0.0-x86-64.appimage
> 
> Name and path to libxcb can change in different system.
> 
> Gilles Caulier

This worked, and I can confirm that I'm no longer getting crashes in the 7.0.0 version while browsing the NFS folders. 

Actually, I tried to track the crash down by running the system-installed version of DigiKam, but apparently it's already upgraded to 6.4.0, which also doesn't exhibit any crashes. It's quite slow because it's constantly scanning the files (it's a large database), but still functions. Also tried ShowFoto 6.4.0 because I wasn't sure if the crash was from there, but it also works.
Comment 9 caulier.gilles 2020-07-31 01:29:05 UTC
Thanks for your feebacks. I close this file now.

Gilles Caulier
Comment 10 Cengiz Gunay 2020-07-31 01:39:21 UTC
You're welcome. Thanks for working on this nice tool!