Bug 507182

Summary: Stops writing to images
Product: [Applications] digikam Reporter: jm7 <jm7>
Component: Database-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: REPORTED ---    
Severity: major CC: caulier.gilles, metzpinguin
Priority: NOR    
Version First Reported In: 8.8.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description jm7@acm.org 2025-07-18 02:50:34 UTC
SUMMARY
On changes to a large number of files the write to images often hangs.

STEPS TO REPRODUCE
1. Select about 50,000 files to change.  
2. Make a change to tags or flags to all images.
3. Wait - Eventually the update hangs.

OBSERVED RESULT
Disk access for Digikam drops to 0 and stays there.
Database is Locked.

From DebugView

[13752] Performance Counter v2 temp = 20.734068
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 15.382769
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 12.569241
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 11.816855
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 12.904633
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 13.113627
[13752] Performance Counter v2 temp = 10.868454
[13752] Performance Counter v2 temp = 13.949714
[13752] Performance Counter v2 temp = 11.155368
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 11.176977
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 15.175094
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 11.104283
[13752] Performance Counter v2 temp = 12.695813
[13752] Performance Counter v2 temp = 11.191173
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 16.973879
[13752] Performance Counter v2 temp = 19.092281
[13752] Performance Counter v2 temp = 18.293108
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 19.844017
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 19.927877
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] qt.sql.qsqldatabase: QSqlDatabasePrivate::removeDatabase: connection 'digikamDatabase-1841205819600' is still in use, all queries will cease to work.
[13752] Performance Counter v2 temp = 19.075489
[13752] Performance Counter v2 temp = 18.478268
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 18.406582
[13752] Performance Counter v2 temp = 18.193151
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] qt.sql.qsqldatabase: QSqlDatabasePrivate::removeDatabase: connection 'digikamDatabase-1840611760384' is still in use, all queries will cease to work.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 18.082479
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 18.660694
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 18.197622
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 15.426751
[13752] Performance Counter v2 temp = 10.910387
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 10.837228
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 10.684171
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 10.373199
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 10.526125
[13752] Performance Counter v2 temp = 14.631773
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 48.468849
[13752] Performance Counter v2 temp = 28.621426
[13752] Performance Counter v2 temp = 17.987837
[13752] Performance Counter v2 temp = 13.979918
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 11.510747
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 15.592215
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 11.654231
[13752] Performance Counter v2 temp = 10.871747
[13752] Performance Counter v2 temp = 11.167312
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 11.033707
[13752] Performance Counter v2 temp = 10.451384
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 10.264237
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 10.269580
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 10.647470
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 11.060568
[13752] Performance Counter v2 temp = 10.459787
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 10.172527
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 10.333244
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[13752] Performance Counter v2 temp = 11.380231
[13752] Performance Counter v2 temp = 10.790682
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.
[1272] qt.sql.qsqldatabase: QSqlDatabasePrivate::removeDatabase: connection 'digikamDatabase-1841514505680' is still in use, all queries will cease to work.
[13752] Performance Counter v2 temp = 10.467017
[1272] digikam.dbengine: Detected locked database file. There is an active transaction. Waited but giving up now.


Similar repeats forever.

Only fix is to reboot the computer.  The update to files has permanently hung.  

EXPECTED RESULT

No hangs. And since I have WAL mode set on the database, a recovery would be nice.


SOFTWARE/OS VERSIONS
Windows: 11 Home 24H2

Digikam:  

Build Date: 7/17/2025 5:01 PM
Build Target: RelWithDebInfo
Build Architecture: x86_64
Git Revision: 6c1...3306
Git Branch: master

ADDITIONAL INFORMATION
Comment 1 Maik Qualmann 2025-07-18 07:47:24 UTC
Has the log been edited? I'd like to see more. If just rebooting the computer helps, I'd see the error outside of digiKam. Check your hard drives.

Maik
Comment 2 caulier.gilles 2025-08-18 04:04:31 UTC
@jm7,

Do you seen the last message from Maik ?

Anyway, the digiKam 8.8.0 pre-release Windows installer is updated from Qt framework
6.8.3 to 6.9.0. I removed the NVIDIA drivers from this bundle. The
file is available at this place:

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

Please test give us a feedback to see if the dysfunction still reproducible.

Best regards

Gilles Caulier
Comment 3 caulier.gilles 2025-12-09 03:26:19 UTC
jm7@acm.org

Any feedback here ?

Gilles Caulier