Open vivo75 opened 6 years ago
@vivo75
This small change (which can impact startup times) seem to give a much more reliable RT startup
Does it give a much more reliable or a reliable startup?
@heckflosse RT never crashed on start after the change, but I've started it no more than 10 times since then. However before the change it failed at least half the startups.
@vivo75 How do you build "with debug info"? I have "-ggdb" in C{XX}FLAGS in my make.conf and activated "splitdebug" in FEATURES. That AFAIK results in the same binary as when it was built without debug symbols but stores those in a different location - and tools can load them in case of a crash. I think you should be able to reproduce the crash and get the exact point of failure in RT sources.
@ff2000 see http://rawpedia.rawtherapee.com/Linux#CMake
@ff2000 it's not the same binary, and it does not run at the same speed, this can be very important when race conditions are involved, and I suspect this is the case here my debug flags are:
CFLAGS="-O3 -march=corei7 -pipe -mindirect-branch=thunk -grecord-gcc-switches -frecord-gcc-switches -g3 -ggdb -ggnu-pubnames -fvar-tracking-assignments"
CXXFLAGS="-O3 -march=corei7 -pipe -mindirect-branch=thunk -grecord-gcc-switches -frecord-gcc-switches -g3 -ggdb -ggnu-pubnames -fvar-tracking-assignments"
my usual flags are:
FLTO="-flto=4 -fuse-linker-plugin -fno-fat-lto-objects"
FGRAPHITE=""
GCCDEBUG="-grecord-gcc-switches -frecord-gcc-switches"
CFLAGS="-O3 -march=corei7 -pipe -mindirect-branch=thunk ${FLTO} ${FGRAPHITE} ${GCCDEBUG}"
CXXFLAGS="${CFLAGS}"
@vivo75 My main point was to to add "splitdebug" to your FEATURES variable in make.conf. You end up with a stripped binary that should be the same as if it was built without debugging symbols.
@heckflosse , I had two crashes today, even with the applied patch, new version 5.4-660-g6d19fae0
Since a long time RT often (but not always) crashes on start in a very similar manner to issue #4117. Verbose option does not change behaviour, building with debug info collapse the heisenbug. LANG variable is set to "it_IT.UTF-8" Looking at issue #4140 made me try to change the initialization order, in my tests LensFun DB initialization has been brought outside the omp parallel sections and /before/ all other initializations.
This small change (which can impact startup times) seem to give a much more reliable RT startup.
Patch applied by rawtherape-9999 ebuild
Backtrace without debug info:
Version information:
All threads backtrace: