Pipeline deadlock on EOS event when appsink application stops pulling buffers.
This is slightly related to !232 (merged).
I have a core dump (around 4GB) but I'll just send the full thread bt if that could help. thread_apply_all_bt_full.txt I have access to the core dump file remotely though if there is anything specific I should check. In my specific case I see the following:
- send EOS down pipeline (thread 51)
- that thread (51) blocks in gst_base_src_send_event on streaming mutex 0x7f6ca8070190 held by thread 59.
- 59 is blocked by jitterbuffer in gst_rtp_jitter_buffer_chain on JBUF_WAIT_QUEUE in while still holding the mutex in above point
- Meanwhile thread 58 blocks on GST_STATE_LOCK in gst_element_send_event to the same internal GstUDPSrc due to thread 51 holding the lock (maybe not an issue)
- The event in the previous point is another EOS event that is not equal to the first EOS I sent in my application it seems.
- The only other thread worth mentioning is 64 which also references the jitterbuffer object from point 3 but blocks on a GMutex which I'm not sure how to inspect in gdb.thread_apply_all_bt_full.txt