View Bug Details

IDProjectCategoryView StatusLast Update
0002285DCP-o-maticBugspublic2023-09-01 21:41
Reporterbradel Assigned Tocarl  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Platform64-bitOSLinuxOS VersionArch
Product Version2.16.17 
Summary0002285: dcpomatic 2.16.18 crashes when compiled with GLIBCXX_ASSERTIONS
Description

Hi,

Arch Linux compiles packages by default with -Wp,-D_GLIBCXX_ASSERTIONS
DCPoMatic triggers some of these assertions which leads to a crash directly on gui startup
with the message

/usr/include/c++/12.1.0/bits/stl_vector.h", line=line@entry=1123, function=function@entry=0x7ffff73d0a08 "std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator [with _Tp = float; _Alloc = std::allocator<float>; reference = float&; size_type = long unsigned int]", condition=condition@entry=0x7ffff73cde84 "__n < this->size()")

The error seems to be in libdcpomatic.so

Backtrace is attached

Cheers,
Benjamin

Steps To Reproduce

Compile dcpomatic 2.16.18 with gcc12 and glibc-2.35 and -Wp,-D_GLIBCXX_ASSERTIONS

Run dcpomatic

Additional Information

gcc-12
glibc-2.35
Arch Linux

CXXFLAGS="-march=x86-64 -mtune=generic -O0 -pipe -fexceptions \
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
-Wp,-D_GLIBCXX_ASSERTIONS"

TagsNo tags attached.
Branch
Estimated weeks required
Estimated work required

Activities

bradel

2022-07-17 17:23

reporter  

backtrace.log (2,496 bytes)   
#0  __pthread_kill_implementation
    (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
    at pthread_kill.c:44
#1  0x00007fffefa8e3d3 in __pthread_kill_internal
    (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007fffefa3e838 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/posix/raise.c:26
#3  0x00007fffefa28535 in __GI_abort () at abort.c:79
#4  0x00007fffefed2002 in std::__glibcxx_assert_fail(char const*, int, char const*, char const*)
    (file=file@entry=0x7ffff73cdfa0 "/usr/include/c++/12.1.0/bits/stl_vector.h", line=line@entry=1123, function=function@entry=0x7ffff73d0a08 "std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = float; _Alloc = std::allocator<float>; reference = float&; size_type = long unsigned int]", condition=condition@entry=0x7ffff73cde84 "__n < this->size()")
    at /usr/src/debug/gcc/libstdc++-v3/src/c++11/debug.cc:60
#5  0x00007ffff713f171 in std::vector<float, std::allocator<float> >::operator[](unsigned long) (this=<optimized out>, __n=<optimized out>)
    at /usr/include/c++/12.1.0/bits/stl_vector.h:1121
#6  std::vector<float, std::allocator<float> >::operator[](unsigned long)
    (this=<optimized out>, __n=<optimized out>)
    at /usr/include/c++/12.1.0/bits/stl_vector.h:1121
#7  AudioFilter::sinc_blackman(float, bool) const
    (this=0x555555859ea8, cutoff=<optimized out>, invert=<optimized out>)
    at ../src/lib/audio_filter.cc:44
#8  0x00007ffff713f4c3 in BandPassAudioFilter::BandPassAudioFilter(float, float, float)
    (this=this@entry=0x555555859ea8, transition_bandwidth=transition_bandwidth@entry=0.0199999996, lower=lower@entry=0.0395833328, higher=higher@entry=0.100000001)
    at ../src/lib/audio_filter.cc:142
#9  0x00007ffff738353a in UpmixerA::UpmixerA(int)
    (this=this@entry=0x555555859ea0, sampling_rate=sampling_rate@entry=48000)
    at ../src/lib/upmixer_a.cc:37
#10 0x00007ffff7164b09 in AudioProcessor::setup_audio_processors() ()
    at ../src/lib/audio_processor.cc:43
#11 0x00007ffff738831e in dcpomatic_setup() () at ../src/lib/util.cc:423
#12 0x00005555555e1d7b in App::OnInit() (this=0x555555814420)
    at ../src/tools/dcpomatic.cc:1632
#13 0x00007ffff030efe2 in wxEntry(int&, wchar_t**)
    (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/wxWidgets-3.2.0/src/common/init.cpp:487
#14 0x00005555555a6792 in main(int, char**)
    (argc=<optimized out>, argv=<optimized out>) at ../src/tools/dcpomatic.cc:1915
backtrace.log (2,496 bytes)   

carl

2022-07-17 19:03

administrator   ~0005143

Thank you! That should be fixed in e0fe726fe76b0a8a5b36ec2fd2884617e75aae94 which will be in 2.16.19.

Bug History

Date Modified Username Field Change
2022-07-17 17:23 bradel New Bug
2022-07-17 17:23 bradel File Added: backtrace.log
2022-07-17 19:03 carl Assigned To => carl
2022-07-17 19:03 carl Status new => resolved
2022-07-17 19:03 carl Resolution open => fixed
2022-07-17 19:03 carl Note Added: 0005143
2023-09-01 21:41 carl Status resolved => closed