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

[gstreamer] spurious assertion failure on shutdown

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.8
    • Multimedia
    • 4c76077e0 (6.7), 9e384f12b (dev), d1ac355c6 (tqtc/lts-6.5)

    Description

      i'm seeing a spurious assertion failure inside gstreamer with the unit tests:

      tst_qmediaplayerbackend -maxwarnings 100000 setSource_changesSourceAndMediaStatus_whenCalledWithValidFile -repeat 100
      

      gives me:

       gst_base_src_set_format: assertion 'GST_STATE (src) <= GST_STATE_READY' failed
      

      this happens in the gstreamer thread

      1  g_logv                                       (x86_64) /lib/x86_64-linux-gnu/libglib-2.0.so.0                                                                                                    0x7ffff2d196a1 
      2  g_log                                        (x86_64) /lib/x86_64-linux-gnu/libglib-2.0.so.0                                                                                                    0x7ffff2d19953 
      3  gst_base_src_set_format                      gstbasesrc.c                                                                                                                                  644  0x7fffea9b4648 
      4  gst_app_src_start                            gstappsrc.c                                                                                                                                   1096 0x7fffeb1b16fa 
      5  gst_base_src_start                           gstbasesrc.c                                                                                                                                  3570 0x7fffea9bfa93 
      6  gst_base_src_activate_pull                   gstbasesrc.c                                                                                                                                  3994 0x7fffea9c0042 
      7  gst_base_src_activate_mode                   gstbasesrc.c                                                                                                                                  4029 0x7fffea9baeab 
      8  activate_mode_internal                       gstpad.c                                                                                                                                      1224 0x7fffe7b07ffe 
      9  gst_pad_activate_mode                        gstpad.c                                                                                                                                      1329 0x7fffe7b0872f 
      10 activate_mode_internal                       gstpad.c                                                                                                                                      1192 0x7fffe7b07eeb 
      11 gst_pad_activate_mode                        gstpad.c                                                                                                                                      1329 0x7fffe7b0872f 
      12 gst_ghost_pad_internal_activate_pull_default gstghostpad.c                                                                                                                                 302  0x7fffe7aebf96 
      13 gst_ghost_pad_internal_activate_mode_default gstghostpad.c                                                                                                                                 344  0x7fffe7aebcc6 
      14 activate_mode_internal                       gstpad.c                                                                                                                                      1224 0x7fffe7b07ffe 
      15 gst_pad_activate_mode                        gstpad.c                                                                                                                                      1329 0x7fffe7b0872f 
      16 activate_mode_internal                       gstpad.c                                                                                                                                      1192 0x7fffe7b07eeb 
      17 gst_pad_activate_mode                        gstpad.c                                                                                                                                      1329 0x7fffe7b0872f 
      18 gst_type_find_element_activate_src_mode      gsttypefindelement.c                                                                                                                          1090 0x7fffe9be5705 
      19 activate_mode_internal                       gstpad.c                                                                                                                                      1224 0x7fffe7b07ffe 
      20 gst_pad_activate_mode                        gstpad.c                                                                                                                                      1329 0x7fffe7b0872f 
      21 activate_mode_internal                       gstpad.c                                                                                                                                      1192 0x7fffe7b07eeb 
      22 gst_pad_activate_mode                        gstpad.c                                                                                                                                      1329 0x7fffe7b0872f 
      23 qtdemux_sink_activate                        qtdemux.c                                                                                                                                     8591 0x7fffe4e54bb2 
      24 gst_pad_set_active                           gstpad.c                                                                                                                                      1107 0x7fffe7b078f5 
      25 activate_pads                                gstelement.c                                                                                                                                  3189 0x7fffe7ae0bd7 
      26 gst_iterator_fold                            gstiterator.c                                                                                                                                 618  0x7fffe7af97a2 
      27 iterator_activate_fold_with_resync           gstelement.c                                                                                                                                  3213 0x7fffe7ae0b25 
      28 gst_element_pads_activate                    gstelement.c                                                                                                                                  3258 0x7fffe7ae094b 
      29 gst_element_change_state_func                gstelement.c                                                                                                                                  3309 0x7fffe7adf0b1 
      30 gst_qtdemux_change_state                     qtdemux.c                                                                                                                                     2681 0x7fffe4e53c3e 
      31 gst_element_change_state                     gstelement.c                                                                                                                                  3101 0x7fffe7adce93 
      32 gst_element_set_state_func                   gstelement.c                                                                                                                                  3055 0x7fffe7adf775 
      33 gst_element_set_state                        gstelement.c                                                                                                                                  2956 0x7fffe7adc512 
      34 connect_pad                                  gstdecodebin2.c                                                                                                                               2576 0x7fffe4f59856 
      35 analyze_new_pad                              gstdecodebin2.c                                                                                                                               1908 0x7fffe4f565de 
      36 type_found                                   gstdecodebin2.c                                                                                                                               2945 0x7fffe4f54ae5 
      37 ___lldb_unnamed_symbol145                    (x86_64) /lib/x86_64-linux-gnu/libffi.so.8                                                                                                         0x7fffea77ab16 
      38 ___lldb_unnamed_symbol138                    (x86_64) /lib/x86_64-linux-gnu/libffi.so.8                                                                                                         0x7fffea7773ef 
      39 ffi_call                                     (x86_64) /lib/x86_64-linux-gnu/libffi.so.8                                                                                                         0x7fffea77a0be 
      40 g_cclosure_marshal_generic                   (x86_64) /lib/x86_64-linux-gnu/libgobject-2.0.so.0                                                                                                 0x7fffea7b8db2 
      41 g_closure_invoke                             (x86_64) /lib/x86_64-linux-gnu/libgobject-2.0.so.0                                                                                                 0x7fffea7b22fa 
      42 ___lldb_unnamed_symbol1329                   (x86_64) /lib/x86_64-linux-gnu/libgobject-2.0.so.0                                                                                                 0x7fffea7e190c 
      43 ___lldb_unnamed_symbol1162                   (x86_64) /lib/x86_64-linux-gnu/libgobject-2.0.so.0                                                                                                 0x7fffea7d2591 
      44 g_signal_emit_valist                         (x86_64) /lib/x86_64-linux-gnu/libgobject-2.0.so.0                                                                                                 0x7fffea7d27c1 
      45 g_signal_emit                                (x86_64) /lib/x86_64-linux-gnu/libgobject-2.0.so.0                                                                                                 0x7fffea7d2883 
      46 gst_type_find_element_emit_have_type         gsttypefindelement.c                                                                                                                          239  0x7fffe9be6d85 
      47 gst_type_find_element_loop                   gsttypefindelement.c                                                                                                                          1195 0x7fffe9be6272 
      48 gst_task_func                                gsttask.c                                                                                                                                     399  0x7fffe7b65705 
      49 default_func                                 gsttaskpool.c                                                                                                                                 70   0x7fffe7b6670a 
      50 ___lldb_unnamed_symbol2711                   (x86_64) /lib/x86_64-linux-gnu/libglib-2.0.so.0                                                                                                    0x7ffff2d48542 
      51 ___lldb_unnamed_symbol2690                   (x86_64) /lib/x86_64-linux-gnu/libglib-2.0.so.0                                                                                                    0x7ffff2d42c82 
      52 asan_thread_start(void *)                    (x86_64) /home/tim/build/build-qt6-dev-clang_18_qt_dev-Debug2/qtmultimedia/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend      0x55555563d42d 
      53 start_thread                                 pthread_create.c                                                                                                                              447  0x7fffede9ca94 
      54 __clone3                                     clone3.S                                                                                                                                      78   0x7fffedf29c3c 
      

      while the application thread sets the pipeline state to NULL:

                                                                                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                                                                                         
      1  futex_wait                                                                                                                                                                    futex-internal.h                                                                                                                              146  0x7fffede98f60 
      2  __GI___lll_lock_wait                                                                                                                                                          lowlevellock.c                                                                                                                                49   0x7fffede98f4a 
      3  lll_mutex_lock_optimized                                                                                                                                                      pthread_mutex_lock.c                                                                                                                          48   0x7fffedea0147 
      4  ___pthread_mutex_lock                                                                                                                                                         pthread_mutex_lock.c                                                                                                                          128  0x7fffedea0131 
      5  gst_pad_stop_task                                                                                                                                                             gstpad.c                                                                                                                                      6514 0x7fffe7b1bc8a 
      6  gst_type_find_element_activate_sink_mode                                                                                                                                      gsttypefindelement.c                                                                                                                          1288 0x7fffe9be5000 
      7  activate_mode_internal                                                                                                                                                        gstpad.c                                                                                                                                      1224 0x7fffe7b07ffe 
      8  gst_pad_set_active                                                                                                                                                            gstpad.c                                                                                                                                      1122 0x7fffe7b07a88 
      9  activate_pads                                                                                                                                                                 gstelement.c                                                                                                                                  3189 0x7fffe7ae0bd7 
      10 gst_iterator_fold                                                                                                                                                             gstiterator.c                                                                                                                                 618  0x7fffe7af97a2 
      11 iterator_activate_fold_with_resync                                                                                                                                            gstelement.c                                                                                                                                  3213 0x7fffe7ae0b25 
      12 gst_element_pads_activate                                                                                                                                                     gstelement.c                                                                                                                                  3258 0x7fffe7ae094b 
      13 gst_element_change_state_func                                                                                                                                                 gstelement.c                                                                                                                                  3323 0x7fffe7adf0db 
      14 gst_type_find_element_change_state                                                                                                                                            gsttypefindelement.c                                                                                                                          1353 0x7fffe9be4cfe 
      15 gst_element_change_state                                                                                                                                                      gstelement.c                                                                                                                                  3101 0x7fffe7adce93 
      16 gst_element_set_state_func                                                                                                                                                    gstelement.c                                                                                                                                  3055 0x7fffe7adf775 
      17 gst_element_set_state                                                                                                                                                         gstelement.c                                                                                                                                  2956 0x7fffe7adc512 
      18 gst_bin_element_set_state                                                                                                                                                     gstbin.c                                                                                                                                      2582 0x7fffe7aa66c9 
      19 gst_bin_change_state_func                                                                                                                                                     gstbin.c                                                                                                                                      2934 0x7fffe7aa082c 
      20 gst_decode_bin_change_state                                                                                                                                                   gstdecodebin2.c                                                                                                                               5500 0x7fffe4f5139c 
      21 gst_element_change_state                                                                                                                                                      gstelement.c                                                                                                                                  3101 0x7fffe7adce93 
      22 gst_element_set_state_func                                                                                                                                                    gstelement.c                                                                                                                                  3055 0x7fffe7adf775 
      23 gst_element_set_state                                                                                                                                                         gstelement.c                                                                                                                                  2956 0x7fffe7adc512 
      24 gst_bin_element_set_state                                                                                                                                                     gstbin.c                                                                                                                                      2582 0x7fffe7aa66c9 
      25 gst_bin_change_state_func                                                                                                                                                     gstbin.c                                                                                                                                      2934 0x7fffe7aa082c 
      26 gst_pipeline_change_state                                                                                                                                                     gstpipeline.c                                                                                                                                 534  0x7fffe7b23e06 
      27 gst_element_change_state                                                                                                                                                      gstelement.c                                                                                                                                  3101 0x7fffe7adce93 
      28 gst_element_set_state_func                                                                                                                                                    gstelement.c                                                                                                                                  3055 0x7fffe7adf775 
      29 gst_element_set_state                                                                                                                                                         gstelement.c                                                                                                                                  2956 0x7fffe7adc512 
      30 QGstElement::setStateSync(GstState, std::chrono::duration<long, std::ratio<1l, 1000000000l>>)                                                                                 qgst.cpp                                                                                                                                      949  0x7fffe4cf5ecb 
      31 QGstreamerMediaPlayer::~QGstreamerMediaPlayer()                                                                                                                               qgstreamermediaplayer.cpp                                                                                                                     154  0x7fffe4d2b879 
      32 QGstreamerMediaPlayer::~QGstreamerMediaPlayer()                                                                                                                               qgstreamermediaplayer.cpp                                                                                                                     151  0x7fffe4d2bb0d 
      33 non-virtual thunk to QGstreamerMediaPlayer::~QGstreamerMediaPlayer()                                                                                                          qgstreamermediaplayer.cpp                                                                                                                          0x7fffe4d2bb3d 
      34 QMediaPlayer::~QMediaPlayer()                                                                                                                                                 qmediaplayer.cpp                                                                                                                              254  0x7ffff779e7de 
      35 Fixture::~Fixture()                                                                                                                                                           fixture.h                                                                                                                                     17   0x555555682cd7 
      36 Fixture::~Fixture()                                                                                                                                                           fixture.h                                                                                                                                     17   0x555555682d0d 
      37 std::default_delete<Fixture>::operator()(Fixture *) const                                                                                                                     unique_ptr.h                                                                                                                                  93   0x5555558b5117 
      38 std::__uniq_ptr_impl<Fixture, std::default_delete<Fixture>>::reset(Fixture *)                                                                                                 unique_ptr.h                                                                                                                                  205  0x5555558b5ff2 
      39 std::unique_ptr<Fixture, std::default_delete<Fixture>>::reset(Fixture *)                                                                                                      unique_ptr.h                                                                                                                                  503  0x5555558b60e1 
      40 std::unique_ptr<Fixture, std::default_delete<Fixture>>::operator=(std::nullptr_t)                                                                                             unique_ptr.h                                                                                                                                  436  0x5555558b60b5 
      41 tst_QMediaPlayerBackend::cleanup()                                                                                                                                            tst_qmediaplayerbackend.cpp                                                                                                                   82   0x55555587e7f4 
      42 tst_QMediaPlayerBackend::qt_static_metacall(QObject *, QMetaObject::Call, int, void * *)                                                                                      tst_qmediaplayerbackend.moc                                                                                                                   537  0x5555557a1761 
      43 QMetaMethodInvoker::invokeImpl(QMetaMethod, void *, Qt::ConnectionType, long long, void const * const *, const char * const *, QtPrivate::QMetaTypeInterface const * const *) qmetaobject.cpp                                                                                                                               2754 0x7fffeeb7eab4 
      44 QMetaMethod::invokeImpl(QMetaMethod, void *, Qt::ConnectionType, long long, void const * const *, const char * const *, QtPrivate::QMetaTypeInterface const * const *)        qmetaobject.cpp                                                                                                                               2593 0x7fffeeb90044 
      45 std::enable_if<!AreOldStyleArgs<>::value, bool>::type QMetaMethod::invoke<void>(QObject *, Qt::ConnectionType, QTemplatedMetaMethodReturnArgument<void>) const                qmetaobject.h                                                                                                                                 148  0x7ffff7cc1edf 
      46 std::enable_if<!AreOldStyleArgs<>::value, bool>::type QMetaMethod::invoke<>(QObject *, Qt::ConnectionType) const                                                              qmetaobject.h                                                                                                                                 160  0x7ffff7cc1c5a 
      47 QTest::invokeTestMethodIfValid(QMetaMethod, QObject *)                                                                                                                        qtestcase.cpp                                                                                                                                 448  0x7ffff7c9e410 
      48 QTest::TestMethods::invokeTestOnData(int) const                                                                                                                               qtestcase.cpp                                                                                                                                 1099 0x7ffff7c9d792 
      49 QTest::TestMethods::invokeTest(int, QLatin1String, std::optional<QTest::WatchDog>&) const                                                                                     qtestcase.cpp                                                                                                                                 1388 0x7ffff7c9f7f1 
      50 QTest::TestMethods::invokeTests(QObject *) const                                                                                                                              qtestcase.cpp                                                                                                                                 1725 0x7ffff7ca3e48 
      51 QTest::qRun()                                                                                                                                                                 qtestcase.cpp                                                                                                                                 1930 0x7ffff7ca562c 
      52 QTest::qExec(QObject *, int, char * *)                                                                                                                                        qtestcase.cpp                                                                                                                                 1808 0x7ffff7ca42c3 
      53 main                                                                                                                                                                          tst_qmediaplayerbackend.cpp                                                                                                                   3098 0x5555557a1507 
      54 __libc_start_call_main                                                                                                                                                        libc_start_call_main.h                                                                                                                        58   0x7fffede2a1ca 
      55 __libc_start_main_impl                                                                                                                                                        libc-start.c                                                                                                                                  360  0x7fffede2a28b 
      56 _start                                                                                                                                                                        (x86_64) /home/tim/build/build-qt6-dev-clang_18_qt_dev-Debug2/qtmultimedia/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend      0x5555555a4af5 
      

      It seems to be a gstreamer upstream bug

      Attachments

        Issue Links

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

          Activity

            People

              timblechmann tim blechmann
              timblechmann tim blechmann
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes