vaav1enc: Asserts when handling EOS event
cc @vjaquez
Thread 1 (Thread 0x7f5e71bc2bc0 (LWP 665492)):
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007f5e775608a3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007f5e7750e8ee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f5e774f68ff in __GI_abort () at abort.c:79
#4 0x00007f5e77b1e056 in g_assertion_message (domain=domain@entry=0x0, file=file@entry=0x7f5e13fee6a8 "../gstreamer/subprojects/gst-plugins-bad/sys/va/gstvaav1enc.c", line=line@entry=1284, func=func@entry=0x7f5e13feff80 <__func__.21> "gst_va_av1_enc_reorder_frame", message=message@entry=0x9041d0 "assertion failed: (!_av1_gf_group_is_empty (&self->gop.current_group))") at ../glib/gtestutils.c:3497
#5 0x00007f5e77b7fad7 in g_assertion_message_expr (domain=domain@entry=0x0, file=file@entry=0x7f5e13fee6a8 "../gstreamer/subprojects/gst-plugins-bad/sys/va/gstvaav1enc.c", line=line@entry=1284, func=func@entry=0x7f5e13feff80 <__func__.21> "gst_va_av1_enc_reorder_frame", expr=expr@entry=0x7f5e13fef978 "!_av1_gf_group_is_empty (&self->gop.current_group)") at ../glib/gtestutils.c:3523
#6 0x00007f5e13fdf8de in gst_va_av1_enc_reorder_frame (base=0xf87270 [GstVaAV1Enc], frame=<optimized out>, bump_all=<optimized out>, out_frame=0x7ffcb08d9d48) at ../gstreamer/subprojects/gst-plugins-bad/sys/va/gstvaav1enc.c:1284
#7 0x00007f5e13fa2f8e in gst_va_base_enc_drain (venc=0xf87270 [GstVaAV1Enc]) at ../gstreamer/subprojects/gst-plugins-bad/sys/va/gstvabaseenc.c:532
#8 0x00007f5e76a11461 in gst_video_encoder_sink_event_default (encoder=0xf87270 [GstVaAV1Enc], event=0xfc1e40 [GstEvent]) at ../gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoencoder.c:1129
#9 0x00007f5e76c38acd in gst_pad_send_event_unchecked (pad=pad@entry=0xfe2df0 [GstPad], event=event@entry=0xfc1e40 [GstEvent], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5971
#10 0x00007f5e76c391a4 in gst_pad_push_event_unchecked (pad=pad@entry=0xfcd880 [GstPad], event=0xfc1e40 [GstEvent], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5604
#11 0x00007f5e76c398c0 in push_sticky (pad=pad@entry=0xfcd880 [GstPad], ev=ev@entry=0x7ffcb08da030, user_data=user_data@entry=0x7ffcb08da090) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4083
#12 0x00007f5e76c36dd8 in events_foreach (pad=pad@entry=0xfcd880 [GstPad], func=func@entry=0x7f5e76c39820 <push_sticky>, user_data=user_data@entry=0x7ffcb08da090) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:613
#13 0x00007f5e76c42cd4 in check_sticky (event=0xfc1e40 [GstEvent], pad=0xfcd880 [GstPad]) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4142
#14 gst_pad_push_event (pad=0xfcd880 [GstPad], event=0xfc1e40 [GstEvent]) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5737
#15 0x00007f5e13e91225 in gst_capsfilter_sink_event (trans=0x10ff070 [GstCapsFilter], event=0xfc1e40 [GstEvent]) at ../gstreamer/subprojects/gstreamer/plugins/elements/gstcapsfilter.c:527
#16 0x00007f5e76c38acd in gst_pad_send_event_unchecked (pad=pad@entry=0x8e5920 [GstPad], event=event@entry=0xfc1e40 [GstEvent], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5971
#17 0x00007f5e76c391a4 in gst_pad_push_event_unchecked (pad=pad@entry=0xfb9570 [GstPad], event=0xfc1e40 [GstEvent], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5604
#18 0x00007f5e76c398c0 in push_sticky (pad=pad@entry=0xfb9570 [GstPad], ev=ev@entry=0x7ffcb08da2e0, user_data=user_data@entry=0x7ffcb08da340) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4083
#19 0x00007f5e76c36dd8 in events_foreach (pad=pad@entry=0xfb9570 [GstPad], func=func@entry=0x7f5e76c39820 <push_sticky>, user_data=user_data@entry=0x7ffcb08da340) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:613
#20 0x00007f5e76c42cd4 in check_sticky (event=0xfc1e40 [GstEvent], pad=0xfb9570 [GstPad]) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4142
#21 gst_pad_push_event (pad=0xfb9570 [GstPad], event=0xfc1e40 [GstEvent]) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5737
#22 0x00007f5e76c38acd in gst_pad_send_event_unchecked (pad=pad@entry=0xfc7e50 [GstPad], event=event@entry=0xfc1e40 [GstEvent], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5971
#23 0x00007f5e76c391a4 in gst_pad_push_event_unchecked (pad=pad@entry=0x107d0b0 [GstProxyPad], event=0xfc1e40 [GstEvent], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5604
#24 0x00007f5e76c398c0 in push_sticky (pad=pad@entry=0x107d0b0 [GstProxyPad], ev=ev@entry=0x7ffcb08da540, user_data=user_data@entry=0x7ffcb08da5a0) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4083
#25 0x00007f5e76c36dd8 in events_foreach (pad=pad@entry=0x107d0b0 [GstProxyPad], func=func@entry=0x7f5e76c39820 <push_sticky>, user_data=user_data@entry=0x7ffcb08da5a0) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:613
#26 0x00007f5e76c42cd4 in check_sticky (event=0xfc1e40 [GstEvent], pad=0x107d0b0 [GstProxyPad]) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4142
#27 gst_pad_push_event (pad=pad@entry=0x107d0b0 [GstProxyPad], event=0xfc1e40 [GstEvent]) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5737
#28 0x00007f5e76c42ea7 in event_forward_func (pad=0x107d0b0 [GstProxyPad], data=0x7ffcb08da690) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:3156
#29 0x00007f5e76c3ed64 in gst_pad_forward (pad=pad@entry=0xe19560 [GstGhostPad], forward=forward@entry=0x7f5e76c42df0 <event_forward_func>, user_data=user_data@entry=0x7ffcb08da690) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:3110
#30 0x00007f5e76c3ee2b in gst_pad_event_default (pad=0xe19560 [GstGhostPad], parent=<optimized out>, event=0xfc1e40 [GstEvent]) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:3207
#31 0x00007f5e76c38acd in gst_pad_send_event_unchecked (pad=pad@entry=0xe19560 [GstGhostPad], event=event@entry=0xfc1e40 [GstEvent], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5971
#32 0x00007f5e76c391a4 in gst_pad_push_event_unchecked (pad=pad@entry=0x83a820 [GstPad], event=0xfc1e40 [GstEvent], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5604
#33 0x00007f5e76c398c0 in push_sticky (pad=pad@entry=0x83a820 [GstPad], ev=ev@entry=0x7ffcb08da870, user_data=user_data@entry=0x7ffcb08da8d0) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4083
#34 0x00007f5e76c36dd8 in events_foreach (pad=pad@entry=0x83a820 [GstPad], func=func@entry=0x7f5e76c39820 <push_sticky>, user_data=user_data@entry=0x7ffcb08da8d0) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:613
#35 0x00007f5e76c42cd4 in check_sticky (event=0xfc1e40 [GstEvent], pad=0x83a820 [GstPad]) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4142
#36 gst_pad_push_event (pad=0x83a820 [GstPad], event=0xfc1e40 [GstEvent]) at ../gstreamer/subprojects/gstreamer/gst/gstpad.c:5737
#37 0x00007f5e808bb7d9 in WebCore::GStreamerElementHarness::~GStreamerElementHarness() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libwebkit2gtk-4.1.so.0
#38 0x00007f5e8085e5a9 in WebCore::GStreamerInternalVideoEncoder::~GStreamerInternalVideoEncoder() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libwebkit2gtk-4.1.so.0
#39 0x00007f5e8086704d in WTF::Detail::CallableWrapper<WTF::ThreadSafeWeakPtrControlBlock::strongDeref<WebCore::GStreamerInternalVideoEncoder, (WTF::DestructionThread)1>() const::{lambda()#1}, void>::call() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libwebkit2gtk-4.1.so.0
#40 0x00007f5e80866fbe in WTF::ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr<WebCore::GStreamerInternalVideoEncoder, (WTF::DestructionThread)1>::deref() const () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libwebkit2gtk-4.1.so.0
#41 0x00007f5e8085def9 in WebCore::GStreamerVideoEncoder::~GStreamerVideoEncoder() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libwebkit2gtk-4.1.so.0
#42 0x00007f5e7f93b1bf in WebCore::WebCodecsVideoEncoder::~WebCodecsVideoEncoder() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libwebkit2gtk-4.1.so.0
#43 0x00007f5e7f93b2b9 in WebCore::WebCodecsVideoEncoder::~WebCodecsVideoEncoder() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libwebkit2gtk-4.1.so.0
#44 0x00007f5e7f945e2d in non-virtual thunk to WebCore::WebCodecsVideoEncoder::derefEventTarget() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libwebkit2gtk-4.1.so.0
#45 0x00007f5e7b19db5f in JSC::PreciseAllocation::sweep() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#46 0x00007f5e7b195ce9 in JSC::MarkedSpace::sweepPreciseAllocations() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#47 0x00007f5e7b15f39c in JSC::Heap::finalize() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#48 0x00007f5e7b15eda2 in JSC::Heap::handleNeedFinalize(unsigned int) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#49 0x00007f5e7b15b53f in JSC::Heap::finishChangingPhase(JSC::GCConductor) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#50 0x00007f5e7b15cb97 in JSC::Heap::runEndPhase(JSC::GCConductor) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#51 0x00007f5e7b15b3c2 in JSC::Heap::runCurrentPhase(JSC::GCConductor, JSC::CurrentThreadState*) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#52 0x00007f5e7b16d18d in WTF::ScopedLambdaFunctor<void (JSC::CurrentThreadState&), JSC::Heap::collectInMutatorThread()::$_0>::implFunction(void*, JSC::CurrentThreadState&) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#53 0x00007f5e7b192dd7 in JSC::callWithCurrentThreadState(WTF::ScopedLambda<void (JSC::CurrentThreadState&)> const&) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#54 0x00007f5e7b15ee5e in JSC::Heap::collectInMutatorThread() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#55 0x00007f5e7b15af62 in JSC::Heap::waitForCollection(unsigned long) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#56 0x00007f5e7b15a711 in JSC::Heap::collect(JSC::Synchronousness, JSC::GCRequest) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#57 0x00007f5e7b150550 in JSC::EdenGCActivityCallback::doCollection(JSC::VM&) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#58 0x00007f5e80534a54 in WebCore::OpportunisticTaskScheduler::EdenGCActivityCallback::doCollection(JSC::VM&) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libwebkit2gtk-4.1.so.0
#59 0x00007f5e7b707396 in JSC::JSRunLoopTimer::timerDidFire() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#60 0x00007f5e7b707189 in JSC::JSRunLoopTimer::Manager::timerDidFire() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#61 0x00007f5e7bd49aae in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::$_0::__invoke(void*) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#62 0x00007f5e7bd48f3a in WTF::RunLoop::$_0::__invoke(_GSource*, int (*)(void*), void*) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#63 0x00007f5e77b59e5c in g_main_dispatch (context=0x64efa0) at ../glib/gmain.c:3476
#64 g_main_context_dispatch_unlocked (context=0x64efa0) at ../glib/gmain.c:4284
#65 0x00007f5e77bb4f18 in g_main_context_iterate_unlocked.isra.0 (context=0x64efa0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
#66 0x00007f5e77b5b447 in g_main_loop_run (loop=0x678600) at ../glib/gmain.c:4551
#67 0x00007f5e7bd494f8 in WTF::RunLoop::run() () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-4.1.so.0
#68 0x00007f5e7ec25d0b in WebKit::WebProcessMain(int, char**) () at /var/home/phil/WebKit/WebKitBuild/GTK/Release/lib/libwebkit2gtk-4.1.so.0
#69 0x00007f5e774f814a in __libc_start_call_main (main=main@entry=0x201800 <main>, argc=argc@entry=4, argv=argv@entry=0x7ffcb08db298) at ../sysdeps/nptl/libc_start_call_main.h:58
#70 0x00007f5e774f820b in __libc_start_main_impl (main=0x201800 <main>, argc=4, argv=0x7ffcb08db298, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcb08db288) at ../csu/libc-start.c:360
#71 0x0000000000201735 in _start ()
...
STDERR: ERROR:../gstreamer/subprojects/gst-plugins-bad/sys/va/gstvaav1enc.c:1284:gst_va_av1_enc_reorder_frame: assertion failed: (!_av1_gf_group_is_empty (&self->gop.current_group))
STDERR: WebKitWebProcess terminated (pid 665492) for reason: crash