segmentation fault at high zoom level and the equalizer module
Working in the darkroom tab I get always a segmentation fault when the following two conditions are met:
- zoom level is at 400% or above,
- at least one instance of the equalizer module is active.
#1 Updated by Heiko Bauke about 1 year ago
I created a debug build and attached a debugger to darktable. The segmentation fault comes from the function weight_sse2 in the file atrours.c. The pointer argument c1 points to an invalid address, this means that the variable px, which is passed as c1 to the function weight_sse2, is invalid. The root cause for this issue is somewhat difficult to debug due to the many source manipulating macros.
#7 Updated by Pascal Obry about 1 year ago
Same issue in non SS2 path:
(gdb) bt #0 0x00007fffdc073f5c in weight (weight=<synthetic pointer>, sharpen=<optimized out>, c2=0x7fff71bee040, c1=0x7fff71bdfc70) at /home/obry/dev/builds/darktable/build/src/src/iop/atrous.c:168 #1 0x00007fffdc073f5c in eaw_decompose._omp_fn (out=<optimized out>, in=<optimized out>, detail=<optimized out>, scale=<optimized out>, sharpen=<optimized out>, width=<optimized out>, height=<optimized out>) at /home/obry/dev/builds/darktable/build/src/src/iop/atrous.c:420 #2 0x00007ffff792a73e in () at /usr/lib/x86_64-linux-gnu/libgomp.so.1 #3 0x00007ffff7acffa3 in start_thread (arg=<optimized out>) at pthread_create.c:486 #4 0x00007ffff7be288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
This may be easier to debug. It is in the same part of the code but for standard CPU path.