#0 0x00007fed0b7d4f79 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 [Error: ../nptl/sysdeps/unix/sysv/linux/raise.c was not found in source tree] #1 0x00007fed0b7d8388 in __GI_abort () at abort.c:89 [Error: abort.c was not found in source tree] #2 0x00000000004b74b9 in mono_handle_native_sigsegv (signal=signal@entry=11, ctx=ctx@entry=0x7fed09007ac0) at mini-exceptions.c:2335 [Error: mini-exceptions.c was not found in source tree] #3 0x000000000050f13b in mono_arch_handle_altstack_exception (sigctx=sigctx@entry=0x7fed09007ac0, fault_addr=, stack_ovf=stack_ovf@entry=0) at exceptions-amd64.c:908 [Error: exceptions-amd64.c was not found in source tree] #4 0x0000000000423d22 in mono_sigsegv_signal_handler (_dummy=11, info=0x7fed09007bf0, context=0x7fed09007ac0) at mini.c:6769 [Error: mini.c was not found in source tree] #5 #6 strlen () at ../sysdeps/x86_64/strlen.S:106 [Error: ../sysdeps/x86_64/strlen.S was not found in source tree] #7 0x00007fed0865db03 in ?? () #8 0x0000000000000280 in ?? () #9 0x00007fecd528e068 in ?? () #10 0x00000000031ba2c0 in ?? () #11 0x00007fed0314659d in ?? () #12 0x0000000000000200 in ?? () #13 0x00007fecf5c1ac24 in gst_structure_copy (structure=0x31acd00) at gststructure.c:349 344: #ifdef USE_POISONING 345: memset (structure, 0xff, sizeof (GstStructure)); 346: #endif 347: g_slice_free (GstStructure, structure); 348: } 349: 350: /** 351: * gst_structure_get_name: 352: * @structure: a #GstStructure 353: * 354: * Get the name of @structure as a string. #14 0x00007fecf5c20979 in __gst_tag_list_copy (list=0x439dcf0) at gsttaglist.c:715 710: return list; 711: } 712: 713: /** 714: * gst_tag_list_to_string: 715: * @list: a #GstTagList 716: * 717: * Serializes a tag list to a string. 718: * 719: * Returns: a newly-allocated string, or NULL in case of an error. The 720: * string must be freed with g_free() when no longer needed. #15 0x00007fecf5ebcaa5 in gst_tag_list_copy (taglist=) at ../../../gst/gsttaglist.h:439 [Error: ../../../gst/gsttaglist.h was not found in source tree] #16 gst_base_sink_default_event (basesink=0x4322800, event=0x3a93700) at gstbasesink.c:3072 3067: * protected by the object lock so we can read it when 3068: * answering the POSITION query. */ 3069: GST_OBJECT_LOCK (basesink); 3070: basesink->eos = TRUE; 3071: GST_OBJECT_UNLOCK (basesink); 3072: 3073: /* ok, now we can post the message */ 3074: GST_DEBUG_OBJECT (basesink, "Now posting EOS"); 3075: 3076: message = gst_message_new_eos (GST_OBJECT_CAST (basesink)); 3077: gst_message_set_seqnum (message, seqnum); #17 0x00007fece51e614f in gst_fake_sink_event (bsink=0x4322800, event=0x3a93700) at gstfakesink.c:383 378: { 379: /* FIXME: this hacks around a bug in GLib/GObject: doing concurrent 380: * g_object_notify() on the same object might lead to crashes, see 381: * http://bugzilla.gnome.org/show_bug.cgi?id=166020#c60 and follow-ups. 382: * So we really don't want to do a g_object_notify() here for out-of-band 383: * events with the streaming thread possibly also doing a g_object_notify() 384: * for an in-band buffer or event. This is fixed in GLib >= 2.26 */ 385: #if !GLIB_CHECK_VERSION(2,26,0) 386: g_static_rec_mutex_lock (&sink->notify_lock); 387: g_object_notify ((GObject *) sink, "last-message"); 388: g_static_rec_mutex_unlock (&sink->notify_lock); #18 0x00007fecf5eb737d in gst_base_sink_event (pad=, parent=0x4322800, event=0x3a93700) at gstbasesink.c:3138 3133: duration = GST_BUFFER_DURATION (GST_BUFFER_CAST (sync_obj)); 3134: 3135: GST_CAT_DEBUG_OBJECT (GST_CAT_QOS, basesink, 3136: "qos: dropped buffer rt %" GST_TIME_FORMAT ", st %" GST_TIME_FORMAT 3137: ", ts %" GST_TIME_FORMAT ", dur %" GST_TIME_FORMAT, 3138: GST_TIME_ARGS (priv->current_rstart), 3139: GST_TIME_ARGS (priv->current_sstart), GST_TIME_ARGS (timestamp), 3140: GST_TIME_ARGS (duration)); 3141: GST_CAT_DEBUG_OBJECT (GST_CAT_QOS, basesink, 3142: "qos: rendered %" G_GUINT64_FORMAT ", dropped %" G_GUINT64_FORMAT, 3143: priv->rendered, priv->dropped); #19 0x00007fecf5bf76cb in gst_pad_send_event_unchecked (pad=pad@entry=0x3739870, event=event@entry=0x3a93700, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5035 5030: return GST_FLOW_NOT_NEGOTIATED; 5031: } 5032: } 5033: 5034: /** 5035: * gst_pad_get_range: 5036: * @pad: a src #GstPad, returns #GST_FLOW_ERROR if not. 5037: * @offset: The start offset of the buffer 5038: * @size: The length of the buffer 5039: * @buffer: (out callee-allocates): a pointer to hold the #GstBuffer, 5040: * returns #GST_FLOW_ERROR if %NULL. #20 0x00007fecf5bf7eb4 in gst_pad_push_event_unchecked (pad=pad@entry=0x7feccc07abe0, event=0x3a93700, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:4731 4726: GstPadPushCache scache = { NULL, }; 4727: 4728: GST_LOG_OBJECT (pad, "Taking slow path"); 4729: 4730: ret = gst_pad_push_data (pad, TRUE, buffer, &scache); 4731: 4732: if (scache.peer) { 4733: GstPadPushCache *ncache; 4734: 4735: GST_LOG_OBJECT (pad, "Caching push data"); 4736: #21 0x00007fecf5bf8328 in push_sticky (pad=0x7feccc07abe0, ev=0x7fecd528e3b0, user_data=0x7fecd528e410) at gstpad.c:3370 3365: /** 3366: * gst_pad_iterate_internal_links: 3367: * @pad: the GstPad to get the internal links of. 3368: * 3369: * Gets an iterator for the pads to which the given pad is linked to inside 3370: * of the parent element. 3371: * 3372: * Each #GstPad element yielded by the iterator will have its refcount increased, 3373: * so unref after use. 3374: * 3375: * Free-function: gst_iterator_free #22 0x00007fecf5bf6622 in events_foreach (pad=pad@entry=0x7feccc07abe0, func=func@entry=0x7fecf5bf81d0 , user_data=user_data@entry=0x7fecd528e410) at gstpad.c:530 525: /** 526: * gst_pad_new: 527: * @name: the name of the new pad. 528: * @direction: the #GstPadDirection of the pad. 529: * 530: * Creates a new pad with the given name in the given direction. 531: * If name is NULL, a guaranteed unique name (across all pads) 532: * will be assigned. 533: * This function makes a copy of the name so you can safely free the name. 534: * 535: * Returns: (transfer full): a new #GstPad, or NULL in case of an error. #23 0x00007fecf5c005f8 in check_sticky (event=0x3a93700, pad=0x7feccc07abe0) at gstpad.c:3426 3421: * Deprecated: This function does not ref the pads in the list so that they 3422: * could become invalid by the time the application accesses them. It's also 3423: * possible that the list changes while handling the pads, which the caller of 3424: * this function is unable to know. Use the thread-safe 3425: * gst_pad_iterate_internal_links_default() instead. 3426: */ 3427: #ifndef GST_REMOVE_DEPRECATED 3428: GList * 3429: gst_pad_get_internal_links_default (GstPad * pad) 3430: { 3431: GList *res = NULL; #24 gst_pad_push_event (pad=0x7feccc07abe0, event=event@entry=0x3a93700) at gstpad.c:4848 4843: 4844: if (scache.peer) { 4845: GstPadPushCache *ncache; 4846: 4847: GST_LOG_OBJECT (pad, "Caching push data"); 4848: 4849: /* make cache structure */ 4850: ncache = g_slice_new (GstPadPushCache); 4851: *ncache = scache; 4852: 4853: pad_put_cache (pad, ncache, cache_ptr); #25 0x00007fecf5ed0306 in gst_base_transform_sink_eventfunc (trans=0x3752400, event=0x3a93700) at gstbasetransform.c:1879 1874: sink_suggest, sink_suggest, priv->size_suggest); 1875: } else { 1876: GST_DEBUG_OBJECT (trans, 1877: "have suggestion equal to upstream caps %p %" GST_PTR_FORMAT, caps, 1878: caps); 1879: gst_caps_replace (&sink_suggest, caps); 1880: size_suggest = size; 1881: suggest = FALSE; 1882: } 1883: priv->suggest_pending = FALSE; 1884: GST_OBJECT_UNLOCK (pad); #26 0x00007fecf5bf76cb in gst_pad_send_event_unchecked (pad=pad@entry=0x3739640, event=event@entry=0x3a93700, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5035 5030: return GST_FLOW_NOT_NEGOTIATED; 5031: } 5032: } 5033: 5034: /** 5035: * gst_pad_get_range: 5036: * @pad: a src #GstPad, returns #GST_FLOW_ERROR if not. 5037: * @offset: The start offset of the buffer 5038: * @size: The length of the buffer 5039: * @buffer: (out callee-allocates): a pointer to hold the #GstBuffer, 5040: * returns #GST_FLOW_ERROR if %NULL. #27 0x00007fecf5bf7eb4 in gst_pad_push_event_unchecked (pad=pad@entry=0x3738fb0, event=0x3a93700, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:4731 4726: GstPadPushCache scache = { NULL, }; 4727: 4728: GST_LOG_OBJECT (pad, "Taking slow path"); 4729: 4730: ret = gst_pad_push_data (pad, TRUE, buffer, &scache); 4731: 4732: if (scache.peer) { 4733: GstPadPushCache *ncache; 4734: 4735: GST_LOG_OBJECT (pad, "Caching push data"); 4736: #28 0x00007fecf5bf8328 in push_sticky (pad=0x3738fb0, ev=0x7fecd528e690, user_data=0x7fecd528e6f0) at gstpad.c:3370 3365: /** 3366: * gst_pad_iterate_internal_links: 3367: * @pad: the GstPad to get the internal links of. 3368: * 3369: * Gets an iterator for the pads to which the given pad is linked to inside 3370: * of the parent element. 3371: * 3372: * Each #GstPad element yielded by the iterator will have its refcount increased, 3373: * so unref after use. 3374: * 3375: * Free-function: gst_iterator_free #29 0x00007fecf5bf6622 in events_foreach (pad=pad@entry=0x3738fb0, func=func@entry=0x7fecf5bf81d0 , user_data=user_data@entry=0x7fecd528e6f0) at gstpad.c:530 525: /** 526: * gst_pad_new: 527: * @name: the name of the new pad. 528: * @direction: the #GstPadDirection of the pad. 529: * 530: * Creates a new pad with the given name in the given direction. 531: * If name is NULL, a guaranteed unique name (across all pads) 532: * will be assigned. 533: * This function makes a copy of the name so you can safely free the name. 534: * 535: * Returns: (transfer full): a new #GstPad, or NULL in case of an error. #30 0x00007fecf5c005f8 in check_sticky (event=0x3a93700, pad=0x3738fb0) at gstpad.c:3426 3421: * Deprecated: This function does not ref the pads in the list so that they 3422: * could become invalid by the time the application accesses them. It's also 3423: * possible that the list changes while handling the pads, which the caller of 3424: * this function is unable to know. Use the thread-safe 3425: * gst_pad_iterate_internal_links_default() instead. 3426: */ 3427: #ifndef GST_REMOVE_DEPRECATED 3428: GList * 3429: gst_pad_get_internal_links_default (GstPad * pad) 3430: { 3431: GList *res = NULL; #31 gst_pad_push_event (pad=0x3738fb0, event=event@entry=0x3a93700) at gstpad.c:4848 4843: 4844: if (scache.peer) { 4845: GstPadPushCache *ncache; 4846: 4847: GST_LOG_OBJECT (pad, "Caching push data"); 4848: 4849: /* make cache structure */ 4850: ncache = g_slice_new (GstPadPushCache); 4851: *ncache = scache; 4852: 4853: pad_put_cache (pad, ncache, cache_ptr); #32 0x00007fecf5ed0306 in gst_base_transform_sink_eventfunc (trans=0x47966d0, event=0x3a93700) at gstbasetransform.c:1879 1874: sink_suggest, sink_suggest, priv->size_suggest); 1875: } else { 1876: GST_DEBUG_OBJECT (trans, 1877: "have suggestion equal to upstream caps %p %" GST_PTR_FORMAT, caps, 1878: caps); 1879: gst_caps_replace (&sink_suggest, caps); 1880: size_suggest = size; 1881: suggest = FALSE; 1882: } 1883: priv->suggest_pending = FALSE; 1884: GST_OBJECT_UNLOCK (pad); #33 0x00007fecf5bf76cb in gst_pad_send_event_unchecked (pad=pad@entry=0x37391e0, event=event@entry=0x3a93700, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5035 5030: return GST_FLOW_NOT_NEGOTIATED; 5031: } 5032: } 5033: 5034: /** 5035: * gst_pad_get_range: 5036: * @pad: a src #GstPad, returns #GST_FLOW_ERROR if not. 5037: * @offset: The start offset of the buffer 5038: * @size: The length of the buffer 5039: * @buffer: (out callee-allocates): a pointer to hold the #GstBuffer, 5040: * returns #GST_FLOW_ERROR if %NULL. #34 0x00007fecf5bf7eb4 in gst_pad_push_event_unchecked (pad=pad@entry=0x3738d80, event=0x3a93700, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:4731 4726: GstPadPushCache scache = { NULL, }; 4727: 4728: GST_LOG_OBJECT (pad, "Taking slow path"); 4729: 4730: ret = gst_pad_push_data (pad, TRUE, buffer, &scache); 4731: 4732: if (scache.peer) { 4733: GstPadPushCache *ncache; 4734: 4735: GST_LOG_OBJECT (pad, "Caching push data"); 4736: #35 0x00007fecf5bf8328 in push_sticky (pad=0x3738d80, ev=0x7fecd528e970, user_data=0x7fecd528e9d0) at gstpad.c:3370 3365: /** 3366: * gst_pad_iterate_internal_links: 3367: * @pad: the GstPad to get the internal links of. 3368: * 3369: * Gets an iterator for the pads to which the given pad is linked to inside 3370: * of the parent element. 3371: * 3372: * Each #GstPad element yielded by the iterator will have its refcount increased, 3373: * so unref after use. 3374: * 3375: * Free-function: gst_iterator_free #36 0x00007fecf5bf6622 in events_foreach (pad=pad@entry=0x3738d80, func=func@entry=0x7fecf5bf81d0 , user_data=user_data@entry=0x7fecd528e9d0) at gstpad.c:530 525: /** 526: * gst_pad_new: 527: * @name: the name of the new pad. 528: * @direction: the #GstPadDirection of the pad. 529: * 530: * Creates a new pad with the given name in the given direction. 531: * If name is NULL, a guaranteed unique name (across all pads) 532: * will be assigned. 533: * This function makes a copy of the name so you can safely free the name. 534: * 535: * Returns: (transfer full): a new #GstPad, or NULL in case of an error. #37 0x00007fecf5c005f8 in check_sticky (event=0x3a93700, pad=0x3738d80) at gstpad.c:3426 3421: * Deprecated: This function does not ref the pads in the list so that they 3422: * could become invalid by the time the application accesses them. It's also 3423: * possible that the list changes while handling the pads, which the caller of 3424: * this function is unable to know. Use the thread-safe 3425: * gst_pad_iterate_internal_links_default() instead. 3426: */ 3427: #ifndef GST_REMOVE_DEPRECATED 3428: GList * 3429: gst_pad_get_internal_links_default (GstPad * pad) 3430: { 3431: GList *res = NULL; #38 gst_pad_push_event (pad=0x3738d80, event=event@entry=0x3a93700) at gstpad.c:4848 4843: 4844: if (scache.peer) { 4845: GstPadPushCache *ncache; 4846: 4847: GST_LOG_OBJECT (pad, "Caching push data"); 4848: 4849: /* make cache structure */ 4850: ncache = g_slice_new (GstPadPushCache); 4851: *ncache = scache; 4852: 4853: pad_put_cache (pad, ncache, cache_ptr); #39 0x00007fecf5ed0306 in gst_base_transform_sink_eventfunc (trans=0x38c8be0, event=0x3a93700) at gstbasetransform.c:1879 1874: sink_suggest, sink_suggest, priv->size_suggest); 1875: } else { 1876: GST_DEBUG_OBJECT (trans, 1877: "have suggestion equal to upstream caps %p %" GST_PTR_FORMAT, caps, 1878: caps); 1879: gst_caps_replace (&sink_suggest, caps); 1880: size_suggest = size; 1881: suggest = FALSE; 1882: } 1883: priv->suggest_pending = FALSE; 1884: GST_OBJECT_UNLOCK (pad); #40 0x00007fecf5bf76cb in gst_pad_send_event_unchecked (pad=pad@entry=0x3738920, event=event@entry=0x3a93700, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5035 5030: return GST_FLOW_NOT_NEGOTIATED; 5031: } 5032: } 5033: 5034: /** 5035: * gst_pad_get_range: 5036: * @pad: a src #GstPad, returns #GST_FLOW_ERROR if not. 5037: * @offset: The start offset of the buffer 5038: * @size: The length of the buffer 5039: * @buffer: (out callee-allocates): a pointer to hold the #GstBuffer, 5040: * returns #GST_FLOW_ERROR if %NULL. #41 0x00007fecf5bf7eb4 in gst_pad_push_event_unchecked (pad=pad@entry=0x3738b50, event=0x3a93700, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:4731 4726: GstPadPushCache scache = { NULL, }; 4727: 4728: GST_LOG_OBJECT (pad, "Taking slow path"); 4729: 4730: ret = gst_pad_push_data (pad, TRUE, buffer, &scache); 4731: 4732: if (scache.peer) { 4733: GstPadPushCache *ncache; 4734: 4735: GST_LOG_OBJECT (pad, "Caching push data"); 4736: #42 0x00007fecf5bf8328 in push_sticky (pad=0x3738b50, ev=0x7fecd528ec50, user_data=0x7fecd528ecb0) at gstpad.c:3370 3365: /** 3366: * gst_pad_iterate_internal_links: 3367: * @pad: the GstPad to get the internal links of. 3368: * 3369: * Gets an iterator for the pads to which the given pad is linked to inside 3370: * of the parent element. 3371: * 3372: * Each #GstPad element yielded by the iterator will have its refcount increased, 3373: * so unref after use. 3374: * 3375: * Free-function: gst_iterator_free #43 0x00007fecf5bf6622 in events_foreach (pad=pad@entry=0x3738b50, func=func@entry=0x7fecf5bf81d0 , user_data=user_data@entry=0x7fecd528ecb0) at gstpad.c:530 525: /** 526: * gst_pad_new: 527: * @name: the name of the new pad. 528: * @direction: the #GstPadDirection of the pad. 529: * 530: * Creates a new pad with the given name in the given direction. 531: * If name is NULL, a guaranteed unique name (across all pads) 532: * will be assigned. 533: * This function makes a copy of the name so you can safely free the name. 534: * 535: * Returns: (transfer full): a new #GstPad, or NULL in case of an error. #44 0x00007fecf5c005f8 in check_sticky (event=0x3a93700, pad=0x3738b50) at gstpad.c:3426 3421: * Deprecated: This function does not ref the pads in the list so that they 3422: * could become invalid by the time the application accesses them. It's also 3423: * possible that the list changes while handling the pads, which the caller of 3424: * this function is unable to know. Use the thread-safe 3425: * gst_pad_iterate_internal_links_default() instead. 3426: */ 3427: #ifndef GST_REMOVE_DEPRECATED 3428: GList * 3429: gst_pad_get_internal_links_default (GstPad * pad) 3430: { 3431: GList *res = NULL; #45 gst_pad_push_event (pad=0x3738b50, event=event@entry=0x3a93700) at gstpad.c:4848 4843: 4844: if (scache.peer) { 4845: GstPadPushCache *ncache; 4846: 4847: GST_LOG_OBJECT (pad, "Caching push data"); 4848: 4849: /* make cache structure */ 4850: ncache = g_slice_new (GstPadPushCache); 4851: *ncache = scache; 4852: 4853: pad_put_cache (pad, ncache, cache_ptr); #46 0x00007fece51fb2c7 in gst_queue_push_one (queue=0x7fec9801b390) at gstqueue.c:1167 1162: GST_CAT_LOG_OBJECT (queue_dataflow, queue, 1163: "got UNEXPECTED from downstream"); 1164: /* stop pushing buffers, we dequeue all items until we see an item that we 1165: * can push again, which is EOS or NEWSEGMENT. If there is nothing in the 1166: * queue we can push, we set a flag to make the sinkpad refuse more 1167: * buffers with an UNEXPECTED return value. */ 1168: while ((data = gst_queue_locked_dequeue (queue, &is_buffer))) { 1169: if (is_buffer) { 1170: GST_CAT_LOG_OBJECT (queue_dataflow, queue, 1171: "dropping UNEXPECTED buffer %p", data); 1172: gst_buffer_unref (GST_BUFFER_CAST (data)); #47 gst_queue_loop (pad=) at gstqueue.c:1244 1239: /* have to lock for thread-safety */ 1240: GST_QUEUE_MUTEX_LOCK_CHECK (queue, out_flushing); 1241: 1242: while (gst_queue_is_empty (queue)) { 1243: GST_CAT_DEBUG_OBJECT (queue_dataflow, queue, "queue is empty"); 1244: if (!queue->silent) { 1245: GST_QUEUE_MUTEX_UNLOCK (queue); 1246: g_signal_emit (queue, gst_queue_signals[SIGNAL_UNDERRUN], 0); 1247: GST_QUEUE_MUTEX_LOCK_CHECK (queue, out_flushing); 1248: } 1249: #48 0x00007fecf5c264e9 in gst_task_func (task=0x39525f0) at gsttask.c:316 311: GST_TASK_SIGNAL (task); 312: GST_TASK_WAIT (task); 313: GST_OBJECT_UNLOCK (task); 314: /* locking order.. */ 315: if (t > 0) 316: g_static_rec_mutex_lock_full (lock, t); 317: 318: GST_OBJECT_LOCK (task); 319: if (G_UNLIKELY (GET_TASK_STATE (task) == GST_TASK_STOPPED)) { 320: GST_OBJECT_UNLOCK (task); 321: goto done; #49 0x00007fed0866689c in ?? () #50 0x0000000000000000 in ?? ()