Bug 467617 - Application freezes after media playback
Summary: Application freezes after media playback
Status: RESOLVED FIXED
Alias: None
Product: Tokodon
Classification: Applications
Component: general (show other bugs)
Version: 23.02.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-20 17:53 UTC by iodreamify
Modified: 2023-07-19 18:44 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 23.08
Sentry Crash Report:


Attachments
installed pkg list (21.29 KB, text/plain)
2023-03-23 15:21 UTC, iodreamify
Details
recording (1.97 MB, video/x-matroska)
2023-03-23 15:23 UTC, iodreamify
Details
package list with versions (7.91 KB, text/plain)
2023-04-28 09:08 UTC, Robin M
Details

Note You need to log in before you can comment on or make changes to this bug.
Description iodreamify 2023-03-20 17:53:53 UTC
SUMMARY
Tokodon freezes when i try to play back some media (mostly a gif) in my timeline a couple times. Auto-playback was off in the settings(happens anyway with it on) so i pressed the Play button a couple times. The playback itself can be kind of buggy too. 
But after scrolling a bit further after this the main window just freezes. I've tried to get a backtrace.

STEPS TO REPRODUCE
1. Manually play back a gif in the timeline a couple times
2. Scroll a little further or back

OBSERVED RESULT
Main window freezes

EXPECTED RESULT
window doesn't freeze

Backtrace: 

Continuing.
[Thread 0x7f20e95f86c0 (LWP 11549) exited]
[Thread 0x7f20e8df76c0 (LWP 11550) exited]

Thread 1 "tokodon" received signal SIGINT, Interrupt.
futex_wait (private=0, expected=2, futex_word=0x7f21043396e0) at ../sysdeps/nptl/futex-internal.h:146
146	  int err = lll_futex_timed_wait (futex_word, expected, NULL, private);
#0  futex_wait (private=0, expected=2, futex_word=0x7f21043396e0) at ../sysdeps/nptl/futex-internal.h:146
        __ret = -512
        err = <optimized out>
#1  __GI___lll_lock_wait (futex=futex@entry=0x7f21043396e0, private=0) at lowlevellock.c:49
#2  0x00007f2187aa1efa in lll_mutex_lock_optimized (mutex=0x7f21043396e0) at pthread_mutex_lock.c:48
        __futex = 0x7f21043396e0
        private = <optimized out>
        id = <optimized out>
        type = <optimized out>
        __PRETTY_FUNCTION__ = "___pthread_mutex_lock"
        id = <optimized out>
#3  ___pthread_mutex_lock (mutex=0x7f21043396e0) at pthread_mutex_lock.c:128
        id = <optimized out>
        type = <optimized out>
        __PRETTY_FUNCTION__ = "___pthread_mutex_lock"
        id = <optimized out>
#4  0x00007f214051523e in post_activate (new_mode=<optimized out>, pad=<optimized out>) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:1050
        res = 0
        old = <optimized out>
        new = <optimized out>
        dir = <optimized out>
        peer = <optimized out>
        __func__ = "activate_mode_internal"
#5  activate_mode_internal (pad=pad@entry=0x7f21043394d0 [GstPad|sink], parent=parent@entry=0x7f2104339060 [GstObject|avdec_h264-0], mode=mode@entry=GST_PAD_MODE_PUSH, active=active@entry=0) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:1228
        res = 0
        old = <optimized out>
        new = <optimized out>
        dir = <optimized out>
        peer = <optimized out>
        __func__ = "activate_mode_internal"
#6  0x00007f2140515900 in gst_pad_set_active (pad=0x7f21043394d0 [GstPad|sink], active=0) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:1119
        parent = 0x7f2104339060 [GstObject|avdec_h264-0]
        old = GST_PAD_MODE_PUSH
        ret = 0
        __func__ = "gst_pad_set_active"
#7  0x00007f21404fb187 in activate_pads.lto_priv.1.lto_priv () at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3176
#8  0x00007f21405041cc in gst_iterator_fold (it=0x55def67c42c0, func=0x7f21404fb160 <activate_pads.lto_priv.1.lto_priv>, ret=0x7ffe452f4070, user_data=0x7ffe452f40cc) at ../gstreamer/subprojects/gstreamer/gst/gstiterator.c:617
        item = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{g_type = , data = {{v_int = 70489296, v_uint = 70489296, v_long = 139779781137616, v_ulong = 139779781137616, v_int64 = 139779781137616, v_uint64 = 139779781137616, v_float = 2.11096802e-36, v_double = 6.9060387843304341e-310, v_pointer = 0x7f21043394d0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        result = GST_ITERATOR_OK
        __func__ = "gst_iterator_fold"
#9  0x00007f2140575cdd in iterator_activate_fold_with_resync.constprop.0 (iter=iter@entry=0x55def67c42c0, user_data=user_data@entry=0x7ffe452f40cc, func=<optimized out>) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3205
        ires = <optimized out>
        ret = {g_type = 0x14, data = {{v_int = 1, v_uint = 1, v_long = 1, v_ulong = 1, v_int64 = 1, v_uint64 = 1, v_float = 1.40129846e-45, v_double = 4.9406564584124654e-324, v_pointer = 0x1}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
#10 0x00007f21404f8a67 in gst_element_pads_activate (element=element@entry=0x7f2104339060 [GstElement|avdec_h264-0], active=<optimized out>, active@entry=0) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3249
        iter = 0x55def67c42c0
        res = 1
        __func__ = "gst_element_pads_activate"
#11 0x00007f21404fb341 in gst_element_change_state_func (element=0x7f2104339060 [GstElement|avdec_h264-0], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3315
        l = <optimized out>
        state = GST_STATE_PAUSED
        next = GST_STATE_READY
        result = GST_STATE_CHANGE_SUCCESS
        __func__ = "gst_element_change_state_func"
#12 0x00007f214022cc15 in gst_video_decoder_change_state (element=0x7f2104339060 [GstElement|avdec_h264-0], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:2871
        decoder = 0x7f2104339060 [GstVideoDecoder|avdec_h264-0]
        decoder_class = 0x7f2104335cc0
        ret = <optimized out>
        __func__ = "gst_video_decoder_change_state"
#13 0x00007f21404fa6e1 in gst_element_change_state (element=element@entry=0x7f2104339060 [GstElement|avdec_h264-0], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3093
        oclass = 0x7f2104335cc0
        ret = GST_STATE_CHANGE_SUCCESS
        __func__ = "gst_element_change_state"
#14 0x00007f21404fad33 in gst_element_set_state_func (element=0x7f2104339060 [GstElement|avdec_h264-0], state=GST_STATE_READY) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3047
        current = GST_STATE_PAUSED
        next = <optimized out>
        old_pending = <optimized out>
        ret = <optimized out>
        transition = GST_STATE_CHANGE_PAUSED_TO_READY
        old_ret = <optimized out>
        __func__ = "gst_element_set_state_func"
#15 0x00007f21404d32ec in gst_bin_element_set_state (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0 [0:00:00.000000000], base_time=7635969163921 [2:07:15.969163921], element=0x7f2104339060 [GstElement|avdec_h264-0], bin=0x7f2118008100 [GstBin|decodebin0]) at ../gstreamer/subprojects/gstreamer/gst/gstbin.c:2582
        child_current = <optimized out>
        found = <optimized out>
        ret = <optimized out>
        locked = <optimized out>
        child_pending = <optimized out>
        child = 0x7f2104339060 [GstElement|avdec_h264-0]
        bin = 0x7f2118008100 [GstBin|decodebin0]
        ret = <optimized out>
        current = GST_STATE_PAUSED
        next = GST_STATE_READY
        have_async = 0
        have_no_preroll = 0
        base_time = 7635969163921 [2:07:15.969163921]
        done = 0
        data = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{g_type = , data = {{v_int = 70488160, v_uint = 70488160, v_long = 139779781136480, v_ulong = 139779781136480, v_int64 = 139779781136480, v_uint64 = 139779781136480, v_float = 2.11076426e-36, v_double = 6.9060387842743082e-310, v_pointer = 0x7f2104339060}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        __func__ = "gst_bin_change_state_func"
#16 gst_bin_change_state_func (element=0x7f2118008100 [GstElement|decodebin0], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gstreamer/gst/gstbin.c:2931
        child = 0x7f2104339060 [GstElement|avdec_h264-0]
        bin = 0x7f2118008100 [GstBin|decodebin0]
        ret = <optimized out>
        current = GST_STATE_PAUSED
        next = GST_STATE_READY
        have_async = 0
        have_no_preroll = 0
        base_time = 7635969163921 [2:07:15.969163921]
        done = 0
        data = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{g_type = , data = {{v_int = 70488160, v_uint = 70488160, v_long = 139779781136480, v_ulong = 139779781136480, v_int64 = 139779781136480, v_uint64 = 139779781136480, v_float = 2.11076426e-36, v_double = 6.9060387842743082e-310, v_pointer = 0x7f2104339060}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        __func__ = "gst_bin_change_state_func"
#17 0x00007f2133e4fe4d in gst_decode_bin_change_state (element=0x7f2118008100 [GstElement|decodebin0], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:5468
        bret = <optimized out>
        ret = GST_STATE_CHANGE_SUCCESS
        dbin = 0x7f2118008100 [GstDecodeBin|decodebin0]
        chain_to_free = 0x0
        __func__ = "gst_decode_bin_change_state"
#18 0x00007f21404fa6e1 in gst_element_change_state (element=element@entry=0x7f2118008100 [GstElement|decodebin0], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3093
        oclass = 0x7f2118026990
        ret = GST_STATE_CHANGE_SUCCESS
        __func__ = "gst_element_change_state"
#19 0x00007f21404fad33 in gst_element_set_state_func (element=0x7f2118008100 [GstElement|decodebin0], state=GST_STATE_READY) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3047
        current = GST_STATE_PAUSED
        next = <optimized out>
        old_pending = <optimized out>
        ret = <optimized out>
        transition = GST_STATE_CHANGE_PAUSED_TO_READY
        old_ret = <optimized out>
        __func__ = "gst_element_set_state_func"
#20 0x00007f21404d32ec in gst_bin_element_set_state (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0 [0:00:00.000000000], base_time=7635969163921 [2:07:15.969163921], element=0x7f2118008100 [GstElement|decodebin0], bin=0x55def66269b0 [GstBin|uridecodebin0]) at ../gstreamer/subprojects/gstreamer/gst/gstbin.c:2582
        child_current = <optimized out>
        found = <optimized out>
        ret = <optimized out>
        locked = <optimized out>
        child_pending = <optimized out>
        child = 0x7f2118008100 [GstElement|decodebin0]
        bin = 0x55def66269b0 [GstBin|uridecodebin0]
        ret = <optimized out>
        current = GST_STATE_PAUSED
        next = GST_STATE_READY
        have_async = 0
        have_no_preroll = 0
        base_time = 7635969163921 [2:07:15.969163921]
        done = 0
        data = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{g_type = , data = {{v_int = 402686208, v_uint = 402686208, v_long = 139780113334528, v_ulong = 139780113334528, v_int64 = 139780113334528, v_uint64 = 139780113334528, v_float = 1.66087406e-24, v_double = 6.9060551970386214e-310, v_pointer = 0x7f2118008100}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        __func__ = "gst_bin_change_state_func"
#21 gst_bin_change_state_func (element=0x55def66269b0 [GstElement|uridecodebin0], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gstreamer/gst/gstbin.c:2931
        child = 0x7f2118008100 [GstElement|decodebin0]
        bin = 0x55def66269b0 [GstBin|uridecodebin0]
        ret = <optimized out>
        current = GST_STATE_PAUSED
        next = GST_STATE_READY
        have_async = 0
        have_no_preroll = 0
        base_time = 7635969163921 [2:07:15.969163921]
        done = 0
        data = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{g_type = , data = {{v_int = 402686208, v_uint = 402686208, v_long = 139780113334528, v_ulong = 139780113334528, v_int64 = 139780113334528, v_uint64 = 139780113334528, v_float = 1.66087406e-24, v_double = 6.9060551970386214e-310, v_pointer = 0x7f2118008100}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        __func__ = "gst_bin_change_state_func"
#22 0x00007f2133e63cad in gst_uri_decode_bin_change_state (element=0x55def66269b0 [GstElement|uridecodebin0], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gst-plugins-base/gst/playback/gsturidecodebin.c:2913
        ret = <optimized out>
        decoder = 0x55def66269b0 [GstURIDecodeBin|uridecodebin0]
        __func__ = "gst_uri_decode_bin_change_state"
#23 0x00007f21404fa6e1 in gst_element_change_state (element=element@entry=0x55def66269b0 [GstElement|uridecodebin0], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3093
        oclass = 0x55def6624160
        ret = GST_STATE_CHANGE_SUCCESS
        __func__ = "gst_element_change_state"
#24 0x00007f21404fad33 in gst_element_set_state_func (element=0x55def66269b0 [GstElement|uridecodebin0], state=GST_STATE_READY) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3047
        current = GST_STATE_PAUSED
        next = <optimized out>
        old_pending = <optimized out>
        ret = <optimized out>
        transition = GST_STATE_CHANGE_PAUSED_TO_READY
        old_ret = <optimized out>
        __func__ = "gst_element_set_state_func"
#25 0x00007f21404d32ec in gst_bin_element_set_state (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0 [0:00:00.000000000], base_time=7635969163921 [2:07:15.969163921], element=0x55def66269b0 [GstElement|uridecodebin0], bin=0x55def65f0640 [GstBin|playbin0]) at ../gstreamer/subprojects/gstreamer/gst/gstbin.c:2582
        child_current = <optimized out>
        found = <optimized out>
        ret = <optimized out>
        locked = <optimized out>
        child_pending = <optimized out>
        child = 0x55def66269b0 [GstElement|uridecodebin0]
        bin = 0x55def65f0640 [GstBin|playbin0]
        ret = <optimized out>
        current = GST_STATE_PAUSED
        next = GST_STATE_READY
        have_async = 0
        have_no_preroll = 0
        base_time = 7635969163921 [2:07:15.969163921]
        done = 0
        data = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{g_type = , data = {{v_int = -161322576, v_uint = 4133644720, v_long = 94416104745392, v_ulong = 94416104745392, v_int64 = 94416104745392, v_uint64 = 94416104745392, v_float = -1.1480495e+33, v_double = 4.6647753768846881e-310, v_pointer = 0x55def66269b0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        __func__ = "gst_bin_change_state_func"
#26 gst_bin_change_state_func (element=0x55def65f0640 [GstElement|playbin0], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gstreamer/gst/gstbin.c:2931
        child = 0x55def66269b0 [GstElement|uridecodebin0]
        bin = 0x55def65f0640 [GstBin|playbin0]
        ret = <optimized out>
        current = GST_STATE_PAUSED
        next = GST_STATE_READY
        have_async = 0
        have_no_preroll = 0
        base_time = 7635969163921 [2:07:15.969163921]
        done = 0
        data = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{g_type = , data = {{v_int = -161322576, v_uint = 4133644720, v_long = 94416104745392, v_ulong = 94416104745392, v_int64 = 94416104745392, v_uint64 = 94416104745392, v_float = -1.1480495e+33, v_double = 4.6647753768846881e-310, v_pointer = 0x55def66269b0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        __func__ = "gst_bin_change_state_func"
#27 0x00007f2140527b5c in gst_pipeline_change_state (element=0x55def65f0640 [GstElement|playbin0], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gstreamer/gst/gstpipeline.c:529
        result = GST_STATE_CHANGE_SUCCESS
        pipeline = 0x55def65f0640 [GstPipeline|playbin0]
        clock = <optimized out>
        __func__ = "gst_pipeline_change_state"
#28 0x00007f2133e7db32 in gst_play_bin_change_state (element=0x55def65f0640 [GstElement|playbin0], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gst-plugins-base/gst/playback/gstplaybin2.c:5838
        ret = <optimized out>
        playbin = 0x55def65f0640 [GstPlayBin|playbin0]
        do_save = 0
        __func__ = "gst_play_bin_change_state"
#29 0x00007f21404fa6e1 in gst_element_change_state (element=element@entry=0x55def65f0640 [GstElement|playbin0], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3093
        oclass = 0x55def65ed140
        ret = GST_STATE_CHANGE_SUCCESS
        __func__ = "gst_element_change_state"
#30 0x00007f21404fad33 in gst_element_set_state_func (element=0x55def65f0640 [GstElement|playbin0], state=GST_STATE_NULL) at ../gstreamer/subprojects/gstreamer/gst/gstelement.c:3047
        current = GST_STATE_PAUSED
        next = <optimized out>
        old_pending = <optimized out>
        ret = <optimized out>
        transition = GST_STATE_CHANGE_PAUSED_TO_READY
        old_ret = <optimized out>
        __func__ = "gst_element_set_state_func"
#31 0x00007f214060f6a5 in QGstreamerPlayerSession::stop() (this=0x55def62ed700) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/gsttools/qgstreamerplayersession.cpp:1068
        oldState = <optimized out>
#32 0x00007f2140612a60 in QGstreamerPlayerSession::~QGstreamerPlayerSession() (this=0x55def62ed700, this=<optimized out>) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/gsttools/qgstreamerplayersession.cpp:245
#33 0x00007f2140612c0e in QGstreamerPlayerSession::~QGstreamerPlayerSession() (this=0x55def62ed700, this=<optimized out>) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/gsttools/qgstreamerplayersession.cpp:254
#34 0x00007f21882b4ba5 in QObjectPrivate::deleteChildren() (this=this@entry=0x55def5d42070) at kernel/qobject.cpp:2137
        i = <optimized out>
#35 0x00007f21882b5369 in QObject::~QObject() (this=this@entry=0x55def5df89c0, this=<optimized out>) at kernel/qobject.cpp:1115
        d = <optimized out>
        sharedRefcount = <optimized out>
        cd = 0x0
#36 0x00007f217926a848 in QMediaService::~QMediaService() (this=this@entry=0x55def5df89c0, this=<optimized out>) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/multimedia/qmediaservice.cpp:109
#37 0x00007f2142ff4263 in QGstreamerPlayerService::~QGstreamerPlayerService() (this=0x55def5df89c0, this=<optimized out>) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp:102
#38 QGstreamerPlayerService::~QGstreamerPlayerService() (this=0x55def5df89c0, this=<optimized out>) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp:102
#39 QGstreamerPlayerServicePlugin::release(QMediaService*) (this=<optimized out>, service=0x55def5df89c0) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp:66
#40 0x00007f21792aac0b in QPluginServiceProvider::releaseService(QMediaService*) (service=<optimized out>, this=<optimized out>) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/multimedia/qmediaserviceprovider.cpp:450
        d = {type = {d = 0x55def5d633f0}, plugin = 0x55def5e7fdf0}
        d = <optimized out>
#41 QMediaPlayer::~QMediaPlayer() (this=0x55def5d63370, this=<optimized out>) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/multimedia/playback/qmediaplayer.cpp:692
        d = <optimized out>
#42 0x00007f21792aac5e in QMediaPlayer::~QMediaPlayer() (this=0x55def5d63370, this=<optimized out>) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/multimedia/playback/qmediaplayer.cpp:694
#43 0x00007f2179351cd5 in QDeclarativeAudio::~QDeclarativeAudio() (this=this@entry=0x7f21486a91d0, this=<optimized out>) at /usr/src/debug/qt5-multimedia/qtmultimedia/src/imports/multimedia/qdeclarativeaudio.cpp:131
#44 0x00007f2179351eb8 in QQmlPrivate::QQmlElement<QDeclarativeAudio>::~QQmlElement() (this=0x7f21486a91d0, this=<optimized out>) at /usr/include/qt/QtQml/qqmlprivate.h:144
#45 QQmlPrivate::QQmlElement<QDeclarativeAudio>::~QQmlElement() (this=0x7f21486a91d0, this=<optimized out>) at /usr/include/qt/QtQml/qqmlprivate.h:144
#46 0x00007f21882b4ba5 in QObjectPrivate::deleteChildren() (this=this@entry=0x55def5ea7df0) at kernel/qobject.cpp:2137
        i = <optimized out>
#47 0x00007f21882b5369 in QObject::~QObject() (this=this@entry=0x55def5d76d70, this=<optimized out>) at kernel/qobject.cpp:1115
        d = <optimized out>
        sharedRefcount = <optimized out>
        cd = 0x55def5de23d0
#48 0x00007f218a0299c7 in QQuickItem::~QQuickItem() (this=this@entry=0x55def5d76d70, this=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:2389
#49 0x00007f2187f0b28b in QQuickControl::~QQuickControl() (this=this@entry=0x55def5d76d70, this=<optimized out>) at /usr/src/debug/qt5-quickcontrols2/qtquickcontrols2/src/quicktemplates2/qquickcontrol.cpp:1001
#50 0x00007f217bfba00b in QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement() (this=0x55def5d76d70, this=<optimized out>) at /usr/include/qt/QtQml/qqmlprivate.h:144
#51 QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement() (this=0x55def5d76d70, this=<optimized out>) at /usr/include/qt/QtQml/qqmlprivate.h:144
#52 0x00007f21882b19da in QObject::event(QEvent*) (this=0x55def5d76d70, e=0x55def669cbe0) at kernel/qobject.cpp:1334
#53 0x00007f2188f78b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55def5d76d70, e=0x55def669cbe0) at kernel/qapplication.cpp:3640
        consumed = false
        filtered = false
#54 0x00007f218828df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55def5d76d70, event=0x55def669cbe0) at kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {0x55def5d76d70, 0x55def669cbe0, 0x7ffe452f4b5f}
        d = <optimized out>
        threadData = 0x55def4b52ec0
        scopeLevelCounter = {threadData = 0x55def4b52ec0}
#55 0x00007f218828dfb3 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#56 0x00007f218828ea53 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55def4b52ec0) at kernel/qcoreapplication.cpp:1821
        e = 0x55def669cbe0
        pe = <optimized out>
        r = <optimized out>
        event_deleter = {d = 0x55def669cbe0}
        locker = {_M_device = 0x55def4b52ef0, _M_owns = false}
        startOffset = 0
        i = @0x55def4b52ee4: 399
        cleanup = {receiver = 0x0, event_type = 0, data = 0x55def4b52ec0, exceptionCaught = true}
#57 0x00007f21882d4e88 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55def4b96f50) at kernel/qeventdispatcher_glib.cpp:277
        source = 0x55def4b96f50
#58 0x00007f218650fafb in g_main_dispatch (context=0x7f217c000ee0) at ../glib/glib/gmain.c:3460
        dispatch = 0x7f21882d4e70 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>
        prev_source = 0x0
        begin_time_nsec = 7651437630181
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x55def4b96f50
        current = 0x55def563a330
        i = 0
#59 g_main_context_dispatch (context=0x7f217c000ee0) at ../glib/glib/gmain.c:4200
#60 0x00007f218656c5d9 in g_main_context_iterate.constprop.0 (context=0x7f217c000ee0, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
        max_priority = 0
        timeout = 0
        some_ready = 1
        nfds = 2
        allocated_nfds = <optimized out>
        fds = <optimized out>
        begin_time_nsec = 7651437614118
#61 0x00007f218650d382 in g_main_context_iteration (context=0x7f217c000ee0, may_block=1) at ../glib/glib/gmain.c:4343
        retval = <optimized out>
#62 0x00007f21882d8c6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55def4b78240, flags=...) at kernel/qeventdispatcher_glib.cpp:423
        d = 0x55def4b9b8e0
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#63 0x00007f21882866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffe452f4eb0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
        d = 0x55def55d3dc0
        threadData = <optimized out>
        locker = {val = 94416076615608}
        app = <optimized out>
#64 0x00007f2188291219 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
        threadData = 0x55def4b52ec0
        eventLoop = {<QObject> = {_vptr.QObject = 0x7f2188512730 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2188375920 <_ZL26qt_meta_stringdata_QObject.lto_priv.0>, data = 0x7f2188375800 <_ZL20qt_meta_data_QObject.lto_priv.0>, static_metacall = 0x7f21882beea0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55def55d3dc0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f218839c500 <_ZL21qt_meta_stringdata_Qt.lto_priv.0>, data = 0x7f2188399680 <_ZL15qt_meta_data_Qt.lto_priv.0>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f218850b560 <QObject::staticMetaObject>}, stringdata = 0x7f21883712e0 <_ZL29qt_meta_stringdata_QEventLoop.lto_priv.0>, data = 0x7f2188371280 <_ZL23qt_meta_data_QEventLoop.lto_priv.0>, static_metacall = 0x7f2188284f30 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#65 0x000055def312af7d in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/tokodon/tokodon-23.02.0/src/main.cpp:209
        app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7f2189483660 <vtable for QApplication+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2188375920 <_ZL26qt_meta_stringdata_QObject.lto_priv.0>, data = 0x7f2188375800 <_ZL20qt_meta_data_QObject.lto_priv.0>, static_metacall = 0x7f21882beea0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55def4b52d50}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f218839c500 <_ZL21qt_meta_stringdata_Qt.lto_priv.0>, data = 0x7f2188399680 <_ZL15qt_meta_data_Qt.lto_priv.0>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f218850b560 <QObject::staticMetaObject>}, stringdata = 0x7f2188371060 <_ZL35qt_meta_stringdata_QCoreApplication.lto_priv.0>, data = 0x7f2188370f40 <_ZL29qt_meta_data_QCoreApplication.lto_priv.0>, static_metacall = 0x7f2188290820 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7ffe452f4ff0}, static staticMetaObject = {d = {superdata = {direct = 0x7f2188510380 <QCoreApplication::staticMetaObject>}, stringdata = 0x7f2188b5b720 <_ZL34qt_meta_stringdata_QGuiApplication.lto_priv.0>, data = 0x7f2188b5b4a0 <_ZL28qt_meta_data_QGuiApplication.lto_priv.0>, static_metacall = 0x7f218874b5f0 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f2188c48e80 <QGuiApplication::staticMetaObject>}, stringdata = 0x7f21893468e0 <_ZL31qt_meta_stringdata_QApplication.lto_priv.0>, data = 0x7f2189346760 <_ZL25qt_meta_data_QApplication.lto_priv.0>, static_metacall = 0x7f2188f7a430 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        about = {static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f21895742c0 <qt_meta_stringdata_KAboutData>, data = 0x7f21895741c0 <qt_meta_data_KAboutData>, static_metacall = 0x7f218951c860 <KAboutData::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = std::unique_ptr<class KAboutDataPrivate> = {get() = 0x55def4c96fb0}}
        service = {<QObject> = {_vptr.QObject = 0x7f2189c88290 <vtable for KDBusService+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2188375920 <_ZL26qt_meta_stringdata_QObject.lto_priv.0>, data = 0x7f2188375800 <_ZL20qt_meta_data_QObject.lto_priv.0>, static_metacall = 0x7f21882beea0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55def4cd1880}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f218839c500 <_ZL21qt_meta_stringdata_Qt.lto_priv.0>, data = 0x7f2188399680 <_ZL15qt_meta_data_Qt.lto_priv.0>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f218850b560 <QObject::staticMetaObject>}, stringdata = 0x7f2189c836c0 <qt_meta_stringdata_KDBusService>, data = 0x7f2189c82700 <qt_meta_data_KDBusService>, static_metacall = 0x7f2189c783d0 <KDBusService::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = std::unique_ptr<class KDBusServicePrivate> = {get() = 0x55def4cfce90}}
        config = <optimized out>
        colorScheme = {<QObject> = {_vptr.QObject = 0x55def3194c28 <vtable for ColorSchemer+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2188375920 <_ZL26qt_meta_stringdata_QObject.lto_priv.0>, data = 0x7f2188375800 <_ZL20qt_meta_data_QObject.lto_priv.0>, static_metacall = 0x7f21882beea0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55def4ce6f00}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f218839c500 <_ZL21qt_meta_stringdata_Qt.lto_priv.0>, data = 0x7f2188399680 <_ZL15qt_meta_data_Qt.lto_priv.0>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f218850b560 <QObject::staticMetaObject>}, stringdata = 0x55def316d3a0 <qt_meta_stringdata_ColorSchemer>, data = 0x55def3169780 <qt_meta_data_ColorSchemer>, static_metacall = 0x55def312f8b0 <ColorSchemer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, c = 0x55def4cd5340}
[Inferior 1 (process 11463) detached]
Exception ignored in: <gdb._GdbFile object at 0x7f637c19d090>
Traceback (most recent call last):
  File "/usr/share/gdb/python/gdb/__init__.py", line 56, in flush
    def flush(self):
KeyboardInterrupt: 


SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 5.27.3
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8
Kernel Version: 6.2.7-arch1-1 (64-bit)
Graphics Platform: Wayland
Graphics Processor: Mesa Intel® HD Graphics 3000
Comment 1 Joshua Goins 2023-03-20 18:07:58 UTC
Yes, more Qt multimedia "fun" :-) I have encountered this same sort of bug, although I'm not sure its the same one. Can you take a look at https://wiki.archlinux.org/title/GStreamer#Hardware_video_acceleration and **disable** hardware acceleration for Gstreamer by uninstalling those packages? That ended up being the cause of the issues for me, as something about Gstreamer's VA-API pipeline that Qt doesn't like.
Comment 2 iodreamify 2023-03-20 18:46:38 UTC
Sorry, I'm not like the average arch expert :) It turns out i didn't even have either gstreamer-vaapi or libva-intel-driver installed.  

Just to make sure, i installed them both and retested: gif media playback worked better but as soon as i scrolled past it in the timeline the same freeze happened.
Comment 3 Joshua Goins 2023-03-20 19:01:42 UTC
> Sorry, I'm not like the average arch expert :) It turns out i didn't even
> have either gstreamer-vaapi or libva-intel-driver installed.  
> 
> Just to make sure, i installed them both and retested: gif media playback
> worked better but as soon as i scrolled past it in the timeline the same
> freeze happened.

Ah I should've been clearer, my problem was from those packages. It's clear now that your issue doesn't stem from those unfortunately. However, I happen have a similar enough system, where I can hopefully reproduce within the next few days. And just to be sure, this is the latest Tokodon from the Archlinux repositories?
Comment 4 iodreamify 2023-03-20 19:04:30 UTC
Yes, this is the latest Tokodon from Arch's repository.
Comment 5 Joshua Goins 2023-03-23 14:52:42 UTC
I finally set up an Arch VM today, and I can't reproduce. I have only installed `gstreamer`, `gst-libav` (needed for h264 playback) and `gst-plugins-good`. Now I'm not sure what's failing... could you dump your installed packages to a file (https://wiki.archlinux.org/title/Pacman/Tips_and_tricks#With_version) and add it as an attachment to this bug report? Don't try to paste it into the comment box, it will be too long :)
Comment 6 iodreamify 2023-03-23 15:21:31 UTC
Created attachment 157530 [details]
installed pkg list

I've dumped my entire pkg list, hope it's ok. Let me know if there's anything else.
Comment 7 iodreamify 2023-03-23 15:23:50 UTC
Created attachment 157531 [details]
recording

I've also made a small recording

I can reproduce it if i go to this page: https://mastodon.social/@gamingonlinux/
  and then scroll, whilst still on it's feed, to this post: https://mastodon.social/@gamingonlinux/110072292787924891
It plays the video a few times but should then stop and if i scroll a bit past it the client freezes, as in the video.
Comment 8 iodreamify 2023-03-23 16:15:12 UTC
Also, please ignore me using ffmpeg-git. I don't know if the libs would depend on ffmpeg in this case but the problem was still present when i was with the standard ffmpeg from the arch repos.
Comment 9 Robin M 2023-04-28 09:07:51 UTC
Hi!

I am experiencing the same issue on Arch as well with both the extra/tokodon and tokodon-git from the aur. Attaching my package list as well.
Comment 10 Robin M 2023-04-28 09:08:34 UTC
Created attachment 158509 [details]
package list with versions
Comment 11 Joshua Goins 2023-04-28 20:54:02 UTC
I'm reproducing under Arch on real hardware now (as it's now one of my daily driving distributions) and I'm still a little stumped as to what the issue is. I'm still fine on Gentoo (the videos don't play correctly there but at least it doesnt crash)
Comment 12 Robin M 2023-05-01 18:41:57 UTC
(In reply to Joshua Goins from comment #11)
> I'm reproducing under Arch on real hardware now (as it's now one of my daily
> driving distributions) and I'm still a little stumped as to what the issue
> is. I'm still fine on Gentoo (the videos don't play correctly there but at
> least it doesnt crash)

Sorry about the late response. I've tried to make the bug happen again to no avail. I've updated my system in the meantime. I used diff to see what packages I've changed and nothing seems relevant apart from imagemagick and my kernel...
Comment 13 Robin M 2023-05-03 06:37:25 UTC
I take it back. Still crashes.
Comment 14 Joshua Goins 2023-05-03 14:51:58 UTC
I've been working on replacing the buggy QtMultimedia we use to something that actually functions, but no idea when it will show up in a release yet.

This bug will be updated once it gets merged, and you'll at least be able to use tokodon-git to work around this issue:

https://aur.archlinux.org/packages/tokodon-git
Comment 15 Shubham Arora 2023-05-09 09:51:20 UTC
I have experienced this crash with gst-plugins-good installed. This is required for other apps such as audiotube. Without it I this error and gifs and videos don't work. At least it doesn't crash after a while.

Warning: "No decoder available for type 'video/quicktime, variant=(string)iso'."
Error: "Your GStreamer installation is missing a plug-in."
Comment 16 Joshua Goins 2023-07-19 18:44:50 UTC
This will be fixed in 23.08 as we move from GStreamer to MPV :-)