Segmentation fault in SIngle Editor Tab Mode

Issue #188 resolved
unius created an issue

After commit 5acffcd and later (including 92b829e),

if it is in the “SIngle Editor Tab Mode“,

after switching between several photos from different folders,

Segmentation fault occurs.

Sometimes with a message:

===

terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted

===

And in the current folder, a .apt file appears, but with the name " �O�."

Comments (2)

  1. Paul Matthijsse

    Confirmed with Art 1.9.2 (RawTherapee 5.8.3005 doesn’t show this behavior).

    Let’s hope Alberto can do something with this backtrace.

    terminate called after throwing an instance of 'std::bad_alloc'
    what(): std::bad_alloc
    --Type <RET> for more, q to quit, c to continue without paging--

    Thread 1 "ART" received signal SIGABRT, Aborted.
    __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
    50 ../sysdeps/unix/sysv/linux/raise.c: Bestand of map bestaat niet.
    (gdb) backtrace
    #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
    #1 0x00007ffff5653859 in __GI_abort () at abort.c:79
    #2 0x00007ffff5940911 in () at /lib/x86_64-linux-gnu/libstdc++.so.6
    #3 0x00007ffff594c38c in () at /lib/x86_64-linux-gnu/libstdc++.so.6
    #4 0x00007ffff594c3f7 in () at /lib/x86_64-linux-gnu/libstdc++.so.6
    #5 0x00007ffff594c6fd in __cxa_rethrow ()
    at /lib/x86_64-linux-gnu/libstdc++.so.6
    #6 0x0000555555cccaba in std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<rtengine::procparams::LocalContrastParams::Region const*, std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocatorrtengine::procparams::LocalContrastParams::Region > >, rtengine::procparams::LocalContrastParams::Region*>(__gnu_cxx::__normal_iterator<rtengine::procparams::LocalContrastParams::Region const*, std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocatorrtengine::procparams::LocalContrastParams::Region > >, __gnu_cxx::__normal_iterator<rtengine::procparams::LocalContrastParams::Region const*, std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocatorrtengine::procparams::LocalContrastParams::Region > >, rtengine::procparams::LocalContrastParams::Region*) (__first=
    {contrast = 4.6175027845653594e-310, curve = std::vector of length 11682542644526, capacity 4 = {<error reading variable>, __last=
    {contrast = 1.8801915897194909e+219, curve = std::vector of length 11728147800201, capacity -937128 = {<error reading variable>, __result=0x555557255380)
    at /usr/include/c++/9/bits/stl_uninitialized.h:89
    --Type <RET> for more, q to quit, c to continue without paging--
    #7 0x0000555555ccb614 in std::uninitialized_copy<__gnu_cxx::__normal_iterator<rtengine::procparams::LocalContrastParams::Region const*, std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocatorrtengine::procparams::LocalContrastParams::Region > >, rtengine::procparams::LocalContrastParams::Region*>(__gnu_cxx::__normal_iterator<rtengine::procparams::LocalContrastParams::Region const*, std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocatorrtengine::procparams::LocalContrastParams::Region > >, __gnu_cxx::__normal_iterator<rtengine::procparams::LocalContrastParams::Region const*, std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocatorrtengine::procparams::LocalContrastParams::Region > >, rtengine::procparams::LocalContrastParams::Region*) (__first=
    {contrast = 4.6175027845653594e-310, curve = std::vector of length 11682542644526, capacity 4 = {<error reading variable>, __last=
    {contrast = 1.8801915897194909e+219, curve = std::vector of length 11728147800201, capacity -937128 = {<error reading variable>, __result=0x555557255380)
    at /usr/include/c++/9/bits/stl_uninitialized.h:140
    #8 0x0000555555cc997b in std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<rtengine::procparams::LocalContrastParams::Region const*, std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocatorrtengine::procparams::LocalContrastParams::Region > >, rtengine::procparams::LocalContrastParams::Region*, rtengine::procparams::LocalContrastParams::Region>(__gnu_cxx::__normal_iterator<rtengine::procparams::LocalContrastParams::Region const*, std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocator<rtengine::procpar--Type <RET> for more, q to quit, c to continue without paging--
    ams::LocalContrastParams::Region> > >, __gnu_cxx::__normal_iterator<rtengine::procparams::LocalContrastParams::Region const*, std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocatorrtengine::procparams::LocalContrastParams::Region > >, rtengine::procparams::LocalContrastParams::Region*, std::allocatorrtengine::procparams::LocalContrastParams::Region&) (__first=
    {contrast = 4.6175027845653594e-310, curve = std::vector of length 11682542644526, capacity 4 = {<error reading variable>, __last=
    {contrast = 1.8801915897194909e+219, curve = std::vector of length 11728147800201, capacity -937128 = {<error reading variable>, __result=0x555557255380)
    at /usr/include/c++/9/bits/stl_uninitialized.h:307
    #9 0x0000555555cc8411 in std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocatorrtengine::procparams::LocalContrastParams::Region >::vector(std::vector<rtengine::procparams::LocalContrastParams::Region, std::allocatorrtengine::procparams::LocalContrastParams::Region > const&)
    (this=0x7fffffffb7b0, __x=std::vector of length 1, capacity 1 = {...})
    at /usr/include/c++/9/bits/stl_vector.h:555
    #10 0x0000555555cc6519 in rtengine::procparams::LocalContrastParams::LocalContrastParams(rtengine::procparams::LocalContrastParams const&)
    (this=0x7fffffffb7a8) at /home/paul/art/rtgui/../rtengine/procparams.h:566
    #11 0x0000555555cc77dc in rtengine::procparams::ProcParams::ProcParams(rtengine::procparams::ProcParams const&) (this=0x7fffffffb6c0)
    at /home/paul/art/rtgui/../rtengine/procparams.h:1496
    #12 0x00005555560d061b in Thumbnail::setProcParams(rtengine::procparams::Partial--Type <RET> for more, q to quit, c to continue without paging--
    Profile const&, int, bool, bool) (this=0x7fffb8008400, pp=
    ..., whoChangedIt=2, updateCacheNow=false, resetToDefault=false)
    at /home/paul/art/rtgui/thumbnail.cc:484
    #13 0x00005555560d0891 in Thumbnail::setProcParams(rtengine::procparams::ProcParams const&, int, bool, bool)
    (this=0x7fffb8008400, pp=..., whoChangedIt=2, updateCacheNow=false, resetToDefault=false) at /home/paul/art/rtgui/thumbnail.cc:513
    #14 0x0000555555dad32f in EditorPanel::refreshProcessingState(bool)
    (this=0x55555771e8c0, inProcessingP=false)
    at /home/paul/art/rtgui/editorpanel.cc:1330
    #15 0x0000555555dacce1 in EditorPanel::<lambda()>::operator()(void) const
    (__closure=0x7fff60038b98) at /home/paul/art/rtgui/editorpanel.cc:1258
    #16 0x0000555555db671a in std::_Function_handler<bool(), EditorPanel::setProgressState(bool)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
    at /usr/include/c++/9/bits/std_function.h:285
    #17 0x0000555555ea63fc in std::function<bool ()>::operator()() const
    (this=0x7fff60038b98) at /usr/include/c++/9/bits/std_function.h:688
    #18 0x0000555555e96cc5 in IdleRegister::<lambda(gpointer)>::operator()(gpointer) const (__closure=0x0, data=0x7fff60038b90)
    at /home/paul/art/rtgui/guiutils.cc:59
    #19 0x0000555555e96d75 in IdleRegister::<lambda(gpointer)>::_FUN(gpointer) ()
    at /home/paul/art/rtgui/guiutils.cc:69
    #20 0x00007ffff770af4d in () at /lib/x86_64-linux-gnu/libgdk-3.so.0
    --Type <RET> for more, q to quit, c to continue without paging--
    #21 0x00007ffff75a304e in g_main_context_dispatch ()
    at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #22 0x00007ffff75a3400 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #23 0x00007ffff75a34a3 in g_main_context_iteration ()
    at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #24 0x00007ffff5084fe5 in g_application_run ()
    at /lib/x86_64-linux-gnu/libgio-2.0.so.0
    #25 0x0000555555f5841d in main(int, char**) (argc=1, argv=0x7fffffffdf18)
    at /home/paul/art/rtgui/main.cc:570
    (gdb)

  2. Log in to comment