After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 782560 - Occasional invalid use of NULL caps in clutter_gst_video_sink_parse_caps
Occasional invalid use of NULL caps in clutter_gst_video_sink_parse_caps
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: dont know
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-05-12 14:31 UTC by Vincent Penquerc'h
Modified: 2017-12-01 00:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Log of the totem run leading to the critical (527.05 KB, patch)
2017-05-12 14:33 UTC, Vincent Penquerc'h
none Details | Review

Description Vincent Penquerc'h 2017-05-12 14:31:32 UTC
From time to time, running totem on an otherwise vanilla Ogg/Vorbis/Theora video will critical due to attempting to intersect caps with NULL.

Command line:
G_DEBUG=fatal_criticals GST_DEBUG_FILE=gst.log GST_DEBUG=6 totem ~/Samples/big_buck_bunny_480p_stereo.ogg

It's racy, so I got this twice in a couple dozen runs. When it happens, it happens at the start. 


Stack trace:

  • #0 g_logv
    at gmessages.c line 324
  • #1 g_logv
    at gmessages.c line 1081
  • #2 g_log
    at gmessages.c line 1119
  • #3 g_return_if_fail_warning
  • #4 gst_caps_intersect_full
    at gstcaps.c line 1674
  • #5 gst_caps_intersect
    at gstcaps.c line 1700
  • #6 clutter_gst_video_sink_parse_caps
    at ./clutter-gst-video-sink.c line 1877
  • #7 clutter_gst_source_dispatch
    at ./clutter-gst-video-sink.c line 2012
  • #8 g_main_context_dispatch
    at gmain.c line 3154
  • #9 g_main_context_dispatch
    at gmain.c line 3769
  • #10 g_main_context_iterate
    at gmain.c line 3840
  • #11 g_main_context_iteration
    at gmain.c line 3901
  • #12 g_application_run
    at gapplication.c line 2311
  • #13 main
    at totem.c line 83
  • #4 gst_caps_intersect_full
    at gstcaps.c line 1674
  • #7 clutter_gst_source_dispatch
    at ./clutter-gst-video-sink.c line 2012
$1 = {parent = {element = {element = {object = {object = {g_type_instance = {g_class = 0x5641fcbaab50}, ref_count = 8, qdata = 0x0}, lock = {p = 0x0, i = {0, 0}}, 
          name = 0x5641fcbced80 "cluttergstvideosink0", parent = 0x5641fcf6ed70 [GstBin], Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator': 
flags = 32, control_bindings = 0x0, control_rate = 100000000, 
          last_sync = 18446744073709551615, _gst_reserved = 0x0}, state_lock = {p = 0x5641fcba7c10, i = {0, 0}}, state_cond = {p = 0x0, i = {5, 0}}, state_cookie = 2, 
        target_state = GST_STATE_PAUSED, current_state = GST_STATE_READY, next_state = GST_STATE_PAUSED, pending_state = GST_STATE_PAUSED, 
        last_return = GST_STATE_CHANGE_ASYNC, bus = 0x5641fd0b5d80 [GstBus], clock = 0x0, base_time = 0, start_time = 0, Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator': 
numpads = 1, pads = 0x5641fc8a3b40, 
        numsrcpads = 0Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator': 
, srcpads = 0x0, Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator': 
numsinkpads = 1, sinkpads = 0x5641fc8a38a0, pads_cookie = 1, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, 
      sinkpad = 0x5641fcba84e0 [GstPad], pad_mode = GST_PAD_MODE_PUSH, offset = 0, can_activate_pull = 0, can_activate_push = 1, preroll_lock = {p = 0x0, i = {0, 0}}, 
      preroll_cond = {p = 0x0, i = {0, 0}}, eos = 0, need_preroll = 1, have_preroll = 0, playing_async = 1, have_newsegment = 0, segment = {
        flags = GST_SEGMENT_FLAG_NONE, rate = 1, applied_rate = 1, format = GST_FORMAT_UNDEFINED, base = 0, offset = 0, start = 0, stop = 18446744073709551615, 
        time = 0, position = 0, duration = 18446744073709551615, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, clock_id = 0x0, sync = 1, flushing = 0, running = 0, 
      max_lateness = 20000000, priv = 0x5641fcb9f970, _gst_reserved = {0x0 <repeats 20 times>}}, width = 0, height = 0, priv = 0x5641fcb9f960, _gst_reserved = {0x0, 
      0x0, 0x0, 0x0}}, priv = 0x5641fcb9f800}


$ totem --version
totem 3.18.1

Gstreamer core and plugins are more or less master as of now.

$ oggz info ~/Samples/big_buck_bunny_480p_stereo.ogg 
Content-Duration: 00:09:56.458

Theora: serialno 0252082401
	14318 packets in 35574 pages, 0.4 packets/page, 1.018% Ogg overhead
	Theora-Version: 3.2.1
	Video-Framerate: 24.000 fps
	Video-Width: 854
	Video-Height: 480

Vorbis: serialno 0531112804
	35978 packets in 3103 pages, 11.6 packets/page, 1.128% Ogg overhead
	Audio-Samplerate: 48000 Hz
	Audio-Channels: 2
Comment 1 Vincent Penquerc'h 2017-05-12 14:33:25 UTC
Created attachment 351725 [details] [review]
Log of the totem run leading to the critical
Comment 2 Tim-Philipp Müller 2017-07-11 20:32:39 UTC
Not clear to me this is a bug in GStreamer rather than cluttervideosink?
Comment 3 Tim-Philipp Müller 2017-12-01 00:25:39 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment.
Thanks!