Beep6581 / RawTherapee

A powerful cross-platform raw photo processing program
https://rawtherapee.com
GNU General Public License v3.0
2.88k stars 323 forks source link

Crash using curves #2800

Closed Beep6581 closed 9 years ago

Beep6581 commented 9 years ago

Originally reported on Google Code with ID 2820

I was trying to adjust the histogram and raw therapee crashed after adding three points.

I have been able to find a way to reproduce the problem, sometimes it crashes soon,
other times after adding a lot of points, anyway i think there is a bug somewhere.

I attach the image used, the profile used and a video showing how to trigger the bug
(i had to add a lot of points, i know in the video it's really forced but the first
time i found the problem it happened only with 3 points and in a normal way).

https://goo.gl/q55Bhv

Thank you in advance.

Branch: default
Version: 4.2.225
Changeset: 9c1b9b8d1158
Compiler: cc 4.8.2
Processor: undefined
System: Linux
Bit depth: 64 bits
Gtkmm: V2.24.4
Build type: release
Build flags:  -Wno-unused-result -Wno-aggressive-loop-optimizations -march=native -Werror=unused-label
-fopenmp -Werror=unknown-pragmas -O3 -DNDEBUG
Link flags:   -march=native
OpenMP support: ON
MMAP support: ON

Lubuntu 14.04, 4GB RAM.

Reported by fotogiuliopv on 2015-06-21 17:51:06

Beep6581 commented 9 years ago
Hey

I could not reproduce the crash in Linux using 4.2.235
http://i.imgur.com/m8hb3bU.png

Could you try 4.2.235, and if you can reproduce it there, can you provide a stack bactrace?
http://rawpedia.rawtherapee.com/How_to_write_useful_bug_reports

Reported by entertheyoni on 2015-07-05 01:00:49

Beep6581 commented 9 years ago
With debug version i've been unable to reproduce the crash.

With 4.2.235 non debug here is what gdb tells:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffcd02c700 (LWP 7636)]
0x0000000000a2c2ad in rtengine::ImProcFunctions::finalContAllL(int, rtengine::LabImage*,
float**, float**, float**, float*, int, int, rtengine::cont_params, int, int, int,
float*, float*, float*, float*, float*, float*, rtengine::WavCurve const&, rtengine::WavOpacityCurveWL
const&, rtengine::FlatCurve*, bool) ()

#0  0x0000000000a2c2ad in rtengine::ImProcFunctions::finalContAllL(int, rtengine::LabImage*,
float**, float**, float**, float*, int, int, rtengine::cont_params, int, int, int,
float*, float*, float*, float*, float*, float*, rtengine::WavCurve const&, rtengine::WavOpacityCurveWL
const&, rtengine::FlatCurve*, bool) ()
No symbol table info available.
#1  0x0000000000a2cda6 in rtengine::ImProcFunctions::WaveletcontAllLfinal(rtengine::LabImage*,
float**, float**, rtengine::wavelet_decomposition&, rtengine::cont_params, int, float*,
float*, float*, float*, float*, float*, rtengine::WavCurve const&, rtengine::WavOpacityCurveWL
const&, rtengine::FlatCurve*, bool) ()
No symbol table info available.
#2  0x0000000000a36829 in rtengine::ImProcFunctions::ip_wavelet(rtengine::LabImage*,
rtengine::LabImage*, int, rtengine::procparams::WaveletParams const&, rtengine::WavCurve
const&, rtengine::WavOpacityCurveRG const&, rtengine::WavOpacityCurveBY const&, rtengine::WavOpacityCurveW
const&, rtengine::WavOpacityCurveWL const&, LUT<float>&, bool, int) [clone ._omp_fn.0]
()
No symbol table info available.
#3  0x0000000000a398d1 in rtengine::ImProcFunctions::ip_wavelet(rtengine::LabImage*,
rtengine::LabImage*, int, rtengine::procparams::WaveletParams const&, rtengine::WavCurve
const&, rtengine::WavOpacityCurveRG const&, rtengine::WavOpacityCurveBY const&, rtengine::WavOpacityCurveW
const&, rtengine::WavOpacityCurveWL const&, LUT<float>&, bool, int) ()
No symbol table info available.
#4  0x0000000000986453 in rtengine::ImProcCoordinator::updatePreviewImage(int, r---Type
<return> to continue, or q <return> to quit---
tengine::Crop*) ()
No symbol table info available.
#5  0x000000000098bad5 in rtengine::ImProcCoordinator::process() ()
No symbol table info available.
#6  0x00007ffff6d4ea4d in ?? ()
   from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
No symbol table info available.
#7  0x00007ffff6fe8f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#8  0x00007ffff3286182 in start_thread (arg=0x7fffcd02c700)
    at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7fffcd02c700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736632899328, 
                2003277740373323007, 1, 72216224, 140736632900032, 
                140736632899328, -2003388831807165185, -2003270408102728449}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, 
            data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9  0x00007ffff2fb347d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thank you.

Reported by fotogiuliopv on 2015-07-05 17:04:32

Beep6581 commented 9 years ago

Can't reproduce, likely fixed recently by Ingo.