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 784063 - appsink hangs if sync is true
appsink hangs if sync is true
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.8.2
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-06-21 20:28 UTC by dashesy
Modified: 2018-11-03 11:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
base sink logs with wall-clock sync (42.96 KB, text/plain)
2017-07-19 17:21 UTC, dashesy
Details

Description dashesy 2017-06-21 20:28:19 UTC
This happens sporadically and in a slow VM (just connecting multifilesrc to appsink):

  thread #6: tid = 41178, 0x00007fe29b600c21 libc.so.6`__GI_ppoll(fds=0x00007fe27c043ac0, nfds=1, timeout=<unavailable>, sigmask=0x0000000000000000) + 145 at ppoll.c:50, name = 'multifilesrc0:s', stop reason = signal SIGSTOP
    frame #0: 0x00007fe29b600c21 libc.so.6`__GI_ppoll(fds=0x00007fe27c043ac0, nfds=1, timeout=<unavailable>, sigmask=0x0000000000000000) + 145 at ppoll.c:50
    frame #1: 0x00007fe2a5e0e818 libgstreamer-1.0.so.0`gst_poll_wait + 1784
    frame #2: 0x00007fe2a5e24eb1 libgstreamer-1.0.so.0`??? + 145
    frame #3: 0x00007fe2a5dd3dfb libgstreamer-1.0.so.0`gst_clock_id_wait + 91
    frame #4: 0x00007fe2a60dcadc libgstbase-1.0.so.0`gst_base_sink_wait_clock + 332
    frame #5: 0x00007fe2a60ddf80 libgstbase-1.0.so.0`??? + 1824
    frame #6: 0x00007fe2a60defb2 libgstbase-1.0.so.0`??? + 1938
    frame #7: 0x00007fe2a60e0620 libgstbase-1.0.so.0`??? + 240
    frame #8: 0x00007fe2a5df954f libgstreamer-1.0.so.0`??? + 1935
    frame #9: 0x00007fe2a5e01483 libgstreamer-1.0.so.0`gst_pad_push + 275
    frame #10: 0x00007fe2a60ea47d libgstbase-1.0.so.0`??? + 397
    frame #11: 0x00007fe2a5df954f libgstreamer-1.0.so.0`??? + 1935
    frame #12: 0x00007fe2a5e01483 libgstreamer-1.0.so.0`gst_pad_push + 275
    frame #13: 0x00007fe2a5dea513 libgstreamer-1.0.so.0`gst_proxy_pad_chain_default + 179
    frame #14: 0x00007fe2a5df954f libgstreamer-1.0.so.0`??? + 1935
    frame #15: 0x00007fe2a5e01483 libgstreamer-1.0.so.0`gst_pad_push + 275
    frame #16: 0x00007fe2a3eab8df libgstvideo-1.0.so.0`??? + 3167
    frame #17: 0x00007fe2a3eb2110 libgstvideo-1.0.so.0`gst_video_decoder_finish_frame + 512
    frame #18: 0x00007fe2833f46d3 libgstjpeg.so
    frame #19: 0x00007fe2a3eaa4c6 libgstvideo-1.0.so.0`??? + 422
    frame #20: 0x00007fe2a3eaa97d libgstvideo-1.0.so.0`??? + 157
    frame #21: 0x00007fe2a3ead173 libgstvideo-1.0.so.0`??? + 755
    frame #22: 0x00007fe2a5df954f libgstreamer-1.0.so.0`??? + 1935
    frame #23: 0x00007fe2a5e01483 libgstreamer-1.0.so.0`gst_pad_push + 275
    frame #24: 0x00007fe2a5df954f libgstreamer-1.0.so.0`??? + 1935
    frame #25: 0x00007fe2a5e01483 libgstreamer-1.0.so.0`gst_pad_push + 275
    frame #26: 0x00007fe2a5dea513 libgstreamer-1.0.so.0`gst_proxy_pad_chain_default + 179
    frame #27: 0x00007fe2a5df954f libgstreamer-1.0.so.0`??? + 1935
    frame #28: 0x00007fe2a5e01483 libgstreamer-1.0.so.0`gst_pad_push + 275
    frame #29: 0x00007fe2a60e5da5 libgstbase-1.0.so.0`??? + 1013
    frame #30: 0x00007fe2a5e2be71 libgstreamer-1.0.so.0`??? + 401
    frame #31: 0x00007fe29ebfd55e libglib-2.0.so.0`??? + 158
    frame #32: 0x00007fe29ebfcbc5 libglib-2.0.so.0`??? + 85
    frame #33: 0x00007fe29ca936ba libpthread.so.0`start_thread + 202
    frame #34: 0x00007fe29b60c82d libc.so.6`__clone + 109 at clone.S:109


If I set "sync=false" for appsink, the problem is resolved.

The error looks similar to this: https://lists.freedesktop.org/archives/gstreamer-bugs/2015-February/141581.html which specifies Bug #737427
Comment 1 Tim-Philipp Müller 2017-06-21 22:12:34 UTC
Could you please attach a (compressed) GST_DEBUG=*sink:6,*dec*:6 log for when that happens?
Comment 2 dashesy 2017-07-19 17:21:44 UTC
Created attachment 355971 [details]
base sink logs with wall-clock sync

Fortunately the logs were not too big, thus uncompressed.

This looks like the issue:


basesink gstbasesink.c(2547):gst_base_sink_do_sync [appsink0] possibly waiting for clock to reach 28:08:42.757704965, adjusted 28:08:42.757704965
basesink gstbasesink.c(2129):gst_base_sink_wait_clock [appsink0] time 28:08:42.757704965, base_time 28:08:42.756871766

while 28:08:42.756871766 > 28:08:42.757704965

Also potentially related: `multifilesrc do-timestamp=true`
Comment 3 Sebastian Dröge (slomo) 2018-05-07 15:57:49 UTC
It's going to wait there for the clock for 28 hours, previous timestamp looks ok. Can you provide a testcase to reproduce this problem?
Comment 4 GStreamer system administrator 2018-11-03 11:57:21 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/360.