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.81k stars 1.14k forks source link

ColorCalibration "stalls" my first out of two GPUs #15512

Closed AxelG-DE closed 1 year ago

AxelG-DE commented 1 year ago

Describe the bug

When using the eyedropper to pick a sample for ColorCalibration, the "working" toast does not disappear until I close the colorcalibration module.

GPU device 0 is running on 27% constantly (until module is getting closed)

Disabling opencl does not change anything

running darktable from commandline "-d all" shoots many lines, see below log...

@dterrahe I admit the bisect maybe make no sense to point to your commit, but this is the best I have at the moment, so I dare to ping you :-)

Bisect gave me (but I had to skip one, which didn't build):

git bisect good
135d5a62d99952a6b11bbb72f7cb635e107f2a7f is the first bad commit
commit 135d5a62d99952a6b11bbb72f7cb635e107f2a7f
Author: Diederik ter Rahe <dterrahe@yahoo.com>
Date:   Sat Oct 7 15:20:01 2023 -0400

    smoothly switch crop on/off

 data/darktableconfig.xml.in     |   2 +-
 src/common/focus.h              |   5 +-
 src/common/mipmap_cache.c       |   9 +-
 src/control/jobs/develop_jobs.c |  21 +-
 src/control/settings.h          |   2 +
 src/develop/develop.c           | 830 +++++++++++++---------------------------
 src/develop/develop.h           |  85 ++--
 src/develop/imageop.c           |  21 -
 src/develop/masks/brush.c       |   3 +-
 src/develop/masks/gradient.c    |   3 +-
 src/develop/masks/masks.c       |  16 +-
 src/develop/pixelpipe_hb.c      |  72 ++--
 src/develop/pixelpipe_hb.h      |  18 +-
 src/dtgtk/gradientslider.c      |   4 +-
 src/dtgtk/thumbnail.c           |  12 +-
 src/gui/color_picker_proxy.c    |   2 +-
 src/iop/ashift.c                | 130 +++----
 src/iop/basicadj.c              |  18 +-
 src/iop/channelmixerrgb.c       |  34 +-
 src/iop/clipping.c              |  72 ++--
 src/iop/crop.c                  |  43 +--
 src/iop/graduatednd.c           |  30 +-
 src/iop/iop_api.h               |   4 +-
 src/iop/liquify.c               |  30 +-
 src/iop/retouch.c               |   8 +-
 src/iop/rgblevels.c             |  16 +-
 src/iop/spots.c                 |   2 +-
 src/iop/toneequal.c             |  13 +-
 src/iop/vignette.c              |  11 +-
 src/libs/colorpicker.c          |   2 +-
 src/libs/duplicate.c            |  48 ++-
 src/libs/navigation.c           |  19 +-
 src/libs/snapshots.c            |  51 ++-
 src/views/darkroom.c            | 310 ++++++---------
 src/views/slideshow.c           |  28 +-
 src/views/view.c                |  87 +++--
 src/views/view.h                |  15 +-
 37 files changed, 811 insertions(+), 1265 deletions(-)

Steps to reproduce

  1. Go to color calibration
  2. pick the eye dropper and pick a sample (actuially it is enough to just trigger the eye dropper)
  3. see the "working" toast stay there and openCL or CPU load

Expected behavior

react crisp as before

Logfile | Screenshot | Screencast

dtbug_20231028.txt

Commit

135d5a62d99952a6b11bbb72f7cb635e107f2a7f

Where did you install darktable from?

darktable.org

darktable version

4.5.0-1014-g5f25f79812

What OS are you using?

Linux

What is the version of your OS?

Gentoo

Describe your system?

Are you using OpenCL GPU in darktable?

Yes

If yes, what is the GPU card and driver?

nvidia-drivers-535.113.01

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

see above

dterrahe commented 1 year ago

I admit the bisect maybe make no sense to point to your commit

Actually, a lot of fundamental changes were needed there, so it could well have broken color pickers. I'll have a look tomorrow.

jenshannoschwalm commented 1 year ago

Can reproduce, not depending on OpenCL at all.

pehar1 commented 1 year ago

Same here, happens with OpenCL enabled or disabled. Takes

also reproducible with Color balance RGB - 4 ways tab - hue picker

edit: found another (probably related) issue which happens for me with every image. To reproduce :

  1. open unedited image in darkroom (minimal history)
  2. zoom in to 100% ( ALT-1), then drag view area (highlighted) in navigation module clearely out of center
  3. see flickering message "working", continous high CPU and GPU load
  4. move the view area in navigation module back to the center
  5. message "working" disappears, CPU and GPU load low
AxelG-DE commented 1 year ago

and me has a shortcut with three instances of "defuse of sharpen" (DoS) and when I apply it, the main view suddenly flickers ones, which didn't happen previously. That also indicates me a high load to the system. Just cannot nail it down yet better in order to write a related issue...

(Today, Sunday 29th, I will be afk most of the time)

dterrahe commented 1 year ago

found another (probably related) issue which happens for me with every image. To reproduce

Might be "related" as in "caused by same commit" but could still be completely different cause. This one I haven't seen yet, so more specific steps to reproduce (possibly with RAW&XMP but also with exact screen layout, dpi setting etc; this could be a rounding error issue so number of pixels on screen could make a difference) would be helpful. Maybe a screenshot/video.

AxelG-DE commented 1 year ago

found another (probably related) issue which happens for me with every image. To reproduce

Might be "related" as in "caused by same commit" but could still be completely different cause. This one I haven't seen

For short I saw something similar. I middle clicked on the main view and GPU0 was holding 28% (but no infinite "working"...) So @pehar1 I hope you really could do a comprehensive bug report and I might(!) be able to reproduce it.