Rawtherapee: segfault when clearing cache in preferences while thumbs are build

Created on 8 Nov 2016  路  3Comments  路  Source: Beep6581/RawTherapee

Steps to reproduce.

  1. Preferences/File browser/clear all
  2. close rt
  3. start rt
  4. switch to a folder with a lot of raw files
  5. while thumbs are building go to Preferences/File browser and clear all
    => segfault

Yes, no one would do that normally...

bt full

Program received signal SIGSEGV, Segmentation fault.
0x000000006c358660 in ?? () from C:\msys64\mingw64\bin\libgdk-win32-2.0-0.dll
(gdb) bt full
#0  0x000000006c358660 in ?? ()
   from C:\msys64\mingw64\bin\libgdk-win32-2.0-0.dll
No symbol table info available.
#1  0x000000006c35a723 in ?? ()
   from C:\msys64\mingw64\bin\libgdk-win32-2.0-0.dll
No symbol table info available.
#2  0x000000006c35c1d2 in ?? ()
   from C:\msys64\mingw64\bin\libgdk-win32-2.0-0.dll
No symbol table info available.
#3  0x0000000000698a24 in ThumbBrowserEntryBase::updateBackBuffer (
    this=0xe59bd90) at H:/rt_pixelshift/rtgui/thumbbrowserentrybase.cc:110
        w = 0xc372dc0
        win = {pCppObject_ = 0xdf69c60}
        backbuffer_w = 227
        backbuffer_h = 165
        gc_ = {pCppObject_ = 0xe335760}
        textn = {gobject_ = 0xe092b90}
        texts = {gobject_ = 0xe078860}
        bgn = {gobject_ = 0xe092920}
        bgs = {gobject_ = 0xe078ef0}
        cr = {pCppObject_ = 0x1e44b840, pCppRefcount_ = 0xe837010}
        bsHeight = 20
        infow = 235588480
        infoh = 0
        iofs_x = 0
        iofs_y = 201992720
        istartx = 0
        istarty = 0
#4  0x000000000069ae71 in ThumbBrowserEntryBase::draw (this=0xe59bd90)
    at H:/rt_pixelshift/rtgui/thumbbrowserentrybase.cc:455
        l = {<rtengine::NonCopyable> = {<No data fields>},
          mutex = @0xe59bdd8, locked = true}
        bbWidth = 0
        bbHeight = 201992720
        w = 0xc372dc0
        gc_ = {pCppObject_ = 0xecb6970}
        bgn = {gobject_ = 0xe078500}
        bgs = {gobject_ = 0xe078f80}
#5  0x000000000048a180 in FileBrowserEntry::draw (this=0xe59bd90)
    at H:/rt_pixelshift/rtgui/filebrowserentry.cc:703
No locals.
#6  0x0000000000480d75 in ThumbBrowserBase::Internal::on_expose_event (
    this=0xc372dc0, event=0x22e990)
    at H:/rt_pixelshift/rtgui/thumbbrowserbase.cc:854
        i = 7
        l = {<rtengine::NonCopyable> = {<No data fields>},
          mutex = @0xc372eb8, locked = true}
        window = {pCppObject_ = 0xdf69c60}
        w = 1198
        h = 953
        context = {pCppObject_ = 0xdf69850}
#7  0x000000000548ad18 in ?? () from C:\msys64\mingw64\bin\libgtkmm-2.4-1.dll
No symbol table info available.
#8  0x0000000061849acb in ?? ()
   from C:\msys64\mingw64\bin\libgtk-win32-2.0-0.dll
No symbol table info available.
#9  0x0000000063a4611c in ?? ()
   from C:\msys64\mingw64\bin\libgobject-2.0-0.dll
No symbol table info available.
#10 0x0000000063a575d5 in ?? ()
   from C:\msys64\mingw64\bin\libgobject-2.0-0.dll
No symbol table info available.
#11 0x0000000063a5ec7a in ?? ()
   from C:\msys64\mingw64\bin\libgobject-2.0-0.dll
No symbol table info available.
#12 0x0000000063a5f2d8 in ?? ()
   from C:\msys64\mingw64\bin\libgobject-2.0-0.dll
No symbol table info available.
#13 0x000000006195e3ed in ?? ()
   from C:\msys64\mingw64\bin\libgtk-win32-2.0-0.dll
No symbol table info available.
#14 0x0000000061848790 in ?? ()
   from C:\msys64\mingw64\bin\libgtk-win32-2.0-0.dll
No symbol table info available.
#15 0x000000006c365f0f in ?? ()
   from C:\msys64\mingw64\bin\libgdk-win32-2.0-0.dll
No symbol table info available.
#16 0x000000006c365eb5 in ?? ()
   from C:\msys64\mingw64\bin\libgdk-win32-2.0-0.dll
No symbol table info available.
#17 0x000000006c362554 in ?? ()
   from C:\msys64\mingw64\bin\libgdk-win32-2.0-0.dll
No symbol table info available.
#18 0x000000006c362e1c in ?? ()
   from C:\msys64\mingw64\bin\libgdk-win32-2.0-0.dll
No symbol table info available.
#19 0x000000006c362e89 in ?? ()
   from C:\msys64\mingw64\bin\libgdk-win32-2.0-0.dll
No symbol table info available.
#20 0x000000006c341587 in ?? ()
   from C:\msys64\mingw64\bin\libgdk-win32-2.0-0.dll
No symbol table info available.
#21 0x00000000685f1c1e in ?? () from C:\msys64\mingw64\bin\libglib-2.0-0.dll
No symbol table info available.
#22 0x00000000685f1f38 in ?? () from C:\msys64\mingw64\bin\libglib-2.0-0.dll
No symbol table info available.
#23 0x00000000685f23c3 in ?? () from C:\msys64\mingw64\bin\libglib-2.0-0.dll
No symbol table info available.
#24 0x00000000618475d0 in ?? ()
   from C:\msys64\mingw64\bin\libgtk-win32-2.0-0.dll
No symbol table info available.
#25 0x00000000054261f0 in ?? () from C:\msys64\mingw64\bin\libgtkmm-2.4-1.dll
No symbol table info available.
#26 0x00000000005d7f77 in main (argc=1, argv=0x6e92760)
    at H:/rt_pixelshift/rtgui/main.cc:363
        exname = "H:\\rt_pixelshift\\build\\Debug\\rawtherapee.exe", '\000' <repeats 467 times>
        exePath = {static npos = 18446744073709551615, string_ = {
            static npos = <optimized out>,
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
              _M_p = 0x77a1270 "H:\\rt_pixelshift\\build\\Debug"},
            _M_string_length = 28, {
              _M_local_buf = "\036\000\000\000\000\000\000\000\000\000鈻抃005\000\000\000", _M_allocated_capacity = 30}}}
        exnameU = L"H:\\rt_pixelshift\\build\\Debug\\rawtherapee.exe", '\000' <repeats 467 times>
        consoleOpened = false
        m = <incomplete type>
        icon_path = {static npos = 18446744073709551615, string_ = {
            static npos = <optimized out>,
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
              _M_p = 0x8390a10 "H:\\rt_pixelshift\\build\\Debug\\.\\images"},
            _M_string_length = 37, {
              _M_local_buf = "%\000\000\000\000\000\000\000\060@\000\000\000\000\000", _M_allocated_capacity = 37}}}
        defaultIconTheme = {pCppObject_ = 0x83b50d0}
        rtWindow = 0x83c04b0
(gdb)
bug

Most helpful comment

At least not for rt 5.0 imho

There is still plenty of time until October ... :grin:

All 3 comments

... because another thread is killing ThumbBrowserEntryBase::preview, I guess. A mutex or std::shared_ptr<> would help. But is it worthwhile?

But is it worthwhile?

At least not for rt 5.0 imho

At least not for rt 5.0 imho

There is still plenty of time until October ... :grin:

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JIPG2 picture JIPG2  路  3Comments

LordPhoenixfr picture LordPhoenixfr  路  4Comments

heckflosse picture heckflosse  路  5Comments

scx picture scx  路  5Comments

Floessie picture Floessie  路  5Comments