[Bug 781147] New: ogv: Seeking OGV over HTTP often hangs

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Apr 10 17:39:59 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=781147

            Bug ID: 781147
           Summary: ogv: Seeking OGV over HTTP often hangs
    Classification: Platform
           Product: GStreamer
           Version: 1.10.4
                OS: Linux
            Status: NEW
          Severity: blocker
          Priority: Normal
         Component: gst-plugins-base
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: nicolas at ndufresne.ca
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Playing this pipeline:

gst-play-1.0 
http://upload.wikimedia.org/wikipedia/commons/a/a4/Xacti-AC8EX-Sample_video-001.ogv

And seeking backward (back arrow), quite often hang. This is observed on git
master and 1.10.4. From the back trace, pretty much everything is idles, and
soup is waiting for data:

Thread 2 (Thread 0x7fffea168700 (LWP 5402)):
#0  0x00007ffff618901d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff69d4017 in poll (__timeout=<optimized out>, __nfds=<optimized
out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:46
#2  0x00007ffff69d4017 in g_poll (fds=<optimized out>, nfds=<optimized out>,
timeout=<optimized out>) at gpoll.c:124
#3  0x00007fffedb35055 in g_socket_condition_timed_wait (socket=<optimized
out>, condition=<optimized out>, timeout=<optimized out>,
cancellable=0x555555a20d70 [GCancellable], error=0x7fffe403c2c8)
    at gsocket.c:3934
#4  0x00007fffedb35f7a in g_socket_receive_with_timeout (socket=0x7fffe4026520
[GSocket], buffer=0x7fffe4106cab
"x\361i\317\311\032m(\213\034\235\245\247Χ\216M0\344\030\277\233\376\065\375ͽ\262ɯ\323x\361i\317\311\032m(\213\034\235\245\247Χ\216M0\344\030\277\233\376\065\375ͽ\362y\376\063\275'\310
L\262ɯ\323x\361i\317\311\032m(\213\034\235\245\247Χ\216M0\344\030\277\233\376\065\375ͽ\023'G\b\372\t\362y\376\063\275'\310
L\262ɯ\323x\361i\317\311\032m(\213\034\235\245\247Χ\216M0\344\030\277\233\376\065\375ͽ\327s\023\022\020&:\207ra\017pq\023'G\b\372\t\362y\376\063\275'\310
L\262ɯ\323x\361i\317\311\032m(\213\034\235\245\247Χ\216M0\344\030\277\233\376\065"...,
size=5, timeout=-1, cancellable=0x555555a20d70 [GCancellable],
error=0x7fffe403c2c8) at gsocket.c:2806
#5  0x00007fffedb1b961 in g_input_stream_read (stream=0x555555fa4670
[GSocketInputStream], buffer=0x7fffe4106cab, count=5,
cancellable=0x555555a20d70 [GCancellable], error=0x7fffe403c2c8) at
ginputstream.c:198
#6  0x00007fffeb59bb65 in g_tls_connection_gnutls_pull_func () at
/usr/lib64/gio/modules/libgiognutls.so
#7  0x00007fffeaff8915 in _gnutls_stream_read (ms=0x7fffea16761c,
pull_func=0x7fffeb59bb00 <g_tls_connection_gnutls_pull_func>, size=5,
bufel=<synthetic pointer>, session=0x7fffe41a1400) at buffers.c:344
#8  0x00007fffeaff8915 in _gnutls_read (ms=0x7fffea16761c,
pull_func=0x7fffeb59bb00 <g_tls_connection_gnutls_pull_func>, size=5,
bufel=<synthetic pointer>, session=0x7fffe41a1400) at buffers.c:424
#9  0x00007fffeaff8915 in _gnutls_io_read_buffered
(session=session at entry=0x7fffe41a1400, total=5,
recv_type=recv_type at entry=4294967295, ms=0x7fffea16761c) at buffers.c:579
#10 0x00007fffeaff2c6f in recv_headers (ms=<optimized out>,
record=0x7fffea167670, htype=4294967295, type=GNUTLS_APPLICATION_DATA,
record_params=0x7fffd4004e00, session=0x7fffe41a1400) at record.c:1045
#11 0x00007fffeaff2c6f in _gnutls_recv_in_buffers
(session=session at entry=0x7fffe41a1400, type=type at entry=GNUTLS_APPLICATION_DATA,
htype=htype at entry=4294967295, ms=<optimized out>, ms at entry=0) at record.c:1173
#12 0x00007fffeaff44a1 in _gnutls_recv_int (session=0x7fffe41a1400,
type=GNUTLS_APPLICATION_DATA, data=0x7fffe4104c40 "\350\a", data_size=8192,
seq=0x0, ms=0) at record.c:1471
#13 0x00007fffeb59d71b in g_tls_connection_gnutls_read () at
/usr/lib64/gio/modules/libgiognutls.so
#14 0x00007fffeb59f921 in g_tls_input_stream_gnutls_read () at
/usr/lib64/gio/modules/libgiognutls.so
#15 0x00007fffedb1b961 in g_input_stream_read (stream=0x7fffe40760c0
[GTlsInputStreamGnutls], buffer=0x7fffe4104c40, count=8192,
cancellable=0x555555a20d70 [GCancellable], error=0x7fffea167880)
    at ginputstream.c:198
#16 0x00007fffedb1b961 in g_input_stream_read (stream=0x555555fa4430
[SoupFilterInputStream], buffer=0x7fffe4104c40, count=8192,
cancellable=0x555555a20d70 [GCancellable], error=0x7fffea167880)
    at ginputstream.c:198
#17 0x00007fffedeb3dfa in soup_filter_input_stream_read_until
(fstream=0x555555fa4430 [SoupFilterInputStream], buffer=0x7fffe4102c30,
length=length at entry=8192, boundary=boundary at entry=0x7fffedee7b8a,
boundary_length=boundary_length at entry=1, blocking=blocking at entry=1,
include_boundary=1, got_boundary=0x7fffea167940, cancellable=0x555555a20d70
[GCancellable], error=0x7fffea1679d0) at soup-filter-input-stream.c:226
#18 0x00007fffedeb3fa3 in soup_filter_input_stream_read_line
(fstream=<optimized out>, buffer=<optimized out>, length=length at entry=8192,
blocking=blocking at entry=1, got_line=got_line at entry=0x7fffea167940,
cancellable=cancellable at entry=0x555555a20d70 [GCancellable],
error=0x7fffea1679d0) at soup-filter-input-stream.c:186
#19 0x00007fffedebd8f9 in read_headers (error=0x7fffea1679d0,
cancellable=0x555555a20d70 [GCancellable], blocking=1, msg=0x7fffe4007390
[SoupMessage]) at soup-message-io.c:224
---Type <return> to continue, or q <return> to quit---
#20 0x00007fffedebd8f9 in io_read (msg=msg at entry=0x7fffe4007390 [SoupMessage],
blocking=blocking at entry=1, cancellable=cancellable at entry=0x555555a20d70
[GCancellable], error=error at entry=0x7fffea1679d0)
    at soup-message-io.c:616
#21 0x00007fffedebdf3d in io_run_until (msg=msg at entry=0x7fffe4007390
[SoupMessage], blocking=blocking at entry=1,
read_state=read_state at entry=SOUP_MESSAGE_IO_STATE_BODY,
write_state=write_state at entry=SOUP_MESSAGE_IO_STATE_NOT_STARTED,
cancellable=0x555555a20d70 [GCancellable], error=error at entry=0x7fffea167a40) at
soup-message-io.c:982
#22 0x00007fffedebea12 in soup_message_io_run_until_read
(msg=msg at entry=0x7fffe4007390 [SoupMessage], blocking=blocking at entry=1,
cancellable=<optimized out>, error=error at entry=0x7fffea167a40)
    at soup-message-io.c:1095
#23 0x00007fffedecef24 in soup_session_send (session=0x555555a3d110
[SoupSession], msg=0x7fffe4007390 [SoupMessage], cancellable=<optimized out>,
error=0x0) at soup-session.c:4425
#24 0x00007fffee14445a in gst_soup_http_src_do_request () at
/usr/lib64/gstreamer-1.0/libgstsouphttpsrc.so
#25 0x00007fffee1454bf in gst_soup_http_src_create () at
/usr/lib64/gstreamer-1.0/libgstsouphttpsrc.so
#26 0x00007ffff723e68f in gst_base_src_get_range (src=src at entry=0x555555a2f6e0
[GstSoupHTTPSrc], offset=offset at entry=41587, length=<optimized out>,
buf=buf at entry=0x7fffea167de8) at gstbasesrc.c:2464
#27 0x00007ffff724003f in gst_base_src_loop (pad=0x555555a30050 [GstPad]) at
gstbasesrc.c:2740
#28 0x00007ffff6f84971 in gst_task_func (task=0x555555a39170 [GstTask]) at
gsttask.c:334
#29 0x00007ffff69ec58e in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:307
#30 0x00007ffff69ebb93 in g_thread_proxy (data=0x555555a19850) at gthread.c:784
#31 0x00007ffff645a6ca in start_thread (arg=0x7fffea168700) at
pthread_create.c:333
#32 0x00007ffff6194f7f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:105

There is a ogg warning seen:

0:00:03.087518497  5699 0x7fd1280779e0 WARN                oggdemux
gstoggdemux.c:1330:gst_ogg_demux_setup_first_granule:<oggdemux0:src_627cf3f7>
Failed to read packets off first page

And some basesrc strangeness:
0:00:03.119029801  5699 0x7fd114118a30 WARN                 basesrc
gstbasesrc.c:1633:gst_base_src_perform_seek:<source> duplicate event found 604
0:00:03.254737292  5699 0x7fd114118a30 WARN                 basesrc
gstbasesrc.c:1633:gst_base_src_perform_seek:<source> duplicate event found 604
0:00:03.386847072  5699 0x7fd114118a30 WARN                 basesrc
gstbasesrc.c:1633:gst_base_src_perform_seek:<source> duplicate event found 604
0:00:03.543654085  5699 0x7fd114118a30 WARN                 basesrc
gstbasesrc.c:1633:gst_base_src_perform_seek:<source> duplicate event found 604

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list