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.9k stars 1.15k forks source link

crash when using new crop module with retouch and blend by parametric masks #10422

Closed MStraeten closed 1 year ago

MStraeten commented 3 years ago

Describe the bug/issue when using retouch (using path and clone - havn't seen that in other constellations) with using later cropped areas darktable crashes. not in any case, but frequently

scenario: image: 20210530-IMG_0112.CR3 xmp: 20210530-IMG_0112_01.CR3.xmp.txt

if crop module is moved below retouch the issue is not reproducible

To Reproduce

  1. apply retouch in clone mode using drawn path
  2. crop so parts of the path are out of frame
  3. switch image - switch back (maybe after restart of darktable)
  4. if that doesn't result in an crash: reset pipeline order to default
  5. See error
  6. drag crop via ctrl-shift below retouch
  7. switch image and switch back - no crash expected
  8. reset pipeline order
  9. get crash

bt on win10:

Thread 1043 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 22904.0x34d0]
0x00007ff946e744c9 in msvcrt!memmove () from C:\WINDOWS\System32\msvcrt.dll
(gdb) bt
#0  0x00007ff946e744c9 in msvcrt!memmove ()
   from C:\WINDOWS\System32\msvcrt.dll
#1  0x00007ff8fe39c45b in _develop_blend_process_copy_region._omp_fn.0 ()
    at C:/msys64/home/SHM/darktable/src/develop/blend.c:358
#2  0x00007ff92e02de30 in ?? () from C:\msys64\mingw64\bin\libgomp-1.dll
#3  0x00007ff931604f33 in ?? () from C:\msys64\mingw64\bin\libwinpthread-1.dll
#4  0x00007ff946e3af5a in msvcrt!_beginthreadex ()
   from C:\WINDOWS\System32\msvcrt.dll
#5  0x00007ff946e3b02c in msvcrt!_endthreadex ()
   from C:\WINDOWS\System32\msvcrt.dll
#6  0x00007ff948b37034 in KERNEL32!BaseThreadInitThunk ()
   from C:\WINDOWS\System32\kernel32.dll
#7  0x00007ff948e22651 in ntdll!RtlUserThreadStart ()
   from C:\WINDOWS\SYSTEM32\ntdll.dll
#8  0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

issue is also reproducible on osx here the bt

lldb) bt
* thread #55, stop reason = EXC_BAD_ACCESS (code=1, address=0x196665a50)
  * frame #0: 0x00007ff80356f1c9 libsystem_platform.dylib`_platform_memmove$VARIANT$Haswell + 41
    frame #1: 0x000000010092f4ae libdarktable.dylib`.omp_outlined..30 at blend.c:358:5 [opt]
    frame #2: 0x000000010092f3e4 libdarktable.dylib`.omp_outlined..30(.global_tid.=<unavailable>, .bound_tid.=<unavailable>, oheight=<unavailable>, iwidth=<unavailable>, ioffset=<unavailable>, owidth=<unavailable>, output=0x00000001b2986000, input=0x000000018e59a000) at blend.c:351:1 [opt]
    frame #3: 0x00000001002dd573 libomp.dylib`__kmp_invoke_microtask + 147
    frame #4: 0x000000010029027f libomp.dylib`__kmp_invoke_task_func + 191
    frame #5: 0x000000010028f343 libomp.dylib`__kmp_launch_thread + 131
    frame #6: 0x00000001002cb080 libomp.dylib`__kmp_launch_worker(void*) + 304
    frame #7: 0x00007ff80355c514 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff80355802f libsystem_pthread.dylib`thread_start + 15
(lldb) up
libdarktable.dylib was compiled with optimization - stepping may behave oddly; variables may not be available.
frame #1: 0x000000010092f4ae libdarktable.dylib`.omp_outlined..30 at blend.c:358:5 [opt]
   355    {
   356      const size_t iindex = y * iwidth + ioffset;
   357      const size_t oindex = y * owidth;
-> 358      memcpy(output + oindex, input + iindex, sizeof(float) * owidth);
   359    }
   360
   361    return output;
(lldb)
frame #2: 0x000000010092f3e4 libdarktable.dylib`.omp_outlined..30(.global_tid.=<unavailable>, .bound_tid.=<unavailable>, oheight=<unavailable>, iwidth=<unavailable>, ioffset=<unavailable>, owidth=<unavailable>, output=0x00000001b2986000, input=0x000000018e59a000) at blend.c:351:1 [opt]
   348    }
   349
   350  #ifdef _OPENMP
-> 351  #pragma omp parallel for default(none) \
   352          dt_omp_firstprivate(input, output, iwidth, ioffset, owidth, oheight)
   353  #endif
   354    for(size_t y = 0; y < oheight; y++)
(lldb)
frame #3: 0x00000001002dd573 libomp.dylib`__kmp_invoke_microtask + 147
libomp.dylib`__kmp_invoke_microtask:
->  0x1002dd573 <+147>: movq   $0x1, %rax
    0x1002dd57a <+154>: movq   -0x8(%rbp), %rbx
    0x1002dd57e <+158>: movq   %rbp, %rsp
    0x1002dd581 <+161>: popq   %rbp

Platform

rekcodocker commented 3 years ago

I somewhat recognize this; when I work with retouch and the source area is cropped, it does not work nice, showing sharp edges.
I fix this by changing the module order. To me the default module order is not logical; why should you not be able to use the entire image as source when retouching?
Your crash is probably related as it (1) reads 'blend process copy region' and (2) is solved when you swap Crop and Retouch.

MStraeten commented 3 years ago

your workaround is exactly as i described my workaround. But moving crop below retouch is just a more the less working solution since you cant copy from an already cropped source ;) The intention of the default pixelpipe order is exactly to support this and other corrections better done on the source image. With default order retouch is finished before the resulting image is cropped. Keep in mind it‘s not the sequence you are editing the image, it’s the pixel pipe order that’s relevant.

jenshannoschwalm commented 2 years ago

Have you tried without omp?

MStraeten commented 2 years ago

crashes also after removing the omp stuff from blend.c:

Process 57552 stopped
* thread #12, name = 'worker res 1', stop reason = EXC_BAD_ACCESS (code=1, address=0x13117b000)
    frame #0: 0x00007ff80e800311 libsystem_platform.dylib`_platform_memmove$VARIANT$Haswell + 369
libsystem_platform.dylib`_platform_memmove$VARIANT$Haswell:
->  0x7ff80e800311 <+369>: vmovaps 0x20(%rsi), %ymm2
    0x7ff80e800316 <+374>: addq   $0x40, %rsi
    0x7ff80e80031a <+378>: subq   $0x40, %rdx
    0x7ff80e80031e <+382>: ja     0x7ff80e800300            ; <+352>
Target 0: (darktable) stopped.
(lldb) up
libdarktable.dylib was compiled with optimization - stepping may behave oddly; variables may not be available.
frame #1: 0x00000001008a45c6 libdarktable.dylib`dt_develop_blend_process at blend.c:358:5 [opt]
   355    {
   356      const size_t iindex = y * iwidth + ioffset;
   357      const size_t oindex = y * owidth;
-> 358      memcpy(output + oindex, input + iindex, sizeof(float) * owidth);
   359    }
   360
   361    return output;
(lldb) bt
* thread #12, name = 'worker res 1', stop reason = EXC_BAD_ACCESS (code=1, address=0x13117b000)
    frame #0: 0x00007ff80e800311 libsystem_platform.dylib`_platform_memmove$VARIANT$Haswell + 369
  * frame #1: 0x00000001008a45c6 libdarktable.dylib`dt_develop_blend_process at blend.c:358:5 [opt]
    frame #2: 0x00000001008a4557 libdarktable.dylib`dt_develop_blend_process(self=<unavailable>, piece=<unavailable>, ivoid=<unavailable>, ovoid=<unavailable>, roi_in=<unavailable>, roi_out=<unavailable>) at blend.c:592:19 [opt]
    frame #3: 0x0000000100926b30 libdarktable.dylib`pixelpipe_process_on_CPU(pipe=<unavailable>, dev=0x000000010a0d0c00, input=<unavailable>, input_format=0x000000010a0d4a00, roi_in=0x0000700004b0d9e0, output=<unavailable>, out_format=0x0000700004b0ec40, roi_out=0x0000700004b0dda0, module=0x0000000109704200, piece=0x000000010d609000, tiling=0x0000700004b0d940, pixelpipe_flow=0x0000700004b0da0c) at pixelpipe_hb.c:1050:3 [opt]
    frame #4: 0x0000000100925883 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=<unavailable>, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=<unavailable>, out_format=0x0000700004b0ec40, roi_out=<unavailable>, modules=0x000000012810ef00, pieces=0x00000001281068c0, pos=21) at pixelpipe_hb.c:1827:15 [opt]
    frame #5: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b0ecc0, out_format=0x0000700004b0ec40, roi_out=<unavailable>, modules=0x000000012810b800, pieces=0x0000000128106880, pos=22) at pixelpipe_hb.c:1093:14 [opt]
    frame #6: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b0ecc0, out_format=0x0000700004b0ec40, roi_out=<unavailable>, modules=0x000000012810bd20, pieces=0x0000000128106860, pos=23) at pixelpipe_hb.c:1093:14 [opt]
    frame #7: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b0ecc0, out_format=0x0000700004b0ec40, roi_out=<unavailable>, modules=0x000000012810df80, pieces=0x0000000128107460, pos=24) at pixelpipe_hb.c:1093:14 [opt]
    frame #8: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=0x0000700004b0ec80, cl_mem_output=0x0000700004b0ecc0, out_format=0x0000700004b0ec40, roi_out=<unavailable>, modules=0x0000000109b0ecc0, pieces=0x0000000128107480, pos=25) at pixelpipe_hb.c:1093:14 [opt]
    frame #9: 0x0000000100923073 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=<unavailable>, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b0fbc0, out_format=0x0000700004b0fb40, roi_out=<unavailable>, modules=0x0000000128110780, pieces=0x0000000128107520, pos=26) at pixelpipe_hb.c:1221:8 [opt]
    frame #10: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b0fbc0, out_format=0x0000700004b0fb40, roi_out=<unavailable>, modules=0x000000012810d860, pieces=0x0000000128107500, pos=27) at pixelpipe_hb.c:1093:14 [opt]
    frame #11: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b0fbc0, out_format=0x0000700004b0fb40, roi_out=<unavailable>, modules=0x000000012810b540, pieces=0x00000001281074e0, pos=28) at pixelpipe_hb.c:1093:14 [opt]
    frame #12: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=0x0000700004b0fb80, cl_mem_output=0x0000700004b0fbc0, out_format=0x0000700004b0fb40, roi_out=<unavailable>, modules=0x000000012810dda0, pieces=0x00000001281074c0, pos=29) at pixelpipe_hb.c:1093:14 [opt]
    frame #13: 0x0000000100923073 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=<unavailable>, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810dfa0, pieces=0x00000001281074a0, pos=30) at pixelpipe_hb.c:1221:8 [opt]
    frame #14: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810b8e0, pieces=0x0000000128107960, pos=31) at pixelpipe_hb.c:1093:14 [opt]
    frame #15: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810bd00, pieces=0x0000000128107c40, pos=32) at pixelpipe_hb.c:1093:14 [opt]
    frame #16: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000127c5fb80, pieces=0x0000000128107c80, pos=33) at pixelpipe_hb.c:1093:14 [opt]
    frame #17: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810ee40, pieces=0x0000000128107160, pos=34) at pixelpipe_hb.c:1093:14 [opt]
    frame #18: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810ee80, pieces=0x0000000128107120, pos=35) at pixelpipe_hb.c:1093:14 [opt]
    frame #19: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810bc00, pieces=0x0000000128108040, pos=36) at pixelpipe_hb.c:1093:14 [opt]
    frame #20: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810f340, pieces=0x0000000128108020, pos=37) at pixelpipe_hb.c:1093:14 [opt]
    frame #21: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000128109d80, pieces=0x0000000128108000, pos=38) at pixelpipe_hb.c:1093:14 [opt]
    frame #22: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000128110a00, pieces=0x00000001281069a0, pos=39) at pixelpipe_hb.c:1093:14 [opt]
    frame #23: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810bd60, pieces=0x0000000128106980, pos=40) at pixelpipe_hb.c:1093:14 [opt]
    frame #24: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x00000001281103a0, pieces=0x0000000128106960, pos=41) at pixelpipe_hb.c:1093:14 [opt]
    frame #25: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810a120, pieces=0x0000000128106940, pos=42) at pixelpipe_hb.c:1093:14 [opt]
    frame #26: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000128110a40, pieces=0x0000000128108440, pos=43) at pixelpipe_hb.c:1093:14 [opt]
    frame #27: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810bd40, pieces=0x0000000128108480, pos=44) at pixelpipe_hb.c:1093:14 [opt]
    frame #28: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109b14aa0, pieces=0x0000000128108460, pos=45) at pixelpipe_hb.c:1093:14 [opt]
    frame #29: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000128109560, pieces=0x0000000128107440, pos=46) at pixelpipe_hb.c:1093:14 [opt]
    frame #30: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x00000001281112c0, pieces=0x0000000128107420, pos=47) at pixelpipe_hb.c:1093:14 [opt]
    frame #31: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000127c81820, pieces=0x0000000128107400, pos=48) at pixelpipe_hb.c:1093:14 [opt]
    frame #32: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000127c81120, pieces=0x0000000128107c00, pos=49) at pixelpipe_hb.c:1093:14 [opt]
    frame #33: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810b560, pieces=0x00000001281079a0, pos=50) at pixelpipe_hb.c:1093:14 [opt]
    frame #34: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000127c5fb40, pieces=0x0000000128107980, pos=51) at pixelpipe_hb.c:1093:14 [opt]
    frame #35: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000127c23960, pieces=0x0000000109ab8220, pos=52) at pixelpipe_hb.c:1093:14 [opt]
    frame #36: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109b09d80, pieces=0x0000000109ab73a0, pos=53) at pixelpipe_hb.c:1093:14 [opt]
    frame #37: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000128109840, pieces=0x0000000128104aa0, pos=54) at pixelpipe_hb.c:1093:14 [opt]
    frame #38: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109b15600, pieces=0x0000000128104a20, pos=55) at pixelpipe_hb.c:1093:14 [opt]
    frame #39: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109b09d60, pieces=0x0000000128104a60, pos=56) at pixelpipe_hb.c:1093:14 [opt]
    frame #40: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810b900, pieces=0x0000000128104a00, pos=57) at pixelpipe_hb.c:1093:14 [opt]
    frame #41: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109abbc80, pieces=0x0000000128104b60, pos=58) at pixelpipe_hb.c:1093:14 [opt]
    frame #42: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000127c81d00, pieces=0x0000000128104ba0, pos=59) at pixelpipe_hb.c:1093:14 [opt]
    frame #43: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000127c5fb20, pieces=0x0000000128104e20, pos=60) at pixelpipe_hb.c:1093:14 [opt]
    frame #44: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000115daa720, pieces=0x0000000128106100, pos=61) at pixelpipe_hb.c:1093:14 [opt]
    frame #45: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x000000012810a820, pieces=0x0000000128106540, pos=62) at pixelpipe_hb.c:1093:14 [opt]
    frame #46: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109b0a160, pieces=0x0000000128106440, pos=63) at pixelpipe_hb.c:1093:14 [opt]
    frame #47: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109abec80, pieces=0x0000000128104e60, pos=64) at pixelpipe_hb.c:1093:14 [opt]
    frame #48: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000114eb3200, pieces=0x0000000128104e80, pos=65) at pixelpipe_hb.c:1093:14 [opt]
    frame #49: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109abc420, pieces=0x0000000128104ea0, pos=66) at pixelpipe_hb.c:1093:14 [opt]
    frame #50: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109b14260, pieces=0x0000000128106800, pos=67) at pixelpipe_hb.c:1093:14 [opt]
    frame #51: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109abf0c0, pieces=0x0000000114efe640, pos=68) at pixelpipe_hb.c:1093:14 [opt]
    frame #52: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000128108d00, pieces=0x0000000114efe480, pos=69) at pixelpipe_hb.c:1093:14 [opt]
    frame #53: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000128108ce0, pieces=0x0000000114efe3a0, pos=70) at pixelpipe_hb.c:1093:14 [opt]
    frame #54: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000128108cc0, pieces=0x0000000114efe280, pos=71) at pixelpipe_hb.c:1093:14 [opt]
    frame #55: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x00000001281094c0, pieces=0x0000000114eff300, pos=72) at pixelpipe_hb.c:1093:14 [opt]
    frame #56: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x00000001281094a0, pieces=0x0000000114eff2e0, pos=73) at pixelpipe_hb.c:1093:14 [opt]
    frame #57: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000128109480, pieces=0x0000000114eff2c0, pos=74) at pixelpipe_hb.c:1093:14 [opt]
    frame #58: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000114efef60, pieces=0x0000000127987e40, pos=75) at pixelpipe_hb.c:1093:14 [opt]
    frame #59: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=0x0000700004b1abc0, cl_mem_output=0x0000700004b1ac00, out_format=0x0000700004b1ab80, roi_out=<unavailable>, modules=0x0000000109ab9e60, pieces=0x0000000127989c20, pos=76) at pixelpipe_hb.c:1093:14 [opt]
    frame #60: 0x0000000100923073 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=<unavailable>, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ca00, out_format=0x0000700004b1c980, roi_out=<unavailable>, modules=0x0000000109ab9260, pieces=0x0000000109c431a0, pos=77) at pixelpipe_hb.c:1221:8 [opt]
    frame #61: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ca00, out_format=0x0000700004b1c980, roi_out=<unavailable>, modules=0x0000000109ab9280, pieces=0x0000000109c434c0, pos=78) at pixelpipe_hb.c:1093:14 [opt]
    frame #62: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ca00, out_format=0x0000700004b1c980, roi_out=<unavailable>, modules=0x0000000114effc20, pieces=0x0000000109c43920, pos=79) at pixelpipe_hb.c:1093:14 [opt]
    frame #63: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ca00, out_format=0x0000700004b1c980, roi_out=<unavailable>, modules=0x0000000109b2f180, pieces=0x0000000127989c80, pos=80) at pixelpipe_hb.c:1093:14 [opt]
    frame #64: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ca00, out_format=0x0000700004b1c980, roi_out=<unavailable>, modules=0x0000000114efec00, pieces=0x0000000127987e80, pos=81) at pixelpipe_hb.c:1093:14 [opt]
    frame #65: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ca00, out_format=0x0000700004b1c980, roi_out=<unavailable>, modules=0x0000000109ab6700, pieces=0x0000000127989d60, pos=82) at pixelpipe_hb.c:1093:14 [opt]
    frame #66: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1ca00, out_format=0x0000700004b1c980, roi_out=<unavailable>, modules=0x0000000128106140, pieces=0x0000000127985da0, pos=83) at pixelpipe_hb.c:1093:14 [opt]
    frame #67: 0x0000000100922a21 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=0x0000700004b1c9c0, cl_mem_output=0x0000700004b1ca00, out_format=0x0000700004b1c980, roi_out=<unavailable>, modules=0x0000000128106160, pieces=0x0000000127989f00, pos=84) at pixelpipe_hb.c:1093:14 [opt]
    frame #68: 0x0000000100923073 libdarktable.dylib`dt_dev_pixelpipe_process_rec(pipe=<unavailable>, dev=0x000000010a0d0c00, output=<unavailable>, cl_mem_output=0x0000700004b1cd10, out_format=0x0000700004b1ccf0, roi_out=<unavailable>, modules=0x0000000128106cc0, pieces=0x0000000109b12ba0, pos=85) at pixelpipe_hb.c:1221:8 [opt]
    frame #69: 0x00000001009212d6 libdarktable.dylib`dt_dev_pixelpipe_process [inlined] dt_dev_pixelpipe_process_rec_and_backcopy(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, output=0x0000700004b1cd00, cl_mem_output=0x0000700004b1cd10, out_format=0x0000700004b1ccf0, roi_out=0x0000700004b1cd28, modules=0x0000000128106cc0, pieces=0x0000000109b12ba0, pos=85) at pixelpipe_hb.c:2139:13 [opt]
    frame #70: 0x0000000100921290 libdarktable.dylib`dt_dev_pixelpipe_process(pipe=0x000000010a0d7800, dev=0x000000010a0d0c00, x=<unavailable>, y=<unavailable>, width=389, height=303, scale=6.81177229E-33) at pixelpipe_hb.c:2227:5 [opt]
    frame #71: 0x00000001008cf7b1 libdarktable.dylib`dt_dev_process_preview_job(dev=0x000000010a0d0c00) at develop.c:326:6 [opt]
    frame #72: 0x00000001008a0ea1 libdarktable.dylib`dt_dev_process_preview_job_run(job=<unavailable>) at develop_jobs.c:25:3 [opt]
    frame #73: 0x000000010089a254 libdarktable.dylib`dt_control_work_res [inlined] dt_control_run_job_res(control=<unavailable>, res=<unavailable>) at jobs.c:215:19 [opt]
    frame #74: 0x000000010089a118 libdarktable.dylib`dt_control_work_res(ptr=<unavailable>) at jobs.c:519:8 [opt]
    frame #75: 0x00007ff80e7ed514 libsystem_pthread.dylib`_pthread_start + 125
    frame #76: 0x00007ff80e7e902f libsystem_pthread.dylib`thread_start + 15
(lldb)
jenshannoschwalm commented 2 years ago

Hi, could not reproduce here on any of my images. Maybe i misunderstand your "how to reproduce" steps because i am not familiar with retouch module at all.

I tried to download the raw file resulting in a non-loadable mp4 file ???

MStraeten commented 2 years ago

That should be a cr3 file. I‘ll try to find an cr2 file, where this is also reproducible. Unfortunately it’s not reproducible in any constellation

MStraeten commented 2 years ago

here a cr2 file where it is reproducible.20210509-IMG_1290.CR2 20210509-IMG_1290.CR2.xmp.txt It’s reproducible with this xmp for all my landscape oriented files from both cameras, but not with each drawn path.

jenshannoschwalm commented 2 years ago

Ok downloaded files, crash reproduced on Linux and DT master.

Will have a deeper look later ...

github-actions[bot] commented 2 years ago

This issue did not get any activity in the past 60 days and will be closed in 365 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

MStraeten commented 2 years ago

keeps being reproducible with darktable 4.1.0+1033~g688a4ae04

MStraeten commented 1 year ago

issue remains reproducible with darktable 4.2

jenshannoschwalm commented 1 year ago

@MStraeten i understand now what's happening, not yet how to solve :-(

github-actions[bot] commented 1 year 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.