Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-129521

QFFmpeg::EncoderThread: use-after-free in unit tests

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 6.8.1, 6.9.0 FF
    • 6.9
    • Multimedia
    • dd3338c42 (dev), 9892b4a1e (dev), 37e1985d5 (6.8), 35cdafa13 (6.8)
    • Multimedia wk 41-42

    Description

      address sanitizer reports:

      agent:2024/10/01 06:10:50 build.go:404: =================================================================
      agent:2024/10/01 06:10:50 build.go:404: ==15185==ERROR: AddressSanitizer: heap-use-after-free on address 0x613000295174 at pc 0x7f50ea569890 bp 0x7ffc0797dd80 sp 0x7ffc0797dd78
      agent:2024/10/01 06:10:50 build.go:404: WRITE of size 1 at 0x613000295174 thread T0
      agent:2024/10/01 06:10:50 build.go:404:     #0 0x7f50ea56988f in QFFmpeg::EncoderThread::startEncoding() /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoderthread.cpp:44
      agent:2024/10/01 06:10:50 build.go:404:     #1 0x7f50ea57ecfe in void std::__invoke_impl<void, void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&>(std::__invoke_memfun_deref, void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&) (/home/qt/work/install/plugins/multimedia/libffmpegmediaplugin.so+0x25ccfe)
      agent:2024/10/01 06:10:50 build.go:404:     #2 0x7f50ea57cdcd in std::__invoke_result<void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&>::type std::__invoke<void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&>(void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&) /usr/include/c++/9/bits/invoke.h:95
      agent:2024/10/01 06:10:50 build.go:404:     #3 0x7f50ea57b284 in std::invoke_result<void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&>::type std::invoke<void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&>(void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&) /usr/include/c++/9/functional:81
      agent:2024/10/01 06:10:50 build.go:404:     #4 0x7f50ea5789ad in void QFFmpeg::RecordingEngine::forEachEncoder<void (QFFmpeg::EncoderThread::*)()>(void (QFFmpeg::EncoderThread::*&&)()) (/home/qt/work/install/plugins/multimedia/libffmpegmediaplugin.so+0x2569ad)
      agent:2024/10/01 06:10:50 build.go:404:     #5 0x7f50ea574ad0 in QFFmpeg::RecordingEngine::handleEncoderInitialization() /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegrecordingengine.cpp:274
      agent:2024/10/01 06:10:50 build.go:404:     #6 0x7f50ea582107 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QFFmpeg::RecordingEngine::*)()>::call(void (QFFmpeg::RecordingEngine::*)(), QFFmpeg::RecordingEngine*, void**)::{lambda()#1}::operator()() const /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:127
      agent:2024/10/01 06:10:50 build.go:404:     #7 0x7f50ea584feb in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QFFmpeg::RecordingEngine::*)()>::call(void (QFFmpeg::RecordingEngine::*)(), QFFmpeg::RecordingEngine*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QFFmpeg::RecordingEngine::*)()>::call(void (QFFmpeg::RecordingEngine::*)(), QFFmpeg::RecordingEngine*, void**)::{lambda()#1}&&) /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:65
      agent:2024/10/01 06:10:50 build.go:404:     #8 0x7f50ea5822d9 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QFFmpeg::RecordingEngine::*)()>::call(void (QFFmpeg::RecordingEngine::*)(), QFFmpeg::RecordingEngine*, void**) /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:126
      agent:2024/10/01 06:10:50 build.go:404:     #9 0x7f50ea57ff4d in void QtPrivate::FunctionPointer<void (QFFmpeg::RecordingEngine::*)()>::call<QtPrivate::List<>, void>(void (QFFmpeg::RecordingEngine::*)(), QFFmpeg::RecordingEngine*, void**) /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:174
      agent:2024/10/01 06:10:50 build.go:404:     #10 0x7f50ea57dfc1 in QtPrivate::QCallableObject<void (QFFmpeg::RecordingEngine::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:545
      agent:2024/10/01 06:10:50 build.go:404:     #11 0x7f50f7f65b17 in QtPrivate::QSlotObjectBase::call(QObject*, void**) /home/qt/work/qt/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
      agent:2024/10/01 06:10:50 build.go:404:     #12 0x7f50f8099749 in QMetaCallEvent::placeMetaCall(QObject*) /home/qt/work/qt/qtbase/src/corelib/kernel/qobject.cpp:620
      agent:2024/10/01 06:10:50 build.go:404:     #13 0x7f50f809c407 in QObject::event(QEvent*) /home/qt/work/qt/qtbase/src/corelib/kernel/qobject.cpp:1419
      agent:2024/10/01 06:10:50 build.go:404:     #14 0x7f50f7f54beb in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) /home/qt/work/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1298
      agent:2024/10/01 06:10:50 build.go:404:     #15 0x7f50f7f5432e in doNotify /home/qt/work/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1225
      agent:2024/10/01 06:10:50 build.go:404:     #16 0x7f50f7f541d9 in QCoreApplication::notify(QObject*, QEvent*) /home/qt/work/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1208
      agent:2024/10/01 06:10:50 build.go:404:     #17 0x7f50f9a25330 in QGuiApplication::notify(QObject*, QEvent*) /home/qt/work/qt/qtbase/src/gui/kernel/qguiapplication.cpp:2058
      agent:2024/10/01 06:10:50 build.go:404:     #18 0x7f50f7f53fcb in QCoreApplication::notifyInternal2(QObject*, QEvent*) /home/qt/work/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1124
      agent:2024/10/01 06:10:50 build.go:404:     #19 0x7f50f7f55bc2 in QCoreApplication::sendEvent(QObject*, QEvent*) /home/qt/work/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1568
      agent:2024/10/01 06:10:50 build.go:404:     #20 0x7f50f7f593a1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) /home/qt/work/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1923
      agent:2024/10/01 06:10:50 build.go:404:     #21 0x7f50f7f56df9 in QCoreApplication::sendPostedEvents(QObject*, int) /home/qt/work/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1755
      agent:2024/10/01 06:10:50 build.go:404:     #22 0x7f50f8a22c07 in postEventSourceDispatch /home/qt/work/qt/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
      agent:2024/10/01 06:10:50 build.go:404:     #23 0x7f50f6b2082a in g_main_context_dispatch (/usr/lib64/libglib-2.0.so.0+0x5582a)
      agent:2024/10/01 06:10:50 build.go:404:     #24 0x7f50f6b20bcf  (/usr/lib64/libglib-2.0.so.0+0x55bcf)
      agent:2024/10/01 06:10:50 build.go:404:     #25 0x7f50f6b20c5b in g_main_context_iteration (/usr/lib64/libglib-2.0.so.0+0x55c5b)
      agent:2024/10/01 06:10:50 build.go:404:     #26 0x7f50f8a241ee in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/qt/work/qt/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:396
      agent:2024/10/01 06:10:50 build.go:404:     #27 0x7f50ef42c814 in QXcbGlibEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/qt/work/qt/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:96
      agent:2024/10/01 06:10:50 build.go:404:     #28 0x7f50f7f8aac2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/qt/work/qt/qtbase/src/corelib/kernel/qeventloop.cpp:103
      agent:2024/10/01 06:10:50 build.go:404:     #29 0x7f50f7f8be87 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) /home/qt/work/qt/qtbase/src/corelib/kernel/qeventloop.cpp:194
      agent:2024/10/01 06:10:50 build.go:404:     #30 0x7f50fcc5bb5f in QTestEventLoop::enterLoop(std::chrono::duration<long, std::ratio<1l, 1000l> >) /home/qt/work/qt/qtbase/src/testlib/qtesteventloop.h:77
      agent:2024/10/01 06:10:50 build.go:404:     #31 0x7f50fcc587db in QSignalSpy::wait(std::chrono::duration<long, std::ratio<1l, 1000l> >) /home/qt/work/qt/qtbase/src/testlib/qsignalspy.cpp:153
      agent:2024/10/01 06:10:50 build.go:404:     #32 0x564515e0c96b in tst_QMediaFrameInputsBackend::mediaRecorderStopsRecording_whenInputsReportedEndOfStream() /home/qt/work/qt/qtmultimedia/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend.cpp:528
      agent:2024/10/01 06:10:50 build.go:404:     #33 0x564515e11625 in tst_QMediaFrameInputsBackend::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/qt/work/qt/qtmultimedia_standalone_tests/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend_autogen/include/moc_tst_qmediaframeinputsbackend.cpp:214
      agent:2024/10/01 06:10:50 build.go:404:     #34 0x7f50f7fa9377 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.cpp:2761
      agent:2024/10/01 06:10:50 build.go:404:     #35 0x7f50f7fa7195 in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.cpp:2600
      agent:2024/10/01 06:10:50 build.go:404:     #36 0x7f50fccaf1fc in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<void>(QObject*, Qt::ConnectionType, QTemplatedMetaMethodReturnArgument<void>) const /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.h:149
      agent:2024/10/01 06:10:50 build.go:404:     #37 0x7f50fcca98e9 in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<>(QObject*, Qt::ConnectionType) const /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.h:161
      agent:2024/10/01 06:10:50 build.go:404:     #38 0x7f50fcc838be in invokeTestMethodIfValid /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:448
      agent:2024/10/01 06:10:50 build.go:404:     #39 0x7f50fcc89160 in QTest::TestMethods::invokeTestOnData(int) const /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1083
      agent:2024/10/01 06:10:50 build.go:404:     #40 0x7f50fcc8b0a1 in QTest::TestMethods::invokeTest(int, QLatin1String, std::optional<QTest::WatchDog>&) const /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1385
      agent:2024/10/01 06:10:50 build.go:404:     #41 0x7f50fcc8e315 in QTest::TestMethods::invokeTests(QObject*) const /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1722
      agent:2024/10/01 06:10:50 build.go:404:     #42 0x7f50fcc8fb87 in QTest::qRun() /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1946
      agent:2024/10/01 06:10:50 build.go:404:     #43 0x7f50fcc8e8f2 in QTest::qExec(QObject*, int, char**) /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1824
      agent:2024/10/01 06:10:50 build.go:404:     #44 0x564515e113d4 in main /home/qt/work/qt/qtmultimedia/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend.cpp:653
      agent:2024/10/01 06:10:50 build.go:404:     #45 0x7f50f743724c in __libc_start_main (/lib64/libc.so.6+0x3524c)
      agent:2024/10/01 06:10:50 build.go:404:     #46 0x564515df1709 in _start ../sysdeps/x86_64/start.S:120
      agent:2024/10/01 06:10:50 build.go:404: 0x613000295174 is located 52 bytes inside of 328-byte region [0x613000295140,0x613000295288)
      agent:2024/10/01 06:10:50 build.go:404: freed by thread T236 (QThread) here:
      agent:2024/10/01 06:10:50 build.go:404:     #0 0x7f50fcf0ce45 in operator delete(void*, unsigned long) (/usr/lib64/libasan.so.5+0x10ce45)
      agent:2024/10/01 06:10:50 build.go:404:     #1 0x7f50ea595b8e in QFFmpeg::VideoEncoder::~VideoEncoder() /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegvideoencoder_p.h:20
      agent:2024/10/01 06:10:50 build.go:404:     #2 0x7f50ea4c3272 in QFFmpeg::ConsumerThread::stopAndDelete() /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegthread.cpp:19
      agent:2024/10/01 06:10:50 build.go:404:     #3 0x7f50ea56929c in QFFmpeg::EncoderThread::stopAndDelete() /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoderthread.cpp:17
      agent:2024/10/01 06:10:50 build.go:404:     #4 0x7f50ea57ecfe in void std::__invoke_impl<void, void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&>(std::__invoke_memfun_deref, void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&) (/home/qt/work/install/plugins/multimedia/libffmpegmediaplugin.so+0x25ccfe)
      agent:2024/10/01 06:10:50 build.go:404:     #5 0x7f50ea57cdcd in std::__invoke_result<void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&>::type std::__invoke<void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&>(void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&) /usr/include/c++/9/bits/invoke.h:95
      agent:2024/10/01 06:10:50 build.go:404:     #6 0x7f50ea57b284 in std::invoke_result<void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&>::type std::invoke<void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&>(void (QFFmpeg::EncoderThread::*&)(), QFFmpeg::VideoEncoder*&) /usr/include/c++/9/functional:81
      agent:2024/10/01 06:10:50 build.go:404:     #7 0x7f50ea5789ad in void QFFmpeg::RecordingEngine::forEachEncoder<void (QFFmpeg::EncoderThread::*)()>(void (QFFmpeg::EncoderThread::*&&)()) (/home/qt/work/install/plugins/multimedia/libffmpegmediaplugin.so+0x2569ad)
      agent:2024/10/01 06:10:50 build.go:404:     #8 0x7f50ea572c26 in QFFmpeg::RecordingEngine::EncodingFinalizer::run() /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegrecordingengine.cpp:172
      agent:2024/10/01 06:10:50 build.go:404:     #9 0x7f50f85bf89d in operator() /home/qt/work/qt/qtbase/src/corelib/thread/qthread_unix.cpp:335
      agent:2024/10/01 06:10:50 build.go:404:     #10 0x7f50f85c306a in terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > /home/qt/work/qt/qtbase/src/corelib/thread/qthread_unix.cpp:263
      agent:2024/10/01 06:10:50 build.go:404:     #11 0x7f50f85bfbf5 in QThreadPrivate::start(void*) /home/qt/work/qt/qtbase/src/corelib/thread/qthread_unix.cpp:294
      agent:2024/10/01 06:10:50 build.go:404:     #12 0x7f50f76036e9 in start_thread (/lib64/libpthread.so.0+0xa6e9)
      agent:2024/10/01 06:10:50 build.go:404: previously allocated by thread T0 here:
      agent:2024/10/01 06:10:50 build.go:404:     #0 0x7f50fcf0b9bf in operator new(unsigned long) (/usr/lib64/libasan.so.5+0x10b9bf)
      agent:2024/10/01 06:10:50 build.go:404:     #1 0x7f50ea571b5b in QFFmpeg::RecordingEngine::addVideoSource(QPlatformVideoSource*, QVideoFrame const&) /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegrecordingengine.cpp:121
      agent:2024/10/01 06:10:50 build.go:404:     #2 0x7f50ea58a126 in operator() /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencodinginitializer.cpp:110
      agent:2024/10/01 06:10:50 build.go:404:     #3 0x7f50ea58bddc in erasePendingSource<QFFmpeg::EncodingInitializer::addPendingVideoSource(QPlatformVideoSource*)::<lambda(const QVideoFrame&)>::<lambda()> > /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencodinginitializer.cpp:151
      agent:2024/10/01 06:10:50 build.go:404:     #4 0x7f50ea58a330 in operator() /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencodinginitializer.cpp:109
      agent:2024/10/01 06:10:50 build.go:404:     #5 0x7f50ea58d519 in operator() /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:116
      agent:2024/10/01 06:10:50 build.go:404:     #6 0x7f50ea58d785 in call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<long unsigned int, _Idx ...>, QtPrivate::List<Tail ...>, R, Function>::call(Function&, void**) [with long unsigned int ...II = {0}; SignalArgs = {const QVideoFrame&}; R = void; Function = QFFmpeg::EncodingInitializer::addPendingVideoSource(QPlatformVideoSource*)::<lambda(const QVideoFrame&)>]::<lambda()> > /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:65
      agent:2024/10/01 06:10:50 build.go:404:     #7 0x7f50ea58d637 in call /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:115
      agent:2024/10/01 06:10:50 build.go:404:     #8 0x7f50ea58cb18 in call<QtPrivate::List<const QVideoFrame&>, void> /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:337
      agent:2024/10/01 06:10:50 build.go:404:     #9 0x7f50ea58c9c5 in impl /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:547
      agent:2024/10/01 06:10:50 build.go:404:     #10 0x7f50f7f65b17 in QtPrivate::QSlotObjectBase::call(QObject*, void**) /home/qt/work/qt/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
      agent:2024/10/01 06:10:50 build.go:404:     #11 0x7f50f80c7a55 in void doActivate<false>(QObject*, int, void**) /home/qt/work/qt/qtbase/src/corelib/kernel/qobject.cpp:4124
      agent:2024/10/01 06:10:50 build.go:404:     #12 0x7f50f80b0338 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) /home/qt/work/qt/qtbase/src/corelib/kernel/qobject.cpp:4184
      agent:2024/10/01 06:10:50 build.go:404:     #13 0x7f50fc791fed in QPlatformVideoSource::newVideoFrame(QVideoFrame const&) /home/qt/work/qt/qtmultimedia_build/src/multimedia/Multimedia_autogen/YR7UWPOU5E/moc_qplatformvideosource_p.cpp:171
      agent:2024/10/01 06:10:50 build.go:404:     #14 0x7f50fc95ab6a in QVideoFrameInputPrivate::sendVideoFrame(QVideoFrame const&)::{lambda()#1}::operator()() const /home/qt/work/qt/qtmultimedia/src/multimedia/recording/qvideoframeinput.cpp:19
      agent:2024/10/01 06:10:50 build.go:404:     #15 0x7f50fc95b275 in bool QMediaFrameInputPrivate::sendMediaFrame<QVideoFrameInputPrivate::sendVideoFrame(QVideoFrame const&)::{lambda()#1}>(QVideoFrameInputPrivate::sendVideoFrame(QVideoFrame const&)::{lambda()#1}&&) /home/qt/work/qt/qtmultimedia/src/multimedia/qmediaframeinput_p.h:37
      agent:2024/10/01 06:10:50 build.go:404:     #16 0x7f50fc95ac74 in QVideoFrameInputPrivate::sendVideoFrame(QVideoFrame const&) /home/qt/work/qt/qtmultimedia/src/multimedia/recording/qvideoframeinput.cpp:19
      agent:2024/10/01 06:10:50 build.go:404:     #17 0x7f50fc95a866 in QVideoFrameInput::sendVideoFrame(QVideoFrame const&) /home/qt/work/qt/qtmultimedia/src/multimedia/recording/qvideoframeinput.cpp:134
      agent:2024/10/01 06:10:50 build.go:404:     #18 0x564515e4170a in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, bool (QVideoFrameInput::*)(QVideoFrame const&)>::call(bool (QVideoFrameInput::*)(QVideoFrame const&), QVideoFrameInput*, void**)::{lambda()#1}::operator()() const /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:127
      agent:2024/10/01 06:10:50 build.go:404:     #19 0x564515e4299a in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, bool (QVideoFrameInput::*)(QVideoFrame const&)>::call(bool (QVideoFrameInput::*)(QVideoFrame const&), QVideoFrameInput*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, bool (QVideoFrameInput::*)(QVideoFrame const&)>::call(bool (QVideoFrameInput::*)(QVideoFrame const&), QVideoFrameInput*, void**)::{lambda()#1}&&) /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:65
      agent:2024/10/01 06:10:50 build.go:404:     #20 0x564515e418db in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, bool (QVideoFrameInput::*)(QVideoFrame const&)>::call(bool (QVideoFrameInput::*)(QVideoFrame const&), QVideoFrameInput*, void**) /home/qt/work/install/include/QtCore/qobjectdefs_impl.h:126
      agent:2024/10/01 06:10:50 build.go:404:     #21 0x564515e41321 in void QtPrivate::FunctionPointer<bool (QVideoFrameInput::*)(QVideoFrame const&)>::call<QtPrivate::List<QVideoFrame const&>, void>(bool (QVideoFrameInput::*)(QVideoFrame const&), QVideoFrameInput*, void**) (/home/qt/work/qt/qtmultimedia_standalone_tests/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend+0x67321)
      agent:2024/10/01 06:10:50 build.go:404:     #22 0x564515e40af1 in QtPrivate::QCallableObject<bool (QVideoFrameInput::*)(QVideoFrame const&), QtPrivate::List<QVideoFrame const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (/home/qt/work/qt/qtmultimedia_standalone_tests/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend+0x66af1)
      agent:2024/10/01 06:10:50 build.go:404:     #23 0x7f50f7f65b17 in QtPrivate::QSlotObjectBase::call(QObject*, void**) /home/qt/work/qt/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
      agent:2024/10/01 06:10:50 build.go:404:     #24 0x7f50f80c7a55 in void doActivate<false>(QObject*, int, void**) /home/qt/work/qt/qtbase/src/corelib/kernel/qobject.cpp:4124
      agent:2024/10/01 06:10:50 build.go:404:     #25 0x7f50f80b0338 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) /home/qt/work/qt/qtbase/src/corelib/kernel/qobject.cpp:4184
      agent:2024/10/01 06:10:50 build.go:404:     #26 0x564515e4614b in VideoGenerator::frameCreated(QVideoFrame const&) /home/qt/work/qt/qtmultimedia_standalone_tests/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend_autogen/include/moc_framegenerator.cpp:186
      agent:2024/10/01 06:10:50 build.go:404:     #27 0x564515e44468 in VideoGenerator::nextFrame() /home/qt/work/qt/qtmultimedia/tests/auto/integration/qmediaframeinputsbackend/framegenerator.cpp:107
      agent:2024/10/01 06:10:50 build.go:404:     #28 0x564515e09a4d in tst_QMediaFrameInputsBackend::sinkReceivesFrameWithTransformParams_whenPresentationTransformPresent() /home/qt/work/qt/qtmultimedia/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend.cpp:413
      agent:2024/10/01 06:10:50 build.go:404:     #29 0x564515e11609 in tst_QMediaFrameInputsBackend::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/qt/work/qt/qtmultimedia_standalone_tests/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend_autogen/include/moc_tst_qmediaframeinputsbackend.cpp:212
      agent:2024/10/01 06:10:50 build.go:404:     #30 0x7f50f7fa9377 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.cpp:2761
      agent:2024/10/01 06:10:50 build.go:404:     #31 0x7f50f7fa7195 in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.cpp:2600
      agent:2024/10/01 06:10:50 build.go:404:     #32 0x7f50fccaf1fc in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<void>(QObject*, Qt::ConnectionType, QTemplatedMetaMethodReturnArgument<void>) const /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.h:149
      agent:2024/10/01 06:10:50 build.go:404:     #33 0x7f50fcca98e9 in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<>(QObject*, Qt::ConnectionType) const /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.h:161
      agent:2024/10/01 06:10:50 build.go:404:     #34 0x7f50fcc838be in invokeTestMethodIfValid /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:448
      agent:2024/10/01 06:10:50 build.go:404:     #35 0x7f50fcc89160 in QTest::TestMethods::invokeTestOnData(int) const /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1083
      agent:2024/10/01 06:10:50 build.go:404:     #36 0x7f50fcc8b0a1 in QTest::TestMethods::invokeTest(int, QLatin1String, std::optional<QTest::WatchDog>&) const /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1385
      agent:2024/10/01 06:10:50 build.go:404:     #37 0x7f50fcc8e315 in QTest::TestMethods::invokeTests(QObject*) const /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1722
      agent:2024/10/01 06:10:50 build.go:404:     #38 0x7f50fcc8fb87 in QTest::qRun() /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1946
      agent:2024/10/01 06:10:50 build.go:404:     #39 0x7f50fcc8e8f2 in QTest::qExec(QObject*, int, char**) /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1824
      agent:2024/10/01 06:10:50 build.go:404:     #40 0x564515e113d4 in main /home/qt/work/qt/qtmultimedia/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend.cpp:653
      agent:2024/10/01 06:10:50 build.go:404:     #41 0x7f50f743724c in __libc_start_main (/lib64/libc.so.6+0x3524c)
      agent:2024/10/01 06:10:50 build.go:404: Thread T236 (QThread) created by T0 here:
      agent:2024/10/01 06:10:50 build.go:404:     #0 0x7f50fce3c1d2 in pthread_create (/usr/lib64/libasan.so.5+0x3c1d2)
      agent:2024/10/01 06:10:50 build.go:404:     #1 0x7f50f85c1e15 in QThread::start(QThread::Priority) /home/qt/work/qt/qtbase/src/corelib/thread/qthread_unix.cpp:727
      agent:2024/10/01 06:10:50 build.go:404:     #2 0x7f50ea5738e5 in QFFmpeg::RecordingEngine::finalize() /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegrecordingengine.cpp:205
      agent:2024/10/01 06:10:50 build.go:404:     #3 0x7f50ea4bd169 in QFFmpegMediaRecorder::RecordingEngineDeleter::operator()(QFFmpeg::RecordingEngine*) const /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp:195
      agent:2024/10/01 06:10:50 build.go:404:     #4 0x7f50ea4bf2e7 in std::unique_ptr<QFFmpeg::RecordingEngine, QFFmpegMediaRecorder::RecordingEngineDeleter>::reset(QFFmpeg::RecordingEngine*) (/home/qt/work/install/plugins/multimedia/libffmpegmediaplugin.so+0x19d2e7)
      agent:2024/10/01 06:10:50 build.go:404:     #5 0x7f50ea4bcb8d in QFFmpegMediaRecorder::stop() /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp:140
      agent:2024/10/01 06:10:50 build.go:404:     #6 0x7f50ea4bcdcc in QFFmpegMediaRecorder::setCaptureSession(QFFmpegMediaCaptureSession*) /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp:167
      agent:2024/10/01 06:10:50 build.go:404:     #7 0x7f50ea4ae600 in QFFmpegMediaCaptureSession::setMediaRecorder(QPlatformMediaRecorder*) /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegmediacapturesession.cpp:117
      agent:2024/10/01 06:10:50 build.go:404:     #8 0x7f50fc927ac2 in QMediaCaptureSession::setRecorder(QMediaRecorder*) /home/qt/work/qt/qtmultimedia/src/multimedia/recording/qmediacapturesession.cpp:514
      agent:2024/10/01 06:10:50 build.go:404:     #9 0x7f50fc9301e8 in QMediaRecorder::~QMediaRecorder() /home/qt/work/qt/qtmultimedia/src/multimedia/recording/qmediarecorder.cpp:169
      agent:2024/10/01 06:10:50 build.go:404:     #10 0x564515e3bdfd in CaptureSessionFixture::~CaptureSessionFixture() /home/qt/work/qt/qtmultimedia/tests/auto/integration/qmediaframeinputsbackend/capturesessionfixture.cpp:13
      agent:2024/10/01 06:10:50 build.go:404:     #11 0x564515e0a15c in tst_QMediaFrameInputsBackend::sinkReceivesFrameWithTransformParams_whenPresentationTransformPresent() /home/qt/work/qt/qtmultimedia/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend.cpp:428
      agent:2024/10/01 06:10:50 build.go:404:     #12 0x564515e11609 in tst_QMediaFrameInputsBackend::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/qt/work/qt/qtmultimedia_standalone_tests/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend_autogen/include/moc_tst_qmediaframeinputsbackend.cpp:212
      agent:2024/10/01 06:10:50 build.go:404:     #13 0x7f50f7fa9377 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.cpp:2761
      agent:2024/10/01 06:10:50 build.go:404:     #14 0x7f50f7fa7195 in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.cpp:2600
      agent:2024/10/01 06:10:50 build.go:404:     #15 0x7f50fccaf1fc in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<void>(QObject*, Qt::ConnectionType, QTemplatedMetaMethodReturnArgument<void>) const /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.h:149
      agent:2024/10/01 06:10:50 build.go:404:     #16 0x7f50fcca98e9 in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<>(QObject*, Qt::ConnectionType) const /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.h:161
      agent:2024/10/01 06:10:50 build.go:404:     #17 0x7f50fcc838be in invokeTestMethodIfValid /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:448
      agent:2024/10/01 06:10:50 build.go:404:     #18 0x7f50fcc89160 in QTest::TestMethods::invokeTestOnData(int) const /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1083
      agent:2024/10/01 06:10:50 build.go:404:     #19 0x7f50fcc8b0a1 in QTest::TestMethods::invokeTest(int, QLatin1String, std::optional<QTest::WatchDog>&) const /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1385
      agent:2024/10/01 06:10:50 build.go:404:     #20 0x7f50fcc8e315 in QTest::TestMethods::invokeTests(QObject*) const /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1722
      agent:2024/10/01 06:10:50 build.go:404:     #21 0x7f50fcc8fb87 in QTest::qRun() /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1946
      agent:2024/10/01 06:10:50 build.go:404:     #22 0x7f50fcc8e8f2 in QTest::qExec(QObject*, int, char**) /home/qt/work/qt/qtbase/src/testlib/qtestcase.cpp:1824
      agent:2024/10/01 06:10:50 build.go:404:     #23 0x564515e113d4 in main /home/qt/work/qt/qtmultimedia/tests/auto/integration/qmediaframeinputsbackend/tst_qmediaframeinputsbackend.cpp:653
      agent:2024/10/01 06:10:50 build.go:404:     #24 0x7f50f743724c in __libc_start_main (/lib64/libc.so.6+0x3524c)
      agent:2024/10/01 06:10:50 build.go:404: SUMMARY: AddressSanitizer: heap-use-after-free /home/qt/work/qt/qtmultimedia/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoderthread.cpp:44 in QFFmpeg::EncoderThread::startEncoding()
      agent:2024/10/01 06:10:50 build.go:404: Shadow bytes around the buggy address:
      agent:2024/10/01 06:10:50 build.go:404:   0x0c268004a9d0: 00 00 00 00 00 00 00 00 00 00 00 fa fa fa fa fa
      agent:2024/10/01 06:10:50 build.go:404:   0x0c268004a9e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      agent:2024/10/01 06:10:50 build.go:404:   0x0c268004a9f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      agent:2024/10/01 06:10:50 build.go:404:   0x0c268004aa00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      agent:2024/10/01 06:10:50 build.go:404:   0x0c268004aa10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      agent:2024/10/01 06:10:50 build.go:404: =>0x0c268004aa20: fa fa fa fa fa fa fa fa fd fd fd fd fd fd[fd]fd
      agent:2024/10/01 06:10:50 build.go:404:   0x0c268004aa30: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
      agent:2024/10/01 06:10:50 build.go:404:   0x0c268004aa40: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
      agent:2024/10/01 06:10:50 build.go:404:   0x0c268004aa50: fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      agent:2024/10/01 06:10:50 build.go:404:   0x0c268004aa60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      agent:2024/10/01 06:10:50 build.go:404:   0x0c268004aa70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      agent:2024/10/01 06:10:50 build.go:404: Shadow byte legend (one shadow byte represents 8 application bytes):
      agent:2024/10/01 06:10:50 build.go:404:   Addressable:           00
      agent:2024/10/01 06:10:50 build.go:404:   Partially addressable: 01 02 03 04 05 06 07 
      agent:2024/10/01 06:10:50 build.go:404:   Heap left redzone:       fa
      agent:2024/10/01 06:10:50 build.go:404:   Freed heap region:       fd
      agent:2024/10/01 06:10:50 build.go:404:   Stack left redzone:      f1
      agent:2024/10/01 06:10:50 build.go:404:   Stack mid redzone:       f2
      agent:2024/10/01 06:10:50 build.go:404:   Stack right redzone:     f3
      agent:2024/10/01 06:10:50 build.go:404:   Stack after return:      f5
      agent:2024/10/01 06:10:50 build.go:404:   Stack use after scope:   f8
      agent:2024/10/01 06:10:50 build.go:404:   Global redzone:          f9
      agent:2024/10/01 06:10:50 build.go:404:   Global init order:       f6
      agent:2024/10/01 06:10:50 build.go:404:   Poisoned by user:        f7
      agent:2024/10/01 06:10:50 build.go:404:   Container overflow:      fc
      agent:2024/10/01 06:10:50 build.go:404:   Array cookie:            ac
      agent:2024/10/01 06:10:50 build.go:404:   Intra object redzone:    bb
      agent:2024/10/01 06:10:50 build.go:404:   ASan internal:           fe
      agent:2024/10/01 06:10:50 build.go:404:   Left alloca redzone:     ca
      agent:2024/10/01 06:10:50 build.go:404:   Right alloca redzone:    cb
      agent:2024/10/01 06:10:50 build.go:404:   Shadow gap:              cc
      agent:2024/10/01 06:10:50 build.go:404: ==15185==ABORTING
      
      

      compare:
      https://testresults.qt.io/logs/qt/qtmultimedia/55dcdce6ba84aef23a8a8909dc6cb6f126ab4f20/LinuxopenSUSE_15_5x86_64LinuxopenSUSE_15_5x86_64GCCqtci-linux-openSUSE-15.5-x86_64-52-b635aeSccache_UseAddressSanitizer_UseConfigure_WarningsAreErrors/0f79799d124be436130500337d15d8f6caf8cbf2/test_1727763719/log.txt.gz

      Attachments

        For Gerrit Dashboard: QTBUG-129521
        # Subject Branch Project Status CR V

        Activity

          People

            artemiy Artem Dyomin
            timblechmann tim blechmann
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes