Segfault when sliding Alpha=0
Version: 5.3-91-gf6faccc7
Branch: hdr_tonemap_fattal
Commit: f6faccc7
Commit date: 2017-11-04
Compiler: cc 4.9.3
Processor: Intel(R)\ Core(TM)\ m3-6Y30\ CPU\ @\ 0.90GHz
System: Linux
Bit depth: 64 bits
Gtkmm: V3.22.1
Lensfun: V0.3.2.0
Build type: debug
Build flags: -std=c++11 -march=native -Werror=unused-label -fopenmp -Werror=unknown-pragmas -Wall -Wno-unused-result -Wno-deprecated-declarations -g
Link flags: -march=native
OpenMP support: ON
MMAP support: ON
Thread 1121 "rawtherapee" received signal SIGSEGV, Segmentation fault.
[Switching to LWP 12576]
0x0000555555ffdc19 in LUT<float>::operator[]<float, void> (this=0x55555d63b220, index=-nan(0x400000)) at /home/morgan/programs/code-rawtherapee/rtengine/LUT.h:468
468 T p1 = data[idx];
(gdb) bt full
#0 0x0000555555ffdc19 in LUT<float>::operator[]<float, void> (this=0x55555d63b220, index=-nan(0x400000)) at /home/morgan/programs/code-rawtherapee/rtengine/LUT.h:468
idx = -2147483648
diff = -nan(0x400000)
p1 = -nan(0x400000)
p2 = -nan(0x400000)
#1 0x000055555609e49e in rtengine::ImProcFunctions::rgbProc () at /home/morgan/programs/code-rawtherapee/rtengine/improcfun.cc:3578
g = -nan(0x400000)
Y = -nan(0x400000)
r = -nan(0x400000)
b = -nan(0x400000)
tonefactor = 0
j = 112
tj = 0
i = 0
ti = 0
ii = 0
jj = 112
buffer = 0x7fff7c0084c0 ""
editWhateverBuffer = 0x0
jstart = 112
tH = 112
editIFloatTmpR = 0x0
editIFloatTmpB = 0x0
out_rgbx = {1.69811761, 1.65500724, 1.66598117, 1.72227716, 1.71218991, 1.7042861, 1.68782151, 1.67176569, 1.70885777, 1.70455623, 1.73557508, 1.73884916, 1.66123128, 1.66245317, 1.69122958, 1.74802208, 1.74859214, 1.71365416, 1.65701699, 1.72878027,
1.71092236, 1.67371929, 1.63422537, 1.63000703, 1.62413406, 1.60375535, 1.61610544, 1.63786685, 1.65311563, 1.7084136, 1.71031916, 1.71244943, 1.71164596, 1.71404362, 1.78210413, 1.81420898, 1.84129584, 1.85037589, 1.80799985, 1.81015337, 1.82542086,
1.86591661, 1.86641669, 1.86127043, 0, 0, 0, 0, 0, 0, -1.21527842e+30, 4.59163468e-41, 0, 0, -nan(0x7ffff8), -nan(0x7fffff), -1.04884077e+30, 4.59163468e-41, 3448.41016, 4.59163468e-41, -1.04909857e+30, 4.59163468e-41, -1.21540899e+30, 4.59163468e-41, 0,
2.3509887e-38, 0, 0, -1.04900911e+30, 4.59163468e-41, 3.88159675e-43, 0, 1.37467379e-42, 0 <repeats 13 times>, -1.03797113e+34, 4.59163468e-41, 3448.40625, 4.59163468e-41, 1.89175293e-43, 0, -1.03769878e+34, 4.59163468e-41, 3448.37891, 4.59163468e-41,
3448.40625, 4.59163468e-41, -8.446433e+29, 4.59163468e-41, 3448.41016, 4.59163468e-41, -1.21532466e+30, 4.59163468e-41, -nan(0x7fffe8), -nan(0x7fffff), 1.40129846e-45, 0, 1.46544284e+13, 3.0611365e-41, -1.03805927e+34, 4.59163468e-41, 1.46544955e+13,
3.0611365e-41, 1.40129846e-44, 0, 1.93379188e-43, 0, 4.20389539e-45, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.04709659e+30, 4.59163468e-41, -1.04494433e+30, 4.59163468e-41, -1.04769864e+30, 4.59163468e-41, 3448.75781, 4.59163468e-41, 3448.67773, 4.59163468e-41,
-1.21570208e+30, 4.59163468e-41, -1.04494433e+30, 4.59163468e-41, 3448.41602, 4.59163468e-41, 0, 0, -1.04492778e+30, 4.59163468e-41, -1.04909857e+30, 4.59163468e-41, -1.04909986e+30, 4.59163468e-41, 3448.46875, 4.59163468e-41, 3448.63672, 4.59163468e-41,
3.57331108e-43, 0, -1.04909857e+30, 4.59163468e-41, 1.40129846e-45, 0, 3448.75781, 4.59163468e-41, 3448.75781, 4.59163468e-41, -1.04769864e+30, 4.59163468e-41, 3448.44531, 4.59163468e-41, -7.67552972e+29, 4.59163468e-41, 0, 0, 3450, 4.59163468e-41,
3448.46484, 4.59163468e-41, -1.04770566e+30, 4.59163468e-41, -nan(0x7ffff8), -nan(0x7fffff), 3448.63672, 4.59163468e-41, 0 <repeats 40 times>, -nan(0x7ffff0), -nan(0x7fffff), -1.46099517e+32, 4.59163468e-41, 3.50136727e+24, 4.59163468e-41, 3.50129348e+24,
4.59163468e-41, 3.50140416e+24...}
editIFloatBuffer = 0x0
rtemp = 0x7fff7c0084c0
btemp = 0x7fff7c020fc0
istart = 0
editIFloatTmpG = 0x0
data = 0x7fff7c0084c0 ""
gtemp = 0x7fff7c0149c0
editWhateverTmp = 0x0
tW = 224
histToneCurveThr = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 254, maxsf = 254, data = 0x7fff7c004b90, clip = 268435455, size = 256, upperBound = 255, owner = 1, maxsv = {254, 254, 254, 254}, sizev = {255, 255, 255, 255}, sizeiv = {1095216660735,
1095216660735}, dirty = true}
working = 0x7fff68002170
lab = 0x7fff90010e50
hltonecurve = @0x55555d63b1c0: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 65534, maxsf = 65534, data = 0x55555d12e9b0, clip = 1, size = 65536, upperBound = 65535, owner = 1, maxsv = {65534, 65534, 65534, 65534}, sizev = {65535, 65535, 65535, 65535},
sizeiv = {281470681808895, 281470681808895}, dirty = true}
shtonecurve = @0x55555d63b220: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 65534, maxsf = 65534, data = 0x55555d6c6000, clip = 2, size = 65536, upperBound = 65535, owner = 1, maxsv = {65534, 65534, 65534, 65534}, sizev = {65535, 65535, 65535, 65535},
sizeiv = {281470681808895, 281470681808895}, dirty = true}
tonecurve = @0x55555d63b280: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 65534, maxsf = 65534, data = 0x55555d706010, clip = 0, size = 65536, upperBound = 65535, owner = 1, maxsv = {65534, 65534, 65534, 65534}, sizev = {65535, 65535, 65535, 65535},
sizeiv = {281470681808895, 281470681808895}, dirty = true}
shmap = 0x0
sat = 0
rCurve = @0x55555d63c1c0: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}
gCurve = @0x55555d63c220: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}
bCurve = @0x55555d63c280: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}
satLimit = 0.300000012
satLimitOpacity = 0.99000001
ctColorCurve = @0x55555d63c3c0: {_vptr.ColorGradientCurve = 0x5555569b63f0 <vtable for rtengine::ColorGradientCurve+16>, lut1 = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1,
maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}, lut2 = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0},
sizeiv = {0, 0}, dirty = true}, lut3 = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}, low = 0,
high = 0}
---Type <return> to continue, or q <return> to quit---
ctOpacityCurve = @0x55555d63c500: {_vptr.OpacityCurve = 0x5555569b6410 <vtable for rtengine::OpacityCurve+16>, lutOpacityCurve = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1,
maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}}
opautili = false
clToningcurve = @0x55555d63b620: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 65534, maxsf = 65534, data = 0x55555d8c6080, clip = 0, size = 65536, upperBound = 65535, owner = 1, maxsv = {65534, 65534, 65534, 65534}, sizev = {65535, 65535, 65535,
65535}, sizeiv = {281470681808895, 281470681808895}, dirty = true}
cl2Toningcurve = @0x55555d63b680: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 65534, maxsf = 65534, data = 0x55555d906090, clip = 0, size = 65536, upperBound = 65535, owner = 1, maxsv = {65534, 65534, 65534, 65534}, sizev = {65535, 65535, 65535,
65535}, sizeiv = {281470681808895, 281470681808895}, dirty = true}
customToneCurve1 = @0x55555d63c2e0: {_vptr.ToneCurve = 0x5555569b3d10 <vtable for rtengine::ToneCurve+16>, lutToneCurve = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 65534, maxsf = 65534, data = 0x7fff6839ea70, clip = 268435455, size = 65536,
upperBound = 65535, owner = 1, maxsv = {65534, 65534, 65534, 65534}, sizev = {65535, 65535, 65535, 65535}, sizeiv = {281470681808895, 281470681808895}, dirty = true}}
customToneCurve2 = @0x55555d63c350: {_vptr.ToneCurve = 0x5555569b3d10 <vtable for rtengine::ToneCurve+16>, lutToneCurve = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0,
0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}}
customToneCurvebw1 = @0x55555d63cae0: {_vptr.ToneCurve = 0x5555569b3d10 <vtable for rtengine::ToneCurve+16>, lutToneCurve = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {
0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}}
dcpProf = 0x7fff8c003630
asIn = @0x7fff43d75330: {data = std::unique_ptr<rtengine::DCPProfile::ApplyState::Data> containing 0x7fff680029b0}
histToneCurve = @0x55555d63bce0: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 254, maxsf = 254, data = 0x55555d16f5f0, clip = 268435455, size = 256, upperBound = 255, owner = 1, maxsv = {254, 254, 254, 254}, sizev = {255, 255, 255, 255}, sizeiv = {
1095216660735, 1095216660735}, dirty = true}
this = 0x55555d63b0a0
tmpImage = 0x0
editImgFloat = 0x0
editWhatever = 0x0
editID = EUID_None
h_th = 0
s_th = 0
processSH = false
processLCE = false
lceamount = 0
wprof = 0x555556518ec0 <_ZL12xyz_prophoto>
wiprof = 0x555556518f40 <_ZL12prophoto_xyz>
toxyz = {{0.827291906, 0.140211254, 0.0325175263}, {0.288040191, 0.711874127, 8.56999977e-05}, {0, 0, 1.00037587}}
equalR = 2.47144032
equalG = 1
equalB = 8306.58301
wip = {{1.3459433000000001, -0.25560749999999999, -0.051111799999999999}, {-0.5445989, 1.5081673, 0.020535100000000001}, {0, 0, 1.2118127999999999}}
wp = {{0.79767489999999996, 0.1351917, 0.031353399999999997}, {0.28804020000000002, 0.71187409999999995, 8.5699999999999996e-05}, {0, 0, 0.82521}}
mixchannels = false
hCurve = 0x0
sCurve = 0x0
vCurve = 0x0
bwlCurve = 0x0
hCurveEnabled = false
sCurveEnabled = false
vCurveEnabled = false
bwlCurveEnabled = false
hald_clut = std::shared_ptr (empty) 0x0
clutAndWorkingProfilesAreSame = false
xyz2clut = 0x0
clut2xyz = 0x0
v_work2xyz = {{{430.553223, 4.59163468e-41, 430.553345, 4.59163468e-41}, {430.554199, 4.59163468e-41, 430.553833, 4.59163468e-41}, {430.553711, 4.59163468e-41, -7.43635371e-22, -3.32914326e-33}}, {{430.554199, 4.59163468e-41, 3.51708077e+13, 3.0611365e-41}, {
5.3314895e+24, 4.59163468e-41, 5.3314872e+24, 4.59163468e-41}, {430.556152, 1, 430.557617, 4.59163468e-41}}, {{430.556641, 4.59163468e-41, -7.43635371e-22, -3.32914326e-33}, {430.556641, 4.59163468e-41, 430.556763, 4.59163468e-41}, {430.557617,
4.59163468e-41, 430.557251, 4.59163468e-41}}}
v_xyz2clut = {{{430.557129, 4.59163468e-41, -7.43635371e-22, -3.32914326e-33}, {430.557617, 4.59163468e-41, 3.51708077e+13, 3.0611365e-41}, {5.32133457e+24, 4.59163468e-41, 2.58358787e+13, 3.0611365e-41}}, {{430.55957, 1, 2.43257675e+24, 4.59163468e-41}, {
2.42685826e+24, 4.59163468e-41, 2.42567767e+24, 4.59163468e-41}, {7.17464814e-43, 0, -7.43635371e-22, -3.32914326e-33}}, {{430.560547, 4.59163468e-41, 2.42567767e+24, 4.59163468e-41}, {0, 0, 0, 0}, {0, 0, -7.43635371e-22, -3.32914326e-33}}}
v_clut2xyz = {{{430.562012, 4.59163468e-41, 2.58348952e+13, 3.0611365e-41}, {430.562012, 4.59163468e-41, 2.42567767e+24, 4.59163468e-41}, {0, 0, 0, 0}}, {{430.562988, 2.36017197e-38, -7.43635371e-22, -3.32914326e-33}, {430.564453, 4.59163468e-41,
2.58339137e+13, 3.0611365e-41}, {2.42685826e+24, 4.59163468e-41, 2.42567767e+24, 4.59163468e-41}}, {{0, 0, 0, 0}, {0, 0, -7.43635371e-22, -3.32914326e-33}, {0, 0, 1.02554748e+18, 3.0611365e-41}}}
v_xyz2work = {{{430.566895, 4.59163468e-41, 2.58326974e+13, 3.0611365e-41}, {0, 0, 2.42902575e+24, 4.59163468e-41}, {0, 0, 0, 0}}, {{0, 0, -7.43635371e-22, -3.32914326e-33}, {430.568359, 4.59163468e-41, 4.90615918e+13, 3.0611365e-41}, {430.568359,
4.59163468e-41, 2.42902575e+24, 4.59163468e-41}}, {{0, 0, 0, 0}, {430.569336, 2.36017197e-38, -7.43635371e-22, -3.32914326e-33}, {430.570801, 4.59163468e-41, 4.90608116e+13, 3.0611365e-41}}}
film_simulation_strength = 1
exp_scale = 1
comp = 0.200000003
hlrange = 54722.4609
isProPhoto = true
curveMode = rtengine::procparams::ToneCurveParams::TC_MODE_PERCEPTUAL
---Type <return> to continue, or q <return> to quit---
curveMode2 = rtengine::procparams::ToneCurveParams::TC_MODE_STD
highlight = false
hasToneCurve1 = true
hasToneCurve2 = false
beforeCurveMode = rtengine::procparams::BlackWhiteParams::TC_MODE_STD_BW
hasToneCurvebw1 = false
ptc1ApplyState = {Working2Prophoto = {{5.39242371e+24, 4.59163468e-41, 5.3924214e+24}, {4.59163468e-41, 430.549316, 1}, {430.550781, 4.59163468e-41, 430.549805}}, Prophoto2Working = {{4.59163468e-41, -7.43635371e-22, -3.32914326e-33}, {430.549805,
4.59163468e-41, 430.549927}, {4.59163468e-41, 430.550781, 4.59163468e-41}}, cmul_contrast = 1.16166782, isProphoto = true}
ptc2ApplyState = {Working2Prophoto = {{430.550293, 4.59163468e-41, -7.43635371e-22}, {-3.32914326e-33, 430.550781, 4.59163468e-41}, {3.51708077e+13, 3.0611365e-41, 5.35180167e+24}}, Prophoto2Working = {{4.59163468e-41, 5.35179937e+24, 4.59163468e-41}, {
430.552734, 1, 430.554199}, {4.59163468e-41, 430.553223, 4.59163468e-41}}, cmul_contrast = -7.43635371e-22, isProphoto = 134}
hasColorToning = false
strProtect = 0.5
RedLow = 1
GreenLow = 1
BlueLow = 1
RedMed = 1
GreenMed = 1
BlueMed = 1
RedHigh = 1
GreenHigh = 1
BlueHigh = 1
SatLow = 0.800000012
SatHigh = 0.600000024
Balan = 0
chMixRR = 100
chMixRG = 0
chMixRB = 0
chMixGR = 0
chMixGG = 100
chMixGB = 0
chMixBR = 0
chMixBG = 0
chMixBB = 100
shHighlights = 0
shShadows = 0
blackwhite = false
algm = 0
gammabwr = 1
gammabwg = 1
gammabwb = 1
hasgammabw = false
toneCurveHistSize = 256
histToneCurveCompression = 8
lumimulf = {0.288040191, 0.711874127, 8.56999977e-05}
thanks, seems a dupe of #4166. I'll add guards in the code
fixed in 9db14cc52101e899dff1c76115b9fa5314e3efa6
I'm still getting a segfault in LUT.h
I batch-enabled Fattal in all images in the test_images folder, put them to the queue, and when I start the queue, crash. The first two images are the little PNGs.
https://paste.pound-python.org/show/KzQ7iPppeTLhh8h9FEYv/
Thread 37 "rawtherapee" received signal SIGSEGV, Segmentation fault.
[Switching to LWP 18533]
0x000055555600dc01 in LUT<float>::operator[]<float, void> (this=0x7fffc3ffe050, index=-nan(0x400000)) at /home/morgan/programs/code-rawtherapee/rtengine/LUT.h:468
468 T p1 = data[idx];
(gdb) bt full
#0 0x000055555600dc01 in LUT<float>::operator[]<float, void> (this=0x7fffc3ffe050, index=-nan(0x400000)) at /home/morgan/programs/code-rawtherapee/rtengine/LUT.h:468
idx = -2147483648
diff = -nan(0x400000)
p1 = -511.533203
p2 = 4.59163468e-41
#1 0x00005555560ac32a in rtengine::ImProcFunctions::rgbProc () at /home/morgan/programs/code-rawtherapee/rtengine/improcfun.cc:3578
g = -nan(0x400000)
Y = -nan(0x400000)
r = -nan(0x400000)
b = -nan(0x400000)
tonefactor = 0
j = 0
tj = 0
i = 0
ti = 0
ii = 0
jj = 0
buffer = 0x7fffbc0008c0 ""
editWhateverBuffer = 0x0
jstart = 0
tH = 100
editIFloatTmpR = 0x0
editIFloatTmpB = 0x0
out_rgbx = {0, 0, 0, 1.75, -nan(0x7fffff), nan(0x7fffff), 0, 0, -5.19403368e-13, 1.87497842, 0, 0, 0, 0, 9.40395481e-38, 20, 4.65661287e-10, 2.04999995, 4.17232506e-08, 2.04999995, 4.17232506e-08, 2.04999995, 0, 0, -1.65436123e-24, 0.212499991, 0, 0, 0, 0,
1.13533202e-41, 1.13533202e-41, 0, 0, 4.20389539e-45, 0, 5.18893957e+33, 4.59163468e-41, 5.18909802e+33, 4.59163468e-41, 5.1889049e+33, 4.59163468e-41, -1.38233625e+30, 4.59163468e-41, 0, 1.875, 0, 1.84123731, -3.0733645e-05, 4.59163468e-41, -5.56318225e+30,
4.59163468e-41, 0, 0, 0, 0, 0, 0, -5.56806873e+30, 4.59163468e-41, 0, 0, -5.58889126e+30, 4.59163468e-41, 5.18909802e+33, 4.59163468e-41, 5.18893957e+33, 4.59163468e-41, -3.05733411e-05, 4.59163468e-41, 5.18932085e+33, 4.59163468e-41, -3.07306182e-05,
4.59163468e-41, -5.58781472e+30, 4.59163468e-41, 0.140519217, 0.0281562004, 0.864949226, 0, 1.37467379e-42, 0, 1.40129846e-45, 0 <repeats 11 times>, -1.03797113e+34, 4.59163468e-41, 5.18902375e+33, 4.59163468e-41, 1.87773994e-43, 0, -1.03769878e+34,
4.59163468e-41, 5.18898908e+33, 4.59163468e-41, 5.18902375e+33, 4.59163468e-41, -6.23332164e+29, 4.59163468e-41, 5.1890287e+33, 4.59163468e-41, -9.83501049e+29, 4.59163468e-41, 5.18942484e+33, 4.59163468e-41, 1.40129846e-45, 0, 1.46544284e+13, 3.0611365e-41,
-1.03805927e+34, 4.59163468e-41, 1.46544955e+13, 3.0611365e-41, 5.17201754e+33, 4.59163468e-41, 1.87773994e-43, 0 <repeats 11 times>, -8.15292319e+29, 4.59163468e-41, -8.13140053e+29, 4.59163468e-41, 5.18909307e+33, 4.59163468e-41, 5.189306e+33,
4.59163468e-41, 5.18935799e+33, 4.59163468e-41, -9.83874834e+29, 4.59163468e-41, -8.13140053e+29, 4.59163468e-41, 0, 0, 0, 0, -8.13123506e+29, 4.59163468e-41, -8.172943e+29, 4.59163468e-41, -8.17295585e+29, 4.59163468e-41, 1.40129846e-45, 0, 5.18945455e+33,
4.59163468e-41, 5.18945455e+33, 4.59163468e-41, -8.15894364e+29, 4.59163468e-41, 5.18906336e+33, 4.59163468e-41, -9.00954191e+33, 4.59163468e-41, 2.15799964e-43, 0, -1.00321869e+34, 4.59163468e-41, -2.7918776e-34, 0, -1.14411682e+30, 4.59163468e-41,
5.18914754e+33, 4.59163468e-41, -9.01079409e+33, 4.59163468e-41, 2.15799964e-43, 0, -1.1448322e+30, 4.59163468e-41, -1.00321869e+34, 4.59163468e-41, 5.18913021e+33, 4.59163468e-41, 5.18912897e+33, 4.59163468e-41, -9.00980126e+33, 4.59163468e-41,
5.19082619e+33, 4.59163468e-41, 0, 4.59163468e-41, 1.47136339e-43, 0...}
editIFloatBuffer = 0x0
rtemp = 0x7fffbc0008c0
btemp = 0x7fffbc0193c0
istart = 0
editIFloatTmpG = 0x0
data = 0x7fffbc0008c0 ""
gtemp = 0x7fffbc00cdc0
editWhateverTmp = 0x0
tW = 100
histToneCurveThr = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}
working = 0x7fffb8002660
lab = 0x7fffb8002420
hltonecurve = @0x7fffc3ffdff0: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 65534, maxsf = 65534, data = 0x7fffb806c8d0, clip = 1, size = 65536, upperBound = 65535, owner = 1, maxsv = {65534, 65534, 65534, 65534}, sizev = {65535, 65535, 65535, 65535},
sizeiv = {281470681808895, 281470681808895}, dirty = true}
shtonecurve = @0x7fffc3ffe050: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 65534, maxsf = 65534, data = 0x7fffb80ac8e0, clip = 2, size = 65536, upperBound = 65535, owner = 1, maxsv = {65534, 65534, 65534, 65534}, sizev = {65535, 65535, 65535, 65535},
sizeiv = {281470681808895, 281470681808895}, dirty = true}
tonecurve = @0x7fffc3ffe0b0: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 65534, maxsf = 65534, data = 0x7fffb80ec8f0, clip = 0, size = 65536, upperBound = 65535, owner = 1, maxsv = {65534, 65534, 65534, 65534}, sizev = {65535, 65535, 65535, 65535},
sizeiv = {281470681808895, 281470681808895}, dirty = true}
shmap = 0x0
sat = 0
rCurve = @0x7fffc3ffe3b0: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}
gCurve = @0x7fffc3ffe410: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}
bCurve = @0x7fffc3ffe470: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}
satLimit = 0.50999999
satLimitOpacity = 0.199999988
ctColorCurve = @0x7fffc3ffe610: {_vptr.ColorGradientCurve = 0x5555568eb808 <vtable for rtengine::ColorGradientCurve+16>, lut1 = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1,
maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}, lut2 = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0},
sizeiv = {0, 0}, dirty = true}, lut3 = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true},
low = 6.9533060732495661e-310, high = 6.9533060732835578e-310}
ctOpacityCurve = @0x7fffc3ffe750: {_vptr.OpacityCurve = 0x5555568eb828 <vtable for rtengine::OpacityCurve+16>, lutOpacityCurve = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1,
---Type <return> to continue, or q <return> to quit---
maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}}
opautili = false
clToningcurve = @0x7fffc3ffe290: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}
cl2Toningcurve = @0x7fffc3ffe2f0: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}
customToneCurve1 = @0x7fffc3ffe530: {_vptr.ToneCurve = 0x5555568e9dc0 <vtable for rtengine::ToneCurve+16>, lutToneCurve = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0,
0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}}
customToneCurve2 = @0x7fffc3ffe5a0: {_vptr.ToneCurve = 0x5555568e9dc0 <vtable for rtengine::ToneCurve+16>, lutToneCurve = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0,
0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}}
customToneCurvebw1 = @0x7fffc3ffe910: {_vptr.ToneCurve = 0x5555568e9dc0 <vtable for rtengine::ToneCurve+16>, lutToneCurve = {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {
0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}}
dcpProf = 0x0
asIn = @0x7fffc3ffd350: {data = std::unique_ptr<rtengine::DCPProfile::ApplyState::Data> containing 0x7fffb800ea80}
histToneCurve = @0x7fffc3ffd420: {<rtengine::NonCopyable> = {<No data fields>}, maxs = 0, maxsf = 0, data = 0x0, clip = 0, size = 0, upperBound = 0, owner = 1, maxsv = {0, 0, 0, 0}, sizev = {0, 0, 0, 0}, sizeiv = {0, 0}, dirty = true}
this = 0x7fffb8001ea0
tmpImage = 0x0
editImgFloat = 0x0
editWhatever = 0x0
editID = EUID_None
h_th = 0
s_th = 0
processSH = false
processLCE = false
lceamount = 0
wprof = 0x555556518d60 <_ZL12xyz_prophoto>
wiprof = 0x555556518dc0 <_ZL12prophoto_xyz>
toxyz = {{0.827291906, 0.140211254, 0.0325175263}, {0.288040191, 0.711874127, 8.56999977e-05}, {0, 0, 1.00037587}}
equalR = 2.47144032
equalG = 1
equalB = 8306.58301
wip = {{1.3459433000000001, -0.25560749999999999, -0.051111799999999999}, {-0.5445989, 1.5081673, 0.020535100000000001}, {0, 0, 1.2118127999999999}}
wp = {{0.79767489999999996, 0.1351917, 0.031353399999999997}, {0.28804020000000002, 0.71187409999999995, 8.5699999999999996e-05}, {0, 0, 0.82521}}
mixchannels = false
hCurve = 0x0
sCurve = 0x0
vCurve = 0x0
bwlCurve = 0x0
hCurveEnabled = false
sCurveEnabled = false
vCurveEnabled = false
bwlCurveEnabled = false
hald_clut = std::shared_ptr (empty) 0x0
clutAndWorkingProfilesAreSame = false
xyz2clut = 0x0
clut2xyz = 0x0
v_work2xyz = {{{-511.569824, 4.59163468e-41, -511.569946, 4.59163468e-41}, {-511.570801, 4.59163468e-41, -511.570435, 4.59163468e-41}, {-511.570312, 4.59163468e-41, 0.34262085, 1.73866576e-28}}, {{-511.570801, 4.59163468e-41, 3.54318234e+13, 3.0611365e-41}, {
-3.27986927e-05, 4.59163468e-41, -3.27986781e-05, 4.59163468e-41}, {-511.572754, 1, -511.574219, 4.59163468e-41}}, {{-511.573242, 4.59163468e-41, 0.34262085, 1.73866576e-28}, {-511.573242, 4.59163468e-41, -511.573364, 4.59163468e-41}, {-511.574219,
4.59163468e-41, -511.573853, 4.59163468e-41}}}
v_xyz2clut = {{{-511.57373, 4.59163468e-41, 0.34262085, 1.73866576e-28}, {-511.574219, 4.59163468e-41, 3.54318234e+13, 3.0611365e-41}, {-3.27895978e-05, 4.59163468e-41, -3.27895832e-05, 4.59163468e-41}}, {{-511.576172, 1, -511.577637, 4.59163468e-41}, {
-511.57666, 4.59163468e-41, 0.34262085, 1.73866576e-28}, {-511.57666, 4.59163468e-41, -511.576782, 4.59163468e-41}}, {{-511.577637, 4.59163468e-41, -511.577271, 4.59163468e-41}, {-511.577148, 4.59163468e-41, 0.34262085, 1.73866576e-28}, {-511.577637,
4.59163468e-41, 3.54318234e+13, 3.0611365e-41}}}
v_clut2xyz = {{{-3.27850576e-05, 4.59163468e-41, -3.2785043e-05, 4.59163468e-41}, {-511.57959, 1, -511.581055, 4.59163468e-41}, {-511.580078, 4.59163468e-41, 0.34262085, 1.73866576e-28}}, {{-511.580078, 4.59163468e-41, -511.5802, 4.59163468e-41}, {-511.581055,
4.59163468e-41, -511.580688, 4.59163468e-41}, {-511.580566, 4.59163468e-41, 0.34262085, 1.73866576e-28}}, {{-511.581055, 4.59163468e-41, 3.54318234e+13, 3.0611365e-41}, {-3.27827875e-05, 4.59163468e-41, -3.27827729e-05, 4.59163468e-41}, {-511.583008, 1,
-511.584473, 4.59163468e-41}}}
v_xyz2work = {{{-511.583496, 4.59163468e-41, 0.34262085, 1.73866576e-28}, {-511.583496, 4.59163468e-41, -511.583618, 4.59163468e-41}, {-511.584473, 4.59163468e-41, -511.584106, 4.59163468e-41}}, {{-511.583984, 4.59163468e-41, 0.34262085, 1.73866576e-28}, {
-511.584473, 4.59163468e-41, 3.54318234e+13, 3.0611365e-41}, {-3.27816524e-05, 4.59163468e-41, -3.27816379e-05, 4.59163468e-41}}, {{-511.586426, 1, -511.587891, 4.59163468e-41}, {-511.586914, 4.59163468e-41, 0.34262085, 1.73866576e-28}, {-511.586914,
4.59163468e-41, -511.587036, 4.59163468e-41}}}
film_simulation_strength = 1
exp_scale = 1
comp = 0
hlrange = 54722.4609
isProPhoto = true
curveMode = rtengine::procparams::ToneCurveParams::TC_MODE_STD
curveMode2 = rtengine::procparams::ToneCurveParams::TC_MODE_STD
---Type <return> to continue, or q <return> to quit---
highlight = false
hasToneCurve1 = false
hasToneCurve2 = false
beforeCurveMode = rtengine::procparams::BlackWhiteParams::TC_MODE_STD_BW
hasToneCurvebw1 = false
ptc1ApplyState = {Working2Prophoto = {{-3.28532624e-05, 4.59163468e-41, -3.28532478e-05}, {4.59163468e-41, -511.565918, 1}, {-511.567383, 4.59163468e-41, -511.566406}}, Prophoto2Working = {{4.59163468e-41, 0.34262085, 1.73866576e-28}, {-511.566406,
4.59163468e-41, -511.566528}, {4.59163468e-41, -511.567383, 4.59163468e-41}}, cmul_contrast = -511.567017, isProphoto = 255}
ptc2ApplyState = {Working2Prophoto = {{-511.566895, 4.59163468e-41, 0.34262085}, {1.73866576e-28, -511.567383, 4.59163468e-41}, {3.54318234e+13, 3.0611365e-41, -3.28168826e-05}}, Prophoto2Working = {{4.59163468e-41, -3.2816868e-05, 4.59163468e-41}, {
-511.569336, 1, -511.570801}, {4.59163468e-41, -511.569824, 4.59163468e-41}}, cmul_contrast = 0.34262085, isProphoto = 238}
hasColorToning = false
strProtect = 0.5
RedLow = 1
GreenLow = 1
BlueLow = 1
RedMed = 1
GreenMed = 1
BlueMed = 1
RedHigh = 1
GreenHigh = 1
BlueHigh = 1
SatLow = 0.800000012
SatHigh = 0.600000024
Balan = 0
chMixRR = 100
chMixRG = 0
chMixRB = 0
chMixGR = 0
chMixGG = 100
chMixGB = 0
chMixBR = 0
chMixBG = 0
chMixBB = 100
shHighlights = 0
shShadows = 0
blackwhite = false
algm = 0
gammabwr = 1
gammabwg = 1
gammabwb = 1
hasgammabw = false
toneCurveHistSize = 0
histToneCurveCompression = 0
lumimulf = {0.288040191, 0.711874127, 8.56999977e-05}
#2 0x00007ffff168118e in ?? () from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/libgomp.so.1
No symbol table info available.
#3 0x00007ffff124365c in ?? () from /lib64/libpthread.so.0
No symbol table info available.
#4 0x00007ffff0f824fd in clone () from /lib64/libc.so.6
No symbol table info available.
there's a div by zero somewhere I guess. can you also upload the pp3s?
@agriggio Alberto, maybe the div by zero is in the last loop of ToneMapFattal02 when Y is zero
but Y should not be zero there -- see how it is computed above
@agriggio Do I confuse Yand l or you?
Edit: I already wondered why l is clamped by a small espilon...
I don't have the code in front of me, but Y should contact straight from Yr iirc, which should not be zero by construction -- see how it is computed. unless I made some mistake of course...
clamping of l instead comes from the original code
PP3 from .config/RawTherapee/batch/: https://filebin.net/jkf5o0pfqys7lppn
@agriggio ok,
Another thing (though unrelated to the crash): with the latest optimizations and the multithreaded fftw stuff the bottleneck now is findMaxMinPercentile which needs about one second for a 10 MP file on my machine
@agriggio
const float luminance_noise_floor = 65.535f;
.
.
.
if (Yr(x,y) <= luminance_noise_floor) {
Yr(x, y) = Yr_med(x, y);
}
In case Yr_med is zero, you will get a yr value of zero, which can lead to a division by zero later...
Found another crash bug.
@TooWaBoo does this have to do with fattal? which RT version?
Confirmed using latest fattal version with median patch. Didn't try before patch
Could not reproduce @TooWaBoo 's crash using a debug build run without GDB of branch save-strategy2, 821080de.
Confimed using latest fattal (commit b1938e272).
Didn't crash with a build from yesterday (commit 356d49525 I think).
ok that's clearly my fault then :-) I'll take this
should be fixed now (see b8ff601efa00c1d2adcf9e57f0d00bcb15904150)
Crash confirmed, fix confirmed.
Fix confirmed.
@TooWaBoo I didn't test yet, but your avatar lets me smile each time I see it :)
@heckflosse , Always start the day with a smile. 馃檪