darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.76k stars 1.14k forks source link

EXIF refresh lead to unusable UI #16985

Open mrusme opened 4 months ago

mrusme commented 4 months ago

Describe the bug

I had to perform an EXIF refresh of my whole library. Ever since, the moment I make an adjustment to an image, the UI hangs for roughly a minute without response. This only happens for the very first change of the image. All consequent changes are applied instantly. I cannot see any GPU or CPU use during the hanging.

More often than not Darktable crashes during the period of hanging with one of the following outputs:

$ darktable
Gdk-Message: 10:26:22.250: Lost connection to Wayland compositor.
$ 
$ darktable
Gdk-Message: 10:46:16.140: Error 104 (Connection reset by peer) dispatching to 
Wayland display.
$ 

Steps to reproduce

Unsure if it can be reproduced, but here's what I did:

  1. Have a library of 4000 photos
  2. Mess up their datetime using the "Map" view, trying to adjust the timezone but mistakenly applying a fixed datetime to all images
  3. Go back to "Lightroom" and refresh the EXIF from the raw files, mode: overwrite, in order to get back the original datetime entries
  4. Edit any photo

Expected behavior

No response

Logfile | Screenshot | Screencast

No response

Commit

No response

Where did you obtain darktable from?

downloaded from www.darktable.org

darktable version

darktable 4.6.1

What OS are you using?

Linux

What is the version of your OS?

Gentoo

Describe your system?

AMD Ryzen 7 5800U with Radeon Graphics, ROCm installed, Wayland

equery u darktable
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for media-gfx/darktable-4.6.1:
 U I
 + + avif                     : Add AV1 Image Format (AVIF) support
 - - colord                   : Support color management using x11-misc/colord
 + + cpu_flags_x86_avx        : Adds support for Advanced Vector Extensions instructions
 + + cpu_flags_x86_sse3       : Use the SSE3 instruction set ([pni] in cpuinfo, NOT ssse3)
 - - cups                     : Add support for CUPS (Common Unix Printing System)
 - - doc                      : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
 - - gamepad                  : Support using game controllers as input devices
 + + geolocation              : Enable geotagging support
 + + gphoto2                  : Add digital camera support
 - - graphicsmagick           : Build and link against GraphicsMagick instead of ImageMagick (requires USE=imagemagick if optional)
 + + heif                     : Enable support for ISO/IEC 23008-12:2017 HEIF/HEIC image format
 - - jpeg2k                   : Support for JPEG 2000, a wavelet-based image compression format
 + + jpegxl                   : Add JPEG XL image support
 - - keyring                  : Enable support for freedesktop.org Secret Service API password store
 - - kwallet                  : Enable encrypted storage of passwords with kde-frameworks/kwallet
 - - l10n_cs                  : Czech
 - - l10n_de                  : German
 - - l10n_es                  : Spanish
 - - l10n_fi                  : Finnish
 - - l10n_fr                  : French
 - - l10n_hu                  : Hungarian
 - - l10n_it                  : Italian
 - - l10n_ja                  : Japanese
 - - l10n_nl                  : Dutch
 - - l10n_pl                  : Polish
 - - l10n_pt-BR               : Portuguese (Brazil)
 - - l10n_ru                  : Russian
 - - l10n_sl                  : Slovenian
 - - l10n_sq                  : Albanian
 - - l10n_tr                  : Turkish
 - - l10n_uk                  : Ukrainian
 - - l10n_zh-CN               : Chinese (China)
 - - l10n_zh-TW               : Chinese (Taiwan)
 - - lto                      : Enable link-time optimisations in the RawSpeed library
 + + lua                      : Enable Lua scripting support
 + + lua_single_target_lua5-4 : Build for Lua 5.4 only
 - - midi                     : Support using MIDI input devices such as Behringer X-Touch Mini, Arturia Beatstep or Korg nanoKONTROL2, as
                                input devices
 + + nls                      : Add Native Language Support (using gettext - GNU locale utilities)
 + + opencl                   : Enable OpenCL support (computation on GPU)
 + + openexr                  : Support for the OpenEXR graphics file format
 + + openmp                   : Build support for the OpenMP (support parallel computing), requires >=sys-devel/gcc-4.2 built with
                                USE="openmp"
 - - test                     : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but
                                can be toggled independently)
 + + tools                    : Install tools for generating base curves and noise profiles
 + + webp                     : Add support for the WebP image format

Are you using OpenCL GPU in darktable?

No

If yes, what is the GPU card and driver?

AMD, amdgpu

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

RAW files (Sony).

Compile options:
  Bit depth              -> 64 bit
  Debug                  -> DISABLED
  SSE2 optimizations     -> ENABLED
  OpenMP                 -> ENABLED
  OpenCL                 -> ENABLED
  Lua                    -> ENABLED  - API version 9.2.0
  Colord                 -> DISABLED
  gPhoto2                -> ENABLED
  GMIC                   -> DISABLED - Compressed LUTs are NOT supported
  GraphicsMagick         -> DISABLED
  ImageMagick            -> DISABLED
  libavif                -> ENABLED
  libheif                -> ENABLED
  libjxl                 -> ENABLED
  OpenJPEG               -> DISABLED
  OpenEXR                -> ENABLED
  WebP                   -> ENABLED
github-actions[bot] commented 2 months ago

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.