[gstreamer-bugs] [Bug 589849] New: [pulsesink][regression] Segfault when seeking at the end of file
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Mon Jul 27 03:24:32 PDT 2009
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
http://bugzilla.gnome.org/show_bug.cgi?id=589849
GStreamer | gst-plugins-good | Ver: git
Summary: [pulsesink][regression] Segfault when seeking at the end
of file
Product: GStreamer
Version: git
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: damien.lespiau at gmail.com
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME version: Unspecified
GNOME milestone: Unspecified
I'm playing a theora/flac video, and doing a seek to the end of the file with:
gst_element_seek (priv->playbin,
1.0,
GST_FORMAT_TIME,
GST_SEEK_FLAG_FLUSH,
GST_SEEK_TYPE_SET,
position,
0, 0);
where position is the duration of the video.
* This works with the trio gstreamer git/gst-plugins-base git/gst-plugins-good
0.10.14
* It segfaults with the trio gstreamer git/gst-plugins-base
git/gst-plugins-good 0.10.15
* It segfaults with the trio gstreamer git/gst-plugins-base
git/gst-plugins-good git
So, if I haven't mix things with the git checkouts and make installs it means
the regression is due to a change in pulsesink, introduced between 0.10.14 and
0.10.15. (yes, ready for a git bisect, will do it later)
The segfault has the following backtrace.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb22eab90 (LWP 865)]
memcpy () at ../sysdeps/i386/i586/memcpy.S:118
118 L(1): rep; movsb
Current language: auto; currently asm
(gdb) bt
#0 memcpy () at ../sysdeps/i386/i586/memcpy.S:118
#1 0xb2e25b19 in gst_pulseringbuffer_commit (buf=0x8e306d0,
sample=0xb22e95e8, data=0x18bfc <Address 0x18bfc out of bounds>,
in_samples=-25343, out_samples=25343, accum=0xb22e9604) at pulsesink.c:1232
#2 0xb71100a1 in gst_ring_buffer_commit_full (buf=0x8e306d0,
sample=0xb22e95e8, data=0x18bfc <Address 0x18bfc out of bounds>,
in_samples=-25343, out_samples=-25343, accum=0xb22e9604)
at gstringbuffer.c:1727
#3 0xb71053b1 in gst_base_audio_sink_render (bsink=0x8e2bba0, buf=0x84a1990)
at gstbaseaudiosink.c:1495
#4 0xb736d7a0 in gst_base_sink_render_object (basesink=0x8e2bba0,
pad=0x8e3c010, is_list=0, obj=0x84a1990) at gstbasesink.c:2711
#5 0xb736ef17 in gst_base_sink_queue_object_unlocked (basesink=0x8e2bba0,
pad=0x8e3c010, is_list=0, obj=0x84a1990, prerollable=1)
at gstbasesink.c:2952
#6 0xb7370fbc in gst_base_sink_chain_unlocked (basesink=0x8e2bba0,
pad=0x8e3c010, is_list=0, obj=0x84a1990) at gstbasesink.c:3322
#7 0xb7371524 in gst_base_sink_chain_main (basesink=0x8e2bba0, pad=0x8e3c010,
is_list=0, obj=0x84a1990) at gstbasesink.c:3360
#8 0xb72f08d7 in gst_pad_chain_data_unchecked (pad=0x8e3c010, is_buffer=1,
data=0x84a1990) at gstpad.c:4057
#9 0xb72f14e9 in gst_pad_push_data (pad=0x8d470e8, is_buffer=1,
data=0x84a1990) at gstpad.c:4287
#10 0xb72e03cd in gst_proxy_pad_do_chain (pad=0x8e3dbd8, buffer=0x84a1990)
at gstghostpad.c:179
#11 0xb72f08d7 in gst_pad_chain_data_unchecked (pad=0x8e3dbd8, is_buffer=1,
data=0x84a1990) at gstpad.c:4057
#12 0xb72f14e9 in gst_pad_push_data (pad=0x8d476d0, is_buffer=1,
data=0x84a1990) at gstpad.c:4287
#13 0xb72e03cd in gst_proxy_pad_do_chain (pad=0x8de5ca0, buffer=0x84a1990)
at gstghostpad.c:179
#14 0xb72f08d7 in gst_pad_chain_data_unchecked (pad=0x8de5ca0, is_buffer=1,
data=0x84a1990) at gstpad.c:4057
#15 0xb72f14e9 in gst_pad_push_data (pad=0x8e046e8, is_buffer=1,
data=0x84a1990) at gstpad.c:4287
#16 0xb72e03cd in gst_proxy_pad_do_chain (pad=0x8d46a58, buffer=0x84a1990)
at gstghostpad.c:179
#17 0xb72f08d7 in gst_pad_chain_data_unchecked (pad=0x8d46a58, is_buffer=1,
data=0x84a1990) at gstpad.c:4057
#18 0xb72f14e9 in gst_pad_push_data (pad=0x8d80f18, is_buffer=1,
data=0x84a1990) at gstpad.c:4287
#19 0xb738592f in gst_base_transform_chain (pad=0x8de5578, buffer=0x84a1990)
at gstbasetransform.c:2039
#20 0xb72f08d7 in gst_pad_chain_data_unchecked (pad=0x8de5578, is_buffer=1,
data=0x84a1990) at gstpad.c:4057
#21 0xb72f14e9 in gst_pad_push_data (pad=0x8de54b0, is_buffer=1,
data=0x84a1990) at gstpad.c:4287
#22 0xb738592f in gst_base_transform_chain (pad=0x8e3b718, buffer=0x84a1990)
at gstbasetransform.c:2039
#23 0xb72f08d7 in gst_pad_chain_data_unchecked (pad=0x8e3b718, is_buffer=1,
data=0x84a1990) at gstpad.c:4057
#24 0xb72f14e9 in gst_pad_push_data (pad=0x8d80e50, is_buffer=1,
data=0x84a1990) at gstpad.c:4287
#25 0xb738592f in gst_base_transform_chain (pad=0x8d49268, buffer=0x84a1990)
at gstbasetransform.c:2039
#26 0xb72f08d7 in gst_pad_chain_data_unchecked (pad=0x8d49268, is_buffer=1,
data=0x84a1990) at gstpad.c:4057
#27 0xb72f14e9 in gst_pad_push_data (pad=0x8e04100, is_buffer=1,
data=0x84a1990) at gstpad.c:4287
#28 0xb72e03cd in gst_proxy_pad_do_chain (pad=0x8e3daf0, buffer=0x84a1990)
at gstghostpad.c:179
#29 0xb72f08d7 in gst_pad_chain_data_unchecked (pad=0x8e3daf0, is_buffer=1,
data=0x84a1990) at gstpad.c:4057
#30 0xb72f14e9 in gst_pad_push_data (pad=0x8d808d8, is_buffer=1,
data=0x84a1990) at gstpad.c:4287
#31 0xb570ec56 in gst_queue_push_one () at gstqueue.c:1047
#32 gst_queue_loop (pad=0x8d808d8) at gstqueue.c:1149
#33 0xb7316913 in gst_task_func (task=0xb4bb1110) at gsttask.c:234
#34 0xb7318297 in default_func (tdata=0x8f660a0, pool=0x840d420)
at gsttaskpool.c:70
#35 0xb7709c17 in g_thread_pool_thread_proxy (data=0x840d098)
at gthreadpool.c:265
#36 0xb7708d6c in g_thread_create_proxy (data=0xb0905080) at gthread.c:635
#37 0xb76a33d0 in start_thread (arg=0xb22eab90) at pthread_create.c:297
#38 0xb760c2de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
(gdb) bt full
#0 memcpy () at ../sysdeps/i386/i586/memcpy.S:118
No locals.
#1 0xb2e25b19 in gst_pulseringbuffer_commit (buf=0x8e306d0,
sample=0xb22e95e8, data=0x18bfc <Address 0x18bfc out of bounds>,
in_samples=-25343, out_samples=25343, accum=0xb22e9604) at pulsesink.c:1232
d = (
guint8 *) 0xaee00018
"\b\004д\210�ش�\237��\210�شZp�\235��\2337\n���\233����\233u\2355�N�,��\205n\025��t��=��\216m��z]m\227\214ٽ\023�Q�[��k�\235��t٢�N���\034��n�*�M\235;[\205�����~\2355��l۾\\ZZ\0214\234�-�Y����6}�Y�^�i��6\235��ۼZ�-^wQ�\2355�\033N\235�\va6�XwN�\233\vN�\213N���9��\vmE\207wM�t�vºk�v�4ݰ����t�E"...
d_end = (guint8 *) 0xaee18c14 "i\034"
avail = <value optimized out>
towrite = 101372
psink = (GstPulseSink *) 0x8e2bba0
result = <value optimized out>
data_end = (guint8 *) 0xfffffffc <Address 0xfffffffc out of bounds>
toprocess = (gint *) 0xb22e91c0
inr = -25344
outr = 25342
bps = 4
offset = 2239536
diff = -128792
bufsize = 8820
__FUNCTION__ = "gst_pulseringbuffer_commit"
#2 0xb71100a1 in gst_ring_buffer_commit_full (buf=0x8e306d0,
sample=0xb22e95e8, data=0x18bfc <Address 0x18bfc out of bounds>,
in_samples=-25343, out_samples=-25343, accum=0xb22e9604)
at gstringbuffer.c:1727
res = <value optimized out>
__PRETTY_FUNCTION__ = "gst_ring_buffer_commit_full"
#3 0xb71053b1 in gst_base_audio_sink_render (bsink=0x8e2bba0, buf=0x84a1990)
at gstbaseaudiosink.c:1495
in_offset = 13153535
time = 596532244897
stop = 595382857142
render_start = 559884
render_stop = 4295501837
sample_offset = 559884
ts_offset = 0
sink = (GstBaseAudioSink *) 0x8e2bba0
ringbuf = (GstRingBuffer *) 0x8e306d0
diff = 12884901889
align = <value optimized out>
ctime = 596532244897
cstop = 595382857142
data = (guint8 *) 0x18bfc <Address 0x18bfc out of bounds>
size = <value optimized out>
samples = 4294941953
written = <value optimized out>
bps = 4
accum = 0
out_samples = -25343
render_delay = 0
latency = <value optimized out>
clock = (GstClock *) 0xb4bd3098
slaved = 0
align_next = 1
ret = <value optimized out>
clip_seg = {rate = 8.4879835912278729e-314,
abs_rate = -1.7936496817698367e-41, format = GST_FORMAT_TIME,
flags = 3077202800, start = 596532244897, stop = 596532244897,
time = -5230288170805979688, accum = 541165879296, last_stop = 0,
---Type <return> to continue, or q <return> to quit---
duration = -1, applied_rate = 1.5186348836408821e-314,
_gst_reserved = "<_j�a\003\000"}
__FUNCTION__ = "gst_base_audio_sink_render"
#4 0xb736d7a0 in gst_base_sink_render_object (basesink=0x8e2bba0,
pad=0x8e3c010, is_list=0, obj=0x84a1990) at gstbasesink.c:2711
do_qos = 0
ret = <value optimized out>
bclass = (GstBaseSinkClass *) 0x8e0a258
late = 0
step_end = 0
sync_obj = (gpointer) 0x84a1990
priv = (GstBaseSinkPrivate *) 0x8e2bd88
__PRETTY_FUNCTION__ = "gst_base_sink_render_object"
--
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=589849.
More information about the Gstreamer-bugs
mailing list