ut_conference, sporadic crashes in testParticipantAddRmSecondVideo
On current master (b7dd4256), sometimes:
Stack
[1665072641.413|34936|sdp.cpp :606 ] Processing received offer for [Call ID 4153440945198650] with 2 media
malloc_consolidate(): unaligned fastbin chunk detected
Thread 1 "ut_conference" received signal SIGABRT, Aborted.
0x00007ffff668ec4c in __pthread_kill_implementation () from /lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install alsa-lib-1.2.7.2-1.fc36.x86_64 bzip2-libs-1.0.8-11.fc36.x86_64 cppunit-1.15.1-6.fc36.x86_64 dbus-libs-1.14.0-1.fc36.x86_64 expat-2.4.7-1.fc36.x86_64 flac-libs-1.3.4-1.fc36.x86_64 glibc-2.35-17.fc36.x86_64 gmp-6.2.1-2.fc36.x86_64 gnutls-3.7.7-1.fc36.x86_64 gsm-1.0.19-7.fc36.x86_64 jsoncpp-1.9.5-2.fc36.x86_64 lame-libs-3.100-12.fc36.x86_64 libX11-1.7.3.1-2.fc36.x86_64 libXau-1.0.9-8.fc36.x86_64 libXext-1.3.4-8.fc36.x86_64 libXfixes-6.0.0-3.fc36.x86_64 libargon2-20171227-9.fc36.x86_64 libasyncns-0.8-22.fc36.x86_64 libcap-2.48-4.fc36.x86_64 libdrm-2.4.110-1.fc36.x86_64 libgcc-12.2.1-2.fc36.x86_64 libgcrypt-1.10.1-3.fc36.x86_64 libgpg-error-1.45-1.fc36.x86_64 libidn2-2.3.3-1.fc36.x86_64 libogg-1.3.5-3.fc36.x86_64 libsndfile-1.1.0-4.fc36.x86_64 libstdc++-12.2.1-2.fc36.x86_64 libtasn1-4.18.0-2.fc36.x86_64 libunistring-1.0-1.fc36.x86_64 libuuid-2.38-1.fc36.x86_64 libva-2.14.0-1.fc36.x86_64 libvdpau-1.5-10.fc36.x86_64 libvorbis-1.3.7-5.fc36.x86_64 libxcb-1.13.1-9.fc36.x86_64 libzstd-1.5.2-2.fc36.x86_64 lz4-libs-1.9.3-4.fc36.x86_64 mpg123-libs-1.30.1-1.fc36.x86_64 nettle-3.8-1.fc36.x86_64 nss-mdns-0.15.1-5.fc36.x86_64 nvidia-driver-cuda-libs-515.76-1.fc36.x86_64 openssl-libs-3.0.5-1.fc36.x86_64 opus-1.3.1-10.fc36.x86_64 p11-kit-0.24.1-2.fc36.x86_64 pulseaudio-libs-15.0-5.fc36.x86_64 speex-1.2.0-10.fc36.x86_64 speexdsp-1.2.1-1.fc36.x86_64 systemd-libs-250.8-1.fc36.x86_64 x264-libs-0.163-6.20210613git5db6aa6.fc36.x86_64 xz-libs-5.2.5-9.fc36.x86_64 yaml-cpp-0.6.3-6.fc36.x86_64 zlib-1.2.11-33.fc36.x86_64
(gdb) bt
#0 0x00007ffff668ec4c in __pthread_kill_implementation () from /lib64/libc.so.6
#1 0x00007ffff663e9c6 in raise () from /lib64/libc.so.6
#2 0x00007ffff66287f4 in abort () from /lib64/libc.so.6
#3 0x00007ffff6682d9e in __libc_message () from /lib64/libc.so.6
#4 0x00007ffff669895c in malloc_printerr () from /lib64/libc.so.6
#5 0x00007ffff669aa8c in _int_free () from /lib64/libc.so.6
#6 0x00007ffff669d103 in free () from /lib64/libc.so.6
#7 0x000000000063b90c in jami::MediaDescription::~MediaDescription (this=0x7fff300212f8, __in_chrg=<optimized out>)
at /home/amarok/Projects/jami/daemon/src/media/media_codec.h:274
#8 0x0000000000906636 in jami::RtpSession::~RtpSession (this=0x7fff300210c0, __in_chrg=<optimized out>)
at ./media/rtp_session.h:51
#9 0x0000000000910ce3 in jami::video::VideoRtpSession::~VideoRtpSession (this=0x7fff300210c0,
__in_chrg=<optimized out>) at ./media/video/video_rtp_session.cpp:79
#10 0x00000000006a8c3a in std::_Destroy<jami::video::VideoRtpSession> (__pointer=0x7fff300210c0)
at /usr/include/c++/12/bits/stl_construct.h:151
#11 0x00000000006a8bde in std::allocator_traits<std::allocator<void> >::destroy<jami::video::VideoRtpSession> (
__p=0x7fff300210c0) at /usr/include/c++/12/bits/alloc_traits.h:648
#12 0x00000000006a8941 in std::_Sp_counted_ptr_inplace<jami::video::VideoRtpSession, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x7fff300210b0) at /usr/include/c++/12/bits/shared_ptr_base.h:613
#13 0x000000000049f957 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use (
this=0x7fff300210b0) at /usr/include/c++/12/bits/shared_ptr_base.h:175
#14 0x000000000049d212 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use_cold (
this=0x7fff300210b0) at /usr/include/c++/12/bits/shared_ptr_base.h:199
#15 0x000000000049a9db in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7fff300210b0)
at /usr/include/c++/12/bits/shared_ptr_base.h:353
#16 0x000000000049d269 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x1eb9b38,
__in_chrg=<optimized out>) at /usr/include/c++/12/bits/shared_ptr_base.h:1071
#17 0x00000000004cf40a in std::__shared_ptr<jami::RtpSession, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (
this=0x1eb9b30, __in_chrg=<optimized out>) at /usr/include/c++/12/bits/shared_ptr_base.h:1524
#18 0x00000000004e3ef6 in std::shared_ptr<jami::RtpSession>::~shared_ptr (this=0x1eb9b30, __in_chrg=<optimized out>)
at /usr/include/c++/12/bits/shared_ptr.h:175
#19 0x00000000004e3f11 in std::_Destroy<std::shared_ptr<jami::RtpSession> > (__pointer=0x1eb9b30)
at /usr/include/c++/12/bits/stl_construct.h:151
#20 0x00000000004e17a1 in std::_Destroy_aux<false>::__destroy<std::shared_ptr<jami::RtpSession>*> (
__first=0x1eb9b30, __last=0x1eb9b40) at /usr/include/c++/12/bits/stl_construct.h:163
#21 0x00000000004ddade in std::_Destroy<std::shared_ptr<jami::RtpSession>*> (__first=0x1eb9b20, __last=0x1eb9b40)
at /usr/include/c++/12/bits/stl_construct.h:196
#22 0x00000000004d8169 in std::_Destroy<std::shared_ptr<jami::RtpSession>*, std::shared_ptr<jami::RtpSession> > (
__first=0x1eb9b20, __last=0x1eb9b40) at /usr/include/c++/12/bits/alloc_traits.h:850
#23 0x00000000004d2823 in std::vector<std::shared_ptr<jami::RtpSession>, std::allocator<std::shared_ptr<jami::RtpSession> > >::~vector (this=0x7fffffffc3b0, __in_chrg=<optimized out>) at /usr/include/c++/12/bits/stl_vector.h:730
#24 0x000000000068fa7f in jami::SIPCall::exitConference (this=0x1cb4670) at ./sip/sipcall.cpp:3061
#25 0x00000000004be2bb in jami::Conference::removeParticipant (this=0x1d2f140, participant_id="6158319920365303")
at conference.cpp:884
#26 0x00000000004fa526 in jami::Manager::removeParticipant (this=0x1a6d6e0 <jami::Manager::instance()::instance>,
call=...) at manager.cpp:1545
#27 0x00000000004f7c22 in jami::Manager::hangupCall (this=0x1a6d6e0 <jami::Manager::instance()::instance>,
callId="6158319920365303") at manager.cpp:1105
#28 0x00000000004f9424 in jami::Manager::ManagerPimpl::hangupConference (this=0x1cb7760, conference=...)
at manager.cpp:1370
#29 0x00000000004f7dc4 in jami::Manager::hangupConference (this=0x1a6d6e0 <jami::Manager::instance()::instance>,
accountId="15d9d069807f7c0d", confId="") at manager.cpp:1127
#30 0x00000000004849ff in jami::test::ConferenceTest::hangupConference (this=0x1cb37b0) at call/conference.cpp:311
#31 0x00000000004939b9 in jami::test::ConferenceTest::testParticipantAddRmSecondVideo (this=0x1cb37b0)
at call/conference.cpp:881
--Type <RET> for more, q to quit, c to continue without paging--
#32 0x00000000004ab82d in std::__invoke_impl<void, void (jami::test::ConferenceTest::*&)(), jami::test::ConferenceTest*&> (
__f=@0x1cd08e0: (void (jami::test::ConferenceTest::*)(jami::test::ConferenceTest * const)) 0x4930d6 <jami::test::ConferenceTest::testParticipantAddRmSecondVideo()>, __t=@0x1cd08f0: 0x1cb37b0) at /usr/include/c++/12/bits/invoke.h:74
#33 0x00000000004aad83 in std::__invoke<void (jami::test::ConferenceTest::*&)(), jami::test::ConferenceTest*&> (
__fn=@0x1cd08e0: (void (jami::test::ConferenceTest::*)(jami::test::ConferenceTest * const)) 0x4930d6 <jami::test::ConferenceTest::testParticipantAddRmSecondVideo()>) at /usr/include/c++/12/bits/invoke.h:96
#34 0x00000000004a9f4e in std::_Bind<void (jami::test::ConferenceTest::*(jami::test::ConferenceTest*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x1cd08e0, __args=...) at /usr/include/c++/12/functional:484
#35 0x00000000004a8942 in std::_Bind<void (jami::test::ConferenceTest::*(jami::test::ConferenceTest*))()>::operator()<, void>() (this=0x1cd08e0) at /usr/include/c++/12/functional:567
#36 0x00000000004a7218 in std::__invoke_impl<void, std::_Bind<void (jami::test::ConferenceTest::*(jami::test::ConferenceTest*))()>&>(std::__invoke_other, std::_Bind<void (jami::test::ConferenceTest::*(jami::test::ConferenceTest*))()>&)
(__f=...) at /usr/include/c++/12/bits/invoke.h:61
#37 0x00000000004a563e in std::__invoke_r<void, std::_Bind<void (jami::test::ConferenceTest::*(jami::test::ConferenceTest*))()>&>(std::_Bind<void (jami::test::ConferenceTest::*(jami::test::ConferenceTest*))()>&) (__fn=...)
at /usr/include/c++/12/bits/invoke.h:111
#38 0x00000000004a3127 in std::_Function_handler<void (), std::_Bind<void (jami::test::ConferenceTest::*(jami::test::ConferenceTest*))()> >::_M_invoke(std::_Any_data const&) (__functor=...)
at /usr/include/c++/12/bits/std_function.h:290
#39 0x000000000049dbb4 in std::function<void ()>::operator()() const (this=0x1cb0990)
at /usr/include/c++/12/bits/std_function.h:591
#40 0x00000000004acc14 in CppUnit::TestCaller<jami::test::ConferenceTest>::runTest (this=0x1cb0950)
at /usr/include/cppunit/TestCaller.h:175
#41 0x00007ffff7f7ea66 in CppUnit::TestCaseMethodFunctor::operator()() const () from /lib64/libcppunit-1.15.so.1
#42 0x00007ffff7f7e9b3 in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) () from /lib64/libcppunit-1.15.so.1
#43 0x00007ffff7f77a23 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&)
() from /lib64/libcppunit-1.15.so.1
#44 0x00007ffff7f8041a in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /lib64/libcppunit-1.15.so.1
#45 0x00007ffff7f88dba in CppUnit::TestCase::run(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#46 0x00007ffff7f7edad in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) ()
from /lib64/libcppunit-1.15.so.1
#47 0x00007ffff7f7ebdb in CppUnit::TestComposite::run(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#48 0x00007ffff7f7edad in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) ()
from /lib64/libcppunit-1.15.so.1
#49 0x00007ffff7f7ebdb in CppUnit::TestComposite::run(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#50 0x00007ffff7f7f716 in CppUnit::TestResult::runTest(CppUnit::Test*) () from /lib64/libcppunit-1.15.so.1
#51 0x00007ffff7f86143 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /lib64/libcppunit-1.15.so.1
#52 0x00007ffff7f912c4 in CppUnit::TextTestRunner::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, bool, bool) () from /lib64/libcppunit-1.15.so.1
#53 0x0000000000493e9b in main () at call/conference.cpp:889