[Bug 728772] New: Stuck in teardown.
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Apr 23 00:18:24 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=728772
GStreamer | gst-plugins-base | unspecified
Summary: Stuck in teardown.
Classification: Platform
Product: GStreamer
Version: unspecified
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: goran.jonsson at axis.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=274931)
View: https://bugzilla.gnome.org/attachment.cgi?id=274931
Review: https://bugzilla.gnome.org/review?bug=728772&attachment=274931
gst-plugins-base patch
This when tunneling and drop-backlog parameter is FALSE.
This is related to tickets
https://bugzilla.gnome.org/show_bug.cgi?id=725898
and
https://bugzilla.gnome.org/show_bug.cgi?id=728153
If reciving a teardown from remote when the watch queue is full the time
between
gst_rtsp_watch_set_flushing (priv->watch, TRUE);
,,
gst_rtsp_watch_set_flushing (priv->watch, FALSE);
is not enough to make room in queue for teardown response
This since handle-teardown and the events that make it possible
to get out of the situation, close and the possibility to write data
is handle by main loop.
This is backtrace from situation.
#0 0x7779e95c in __pthread_cond_timedwait (cond=0x73c11678, mutex=0x73c11798,
abstime=0x6df18af8) at pthread_cond_timedwait.c:168
#1 0x77864594 in g_cond_wait_until (cond=0x73c14ee0, mutex=0x73c14eb8,
end_time=<optimized out>) at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/unpacked/libs/glib-IR2.36.4-1/glib/glib/gthread-posix.c:859
#2 0x77f935d0 in gst_rtsp_watch_wait_backlog (watch=0x73c13e28,
timeout=<optimized out>)
at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/libs/gst-plugins-base/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c:3692
#3 0x77b0695c in do_send_message (client=0x73c04b10, message=0x6df18c68,
close=<optimized out>, user_data=<optimized out>)
at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/libs/gst-rtsp-server/gst-rtsp-server/gst/rtsp-server/rtsp-client.c:2665
#4 0x77b06bf0 in send_message (client=0x73c04b10, session=<optimized out>,
message=0x6df18c68, close=1)
at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/libs/gst-rtsp-server/gst-rtsp-server/gst/rtsp-server/rtsp-client.c:476
#5 0x77b0bdc8 in handle_teardown_request (ctx=0x6df18c20, client=0x73c04b10)
at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/libs/gst-rtsp-server/gst-rtsp-server/gst/rtsp-server/rtsp-client.c:846
#6 handle_request (request=<optimized out>, client=0x73c04b10) at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/libs/gst-rtsp-server/gst-rtsp-server/gst/rtsp-server/rtsp-client.c:2042
#7 gst_rtsp_client_handle_message (client=0x73c04b10, message=<optimized out>)
at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/libs/gst-rtsp-server/gst-rtsp-server/gst/rtsp-server/rtsp-client.c:2596
#8 0x77f9325c in gst_rtsp_source_dispatch_read (stream=<optimized out>,
watch=0x73c13e28)
at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/libs/gst-plugins-base/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c:3109
#9 0x77810244 in g_main_dispatch (context=0x73c116f0) at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/unpacked/libs/glib-IR2.36.4-1/glib/glib/gmain.c:3061
#10 g_main_context_dispatch (context=0x73c116f0) at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/unpacked/libs/glib-IR2.36.4-1/glib/glib/gmain.c:3637
#11 0x77810698 in g_main_context_iterate (context=0x73c116f0, block=1,
dispatch=1, self=<optimized out>) at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/unpacked/libs/glib-IR2.36.4-1/glib/glib/gmain.c:3708
#12 0x77810d44 in g_main_loop_run (loop=0x73c10588) at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/unpacked/libs/glib-IR2.36.4-1/glib/glib/gmain.c:3902
#13 0x77aea914 in do_loop (thread=0x73c01878) at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/libs/gst-rtsp-server/gst-rtsp-server/gst/rtsp-server/rtsp-thread-pool.c:329
#14 0x7784012c in g_thread_pool_thread_proxy (data=<optimized out>) at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/unpacked/libs/glib-IR2.36.4-1/glib/glib/gthreadpool.c:309
#15 0x7783f4f8 in g_thread_proxy (data=0x5a1a90) at
/home/goranjn/FLASHDIR/DROPP_PACKETS_IMPORT_2/unpacked/libs/glib-IR2.36.4-1/glib/glib/gthread.c:798
#16 0x777995b8 in start_thread (arg=0x6df194b0) at pthread_create.c:310
#17 0x774c0cfc in __thread_start () from
target/mipsisa32r2el-axis-linux-gnu/lib/libc.so.6
Solution: To empty watchs queue when doing
gst_rtsp_watch_set_flushing (priv->watch, TRUE);
Attach patch
empty_queue_flushing.patch
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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