Bug 176802

Summary: [GStreamer] Layout test fast/replaced/border-radius-clip.html crashes with GStreamer-CRITICAL **: gst_segment_to_stream_time: assertion 'segment->format == format' failed in gst_segment_to_stream_time()
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: MediaAssignee: Philippe Normand <pnormand>
Status: RESOLVED FIXED    
Severity: Normal CC: calvaris, cgarcia, pnormand, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Patch calvaris: review+

Description Michael Catanzaro 2017-09-12 13:19:41 PDT
Since enabling fatal criticals for layout tests, test fast/replaced/border-radius-clip.html has been crashing with "GStreamer-CRITICAL **: gst_segment_to_stream_time: assertion 'segment->format == format' failed" in gst_segment_to_stream_time(). Updating expectations accordingly. Backtrace:

Thread 1 (Thread 0x7efee8cff700 (LWP 5533)):
#0  _g_log_abort () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmessages.c:549
#1  0x00007eff9f13f1b5 in g_logv () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmessages.c:1357
#2  0x00007eff9f13f302 in g_log () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmessages.c:1398
#3  0x00007effa01a5a8e in gst_segment_to_stream_time () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstsegment.c:514
#4  0x00007eff38ce223f in gst_video_balance_before_transform () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gst-plugins-good-1.10.5/gst/videofilter/gstvideobalance.c:479
#5  0x00007effa0279e07 in gst_base_transform_chain () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/libs/gst/base/gstbasetransform.c:2320
#6  0x00007effa01828f7 in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4202
#7  gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4454
#8  0x00007effa018a8f2 in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4573
#9  0x00007effa0279f22 in gst_base_transform_chain () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/libs/gst/base/gstbasetransform.c:2372
#10 0x00007effa01828f7 in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4202
#11 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4454
#12 0x00007effa018a8f2 in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4573
#13 0x00007effa0279f22 in gst_base_transform_chain () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/libs/gst/base/gstbasetransform.c:2372
#14 0x00007effa01828f7 in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4202
#15 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4454
#16 0x00007effa018a8f2 in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4573
#17 0x00007effa017264b in gst_proxy_pad_chain_default () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstghostpad.c:126
#18 0x00007effa01828f7 in gst_pad_chain_data_unchecked () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4202
#19 gst_pad_push_data () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4454
#20 0x00007effa018a8f2 in gst_pad_push () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gstpad.c:4573
#21 0x00007eff480f12ae in gst_queue_push_one () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/plugins/elements/gstqueue.c:1361
#22 gst_queue_loop () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/plugins/elements/gstqueue.c:1508
#23 0x00007effa01b5981 in gst_task_func () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gstreamer-1.10.5/gst/gsttask.c:334
#24 0x00007eff9f15fcee in g_thread_pool_thread_proxy () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gthreadpool.c:307
#25 0x00007eff9f15f315 in g_thread_proxy () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gthread.c:784
#26 0x00007eff9bf77494 in start_thread (arg=0x7efee8cff700) at pthread_create.c:333
#27 0x00007eff9addc93f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Comment 1 Philippe Normand 2018-02-08 11:42:12 PST
The gif support was recently removed from the gdkpixbufdec element so I think we should assume it is not supported by the media player.
Comment 2 Philippe Normand 2018-02-08 11:46:48 PST
Created attachment 333399 [details]
Patch
Comment 3 Philippe Normand 2018-02-09 01:15:14 PST
Committed r228315: <https://trac.webkit.org/changeset/228315>
Comment 4 Radar WebKit Bug Importer 2018-02-09 01:16:31 PST
<rdar://problem/37383392>
Comment 5 Carlos Garcia Campos 2018-02-19 06:04:11 PST
Comment on attachment 333399 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=333399&action=review

> Tools/gstreamer/jhbuild.modules:80
> +      <patch file="gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch" strip="1"/>

Please, when adding patches for dependencies, add a comment here explaining where this patch comes from, if it's already upstream or when it will be and when it can be removed. There isn't even an explanation of this patch in the changelog. The point is that when bumping gst in the future, we should be able to know whether we still need the patches or not.
Comment 6 Philippe Normand 2018-02-19 06:31:19 PST
Sorry about this but:

- I thought the ChangeLog would provide enough context
- The patch will no longer apply and jhbuild will fail anyway whenever a version bump is attempted
- other patches in the moduleset don't have much context explanation either
Comment 7 Carlos Garcia Campos 2018-02-19 07:22:44 PST
(In reply to Philippe Normand from comment #6)
> Sorry about this but:
> 
> - I thought the ChangeLog would provide enough context

It only says "Added".

> - The patch will no longer apply and jhbuild will fail anyway whenever a
> version bump is attempted

So, it's not a backport from upstream? What i mena is that I need to decide whether the patch is needed or not. If the patch is already in the new version of gst we can simply remove it when bumping.

> - other patches in the moduleset don't have much context explanation either

That's exactly why I proposed to do this.