darktable icon indicating copy to clipboard operation
darktable copied to clipboard

New directory import glitches on MacOS

Open iyesin opened this issue 3 months ago • 1 comments

Is there an existing issue for this?

  • [x] I checked and did not find my issue in the already reported ones

Describe the bug

Duplicated images appearing during and after import done with a command like /Applications/darktable.app/Contents/MacOS/darktable ~/Photos/2025/2025.10.05/nef/. The target directory contains several hundred uncompressed NEFs.

On the first import (before there were any .xmp-s generated), the output looks like

this
 /Applications/darktable.app/Contents/MacOS/darktable ~/Photos/2025/2025.10.05/nef/

(darktable:34158): Gtk-CRITICAL **: 02:20:16.125: gtk_window_add_accel_group: assertion 'GTK_IS_WINDOW (window)' failed

(darktable:34158): Gdk-CRITICAL **: 02:20:18.827: gdk_window_set_cursor: assertion 'GDK_IS_WINDOW (window)' failed
     3.6408 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 223
     5.3537 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 231
     5.4240 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 244
     5.5041 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 258
     6.5713 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 507
     6.6256 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 521
     6.8794 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 571
     7.8313 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 768
     7.9137 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 780
     8.2670 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 849
     8.6652 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 922
     8.9348 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 967
     9.0547 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 989
     9.4883 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 1072
    10.0271 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 1151
    10.3596 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 1205
    10.3730 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 1207
    10.5584 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 1225
    11.1419 [image_cache_write_release] from `(null)' sqlite3 error 19 (FOREIGN KEY constraint failed) for imgid 1337

On the consequential runs, the console log looks like

this
/Applications/darktable.app/Contents/MacOS/darktable ~/Photos/2025/2025.10.05/nef/
     0.0017 [dt starting]

(darktable:34306): Gtk-CRITICAL **: 02:20:35.514: gtk_window_add_accel_group: assertion 'GTK_IS_WINDOW (window)' failed

(darktable:34306): Gdk-CRITICAL **: 02:20:38.026: gdk_window_set_cursor: assertion 'GDK_IS_WINDOW (window)' failed
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5806, function dt_database_start_transaction(), query "BEGIN TRANSACTION": cannot start a transaction within a transaction
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5839, function dt_database_release_transaction(), query "COMMIT TRANSACTION": cannot commit - no transaction is active
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5806, function dt_database_start_transaction(), query "BEGIN TRANSACTION": cannot start a transaction within a transaction
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5839, function dt_database_release_transaction(), query "COMMIT TRANSACTION": cannot commit - no transaction is active
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5846, function dt_database_release_transaction(), query "RELEASE SAVEPOINT trx1": no such savepoint: trx1
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5846, function dt_database_release_transaction(), query "RELEASE SAVEPOINT trx1": no such savepoint: trx1
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5846, function dt_database_release_transaction(), query "RELEASE SAVEPOINT trx1": no such savepoint: trx1
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5806, function dt_database_start_transaction(), query "BEGIN TRANSACTION": not an error
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5839, function dt_database_release_transaction(), query "COMMIT TRANSACTION": cannot commit - no transaction is active
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5806, function dt_database_start_transaction(), query "BEGIN TRANSACTION": cannot start a transaction within a transaction
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5839, function dt_database_release_transaction(), query "COMMIT TRANSACTION": cannot commit - no transaction is active
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5846, function dt_database_release_transaction(), query "RELEASE SAVEPOINT trx1": no such savepoint: trx1
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5806, function dt_database_start_transaction(), query "BEGIN TRANSACTION": cannot start a transaction within a transaction
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5839, function dt_database_release_transaction(), query "COMMIT TRANSACTION": cannot commit - no transaction is active
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5806, function dt_database_start_transaction(), query "BEGIN TRANSACTION": cannot start a transaction within a transaction
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5839, function dt_database_release_transaction(), query "COMMIT TRANSACTION": cannot commit - no transaction is active
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5846, function dt_database_release_transaction(), query "RELEASE SAVEPOINT trx1": no such savepoint: trx1
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5806, function dt_database_start_transaction(), query "BEGIN TRANSACTION": cannot start a transaction within a transaction
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5839, function dt_database_release_transaction(), query "COMMIT TRANSACTION": cannot commit - no transaction is active
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5806, function dt_database_start_transaction(), query "BEGIN TRANSACTION": cannot start a transaction within a transaction
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5839, function dt_database_release_transaction(), query "COMMIT TRANSACTION": cannot commit - no transaction is active
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5846, function dt_database_release_transaction(), query "RELEASE SAVEPOINT trx1": no such savepoint: trx1
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5806, function dt_database_start_transaction(), query "BEGIN TRANSACTION": cannot start a transaction within a transaction
sqlite3 error: /Users/runner/work/darktable/darktable/src/src/common/database.c:5839, function dt_database_release_transaction(), query "COMMIT TRANSACTION": cannot commit - no transaction is active

In both occasions, the total amount of imported files is higher than the actual number of NEF files in the directory. In the cases above, instead of 1064 dt imported 1337 on the first attempt, and 1276 on second run.

Steps to reproduce

Use the attached script to reproduce. It depends on seq, xargs and ImageMagick utilities. Reproduced the issue even with 200 files.

run_test.sh

Expected behavior

Import files normally without duplicates

Logfile | Screenshot | Screencast

Image Image Image

Commit

No response

Where did you obtain darktable from?

darktable.org / GitHub release

darktable version

5.2.1

What OS are you using?

Mac

What is the version of your OS?

15.6.1 (24G90)

Describe your system

Model Name: MacBook Pro Model Identifier: Mac15,7 Model Number: Z1AK001DLB/A Chip: Apple M3 Pro Total Number of Cores: 12 (6 performance and 6 efficiency) Memory: 36 GB System Firmware Version: 11881.140.96 OS Loader Version: 11881.140.96

Are you using OpenCL GPU in darktable?

Yes

If yes, what is the GPU card and driver?

Apple M3 pro

Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip

No response

iyesin avatar Oct 07 '25 04:10 iyesin

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

github-actions[bot] avatar Dec 07 '25 00:12 github-actions[bot]