In the last backtrace I sent, I forgot to install debug symbols on the
included libs, so here's another backtrace from a memory-error core
dump with all the debug symbols available.
After the first listing, there's another listing from a stream that
hung, which seems to be an alternate behavior of gst123 when the
stream isn't causing memory corruption/core dump behavior. In the
"hang" case, you see the time-elapsed counter staying fixed, and the
process just spins; which is a different behavior than if the stream
were to be interrupted -- which terminates correctly and doesn't
"spin." The latter backtrace is from a SIGINT on the spinning process
but should at least indicate where it was spinning.
Note some signs of corruption -- timestamp=-1 ??: "
"http://64.12.61.1:80/stream/1046"}, playbin = 0x8e02f0 [GstPlayBin2],
loop = 0x8c4a00, play_position = 1, cols = 77, tags = {
timestamp = -1, title = "", artist = "", album =
"", date = "",
comment = "", genre = "", codec = ..."
....................................................
Starting program: /home/npm/gst123-git/src/gst123 -a alsa=66spdif
http://64.12.61.1:80/stream/1046
[Thread debugging using libthread_db enabled]
Detaching after fork from child process 1290.
Playing
http://64.12.61.1:80/stream/1046
[New Thread 0x7ffff0e0c710 (LWP 1291)]
[New Thread 0x7fffebfff710 (LWP 1292)]
[New Thread 0x7fffe3fff710 (LWP 1293)]
[New Thread 0x7fffe35fe710 (LWP 1294)]
[Thread 0x7fffe35fe710 (LWP 1294) exited]
Title : All Things Considered - 5 Artist :
Album : Genre : Eclectic, Alternative, NPR,
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 180.0 kbit/s
........................................................................................................
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 180.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 179.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 170.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 170.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 180.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 179.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Title : Art Talk - All Things Con Artist :
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Title : All Things Considered - 5 Artist :
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Title : Which Way, L.A.? - 7P-8P Artist :
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Title : Garth Trinidad 89.9FM Hand- Artist :
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Time: 2:37:38.96
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff0e0c710 (LWP 1291)]
0x000000369b27b1eb in gst_structure_set_field (structure=0x7fffec061320,
field=0x7ffff0e0b690) at gststructure.c:692
692 if (G_UNLIKELY (f->name == field->name)) {
(gdb) bt full
#0 0x000000369b27b1eb in gst_structure_set_field (structure=
0x7fffec061320, field=0x7ffff0e0b690) at gststructure.c:692
_g_boolean_var_ = <value optimized out>
f = 0x0
i = 0
len = 1
__PRETTY_FUNCTION__ = "gst_structure_set_field"
#1 0x000000369b27d7a4 in gst_structure_id_set_valist (
structure=<value optimized out>, fieldname=<value optimized out>,
varargs=0x7ffff0e0b700) at gststructure.c:603
field = {name = 68, value = {g_type = 24, data = {{v_int = -1,
v_uint = 4294967295, v_long = 4294967295, v_ulong =
4294967295, v_int64 = 4294967295, v_uint64 = 4294967295, v_float =
-nan(0x7fffff), v_double = 2.1219957904712067e-314, v_pointer =
0xffffffff}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 =
0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}}
err = <value optimized out>
type = <value optimized out>
__PRETTY_FUNCTION__ = "gst_structure_id_set_valist"
#2 0x000000369b27d948 in gst_structure_id_new (
name_quark=<value optimized out>, field_quark=<value optimized out>)
at gststructure.c:638
s = <value optimized out>
varargs = {{gp_offset = 48, fp_offset = 48, overflow_arg_area =
0x7ffff0e0b800, reg_save_area = 0x7ffff0e0b720}}
__PRETTY_FUNCTION__ = "gst_structure_id_new"
#3 0x000000369b256a5a in gst_message_new_buffering (src=
0x7fffec0180b0 [GstQueue2], percent=3) at gstmessage.c:538
structure = <value optimized out>
__PRETTY_FUNCTION__ = "gst_message_new_buffering"
#4 0x00007ffff0e2897f in update_buffering (queue=
0x7fffec0180b0 [GstQueue2]) at gstqueue2.c:773
message = <value optimized out>
mode = GST_BUFFERING_STREAM
buffering_left = -1
percent = <value optimized out>
post = 1
__PRETTY_FUNCTION__ = "update_buffering"
#5 0x00007ffff0e29a37 in gst_queue2_locked_enqueue (queue=
0x7fffec0180b0 [GstQueue2], item=0x646e90) at gstqueue2.c:1389
__PRETTY_FUNCTION__ = "gst_queue2_locked_enqueue"
#6 0x00007ffff0e2aefd in gst_queue2_chain (pad=<value optimized out>,
buffer=0x646e90 [GstBuffer]) at gstqueue2.c:1673
queue = 0x7fffec0180b0 [GstQueue2]
__PRETTY_FUNCTION__ = "gst_queue2_chain"
#7 0x000000369b261a05 in gst_pad_chain_data_unchecked (pad=
0x8f1960 [GstPad], is_buffer=1, data=0x646e90) at gstpad.c:4131
chainfunc = 0x7ffff0e2a8d0 <gst_queue2_chain>
caps = <value optimized out>
caps_changed = 0
ret = <value optimized out>
__PRETTY_FUNCTION__ = "gst_pad_chain_data_unchecked"
#8 0x000000369b2624b6 in gst_pad_push_data (pad=0x8f14e0 [GstPad],
is_buffer=1, data=0x646e90) at gstpad.c:4360
peer = 0x8f1960 [GstPad]
ret = <value optimized out>
caps = 0x7fffec002780
---Type <return> to continue, or q <return> to quit---
caps_changed = <value optimized out>
__PRETTY_FUNCTION__ = "gst_pad_push_data"
#9 0x00007ffff0e30a8f in gst_type_find_element_chain (
pad=<value optimized out>, buffer=0x646e90 [GstBuffer])
at gsttypefindelement.c:759
typefind = 0x7f33b0 [GstTypeFindElement]
res = GST_FLOW_OK
__PRETTY_FUNCTION__ = "gst_type_find_element_chain"
#10 0x000000369b261a05 in gst_pad_chain_data_unchecked (pad=
0x8f1360 [GstPad], is_buffer=1, data=0x646e90) at gstpad.c:4131
chainfunc = 0x7ffff0e309f0 <gst_type_find_element_chain>
caps = <value optimized out>
caps_changed = 0
ret = <value optimized out>
__PRETTY_FUNCTION__ = "gst_pad_chain_data_unchecked"
#11 0x000000369b2624b6 in gst_pad_push_data (pad=0x8f11e0 [GstPad],
is_buffer=1, data=0x646e90) at gstpad.c:4360
peer = 0x8f1360 [GstPad]
ret = <value optimized out>
caps = 0x7fffec002700
caps_changed = <value optimized out>
__PRETTY_FUNCTION__ = "gst_pad_push_data"
#12 0x0000003690e1d033 in gst_base_src_loop (pad=0x8f11e0 [GstPad])
at gstbasesrc.c:2480
src = 0x904030 [GstSoupHTTPSrc]
buf = 0x646e90 [GstBuffer]
ret = <value optimized out>
position = <value optimized out>
eos = <value optimized out>
blocksize = <value optimized out>
tags = <value optimized out>
tmp = <value optimized out>
__PRETTY_FUNCTION__ = "gst_base_src_loop"
#13 0x000000369b28691d in gst_task_func (task=0x91b020 [GstTask])
at gsttask.c:271
lock = 0x8e7000
tself = 0x919770
priv = 0x91b0c0
__PRETTY_FUNCTION__ = "gst_task_func"
#14 0x0000003682263722 in g_thread_pool_thread_proxy (
data=<value optimized out>) at gthreadpool.c:265
task = 0x915c30
pool = 0x646630
#15 0x0000003682262134 in g_thread_create_proxy (data=0x919770)
at gthread.c:635
thread = 0x919770
__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#16 0x00000036816068e0 in start_thread (arg=0x7ffff0e0c710)
at pthread_create.c:297
__res = <value optimized out>
pd = 0x7ffff0e0c710
now = <value optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737234650896,
-8183474311488247182, 10485760, 140737234651600, 0, 140737234650896,
8183485523540929138, -8213589661449491854}, mask_was_saved = 0}},
priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup =
0x0, canceltype = 0}}}
---Type <return> to continue, or q <return> to quit---
not_first_call = <value optimized out>
sp = <value optimized out>
freesize = <value optimized out>
#17 0x0000003680ae0c9d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#18 0x0000000000000000 in ?? ()
No symbol table info available.
(gdb)
.........................................................................
gnulem-108-~/gst123-git> gdb --args src/gst123 -a alsa=66ch34
http://64.12.61.1:80/stream/1046
GNU gdb (GDB) Fedora (7.0.1-50.fc12)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/npm/gst123-git/src/gst123...done.
(gdb) run
Starting program: /home/npm/gst123-git/src/gst123 -a alsa=66ch34
http://64.12.61.1:80/stream/1046
[Thread debugging using libthread_db enabled]
Detaching after fork from child process 1383.
Playing
http://64.12.61.1:80/stream/1046
[New Thread 0x7ffff0e0c710 (LWP 1384)]
[New Thread 0x7fffebfff710 (LWP 1385)]
[New Thread 0x7fffe3fff710 (LWP 1386)]
[New Thread 0x7fffe35fe710 (LWP 1387)]
[Thread 0x7fffe35fe710 (LWP 1387) exited]
Title : All Things Considered - 5 Artist :
Album : Genre : Eclectic, Alternative, NPR,
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 141.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 150.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 160.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 160.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 170.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 170.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 170.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 170.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 170.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 180.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 179.0 kbit/s
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Title : Art Talk - All Things Con Artist :
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Title : All Things Considered - 5 Artist :
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Title : Which Way, L.A.? - 7P-8P Artist :
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Title : Garth Trinidad 89.9FM Hand- Artist :
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Title : Raul Campos 89.9FM Hand--Pi Artist :
Codec : MPEG 1 Audio, Layer 3 (MP3) Bitrate : 169.0 kbit/s
Time: 4:15:39.54
Program received signal SIGINT, Interrupt.
0x0000003680ad7603 in __poll (fds=<value optimized out>,
nfds=<value optimized out>, timeout=<value optimized out>)
at ../sysdeps/unix/sysv/linux/poll.c:87
87 int result = INLINE_SYSCALL (poll, 3, CHECK_N (fds, nfds), nfds, timeout);
(gdb) bt full
#0 0x0000003680ad7603 in __poll (fds=<value optimized out>,
nfds=<value optimized out>, timeout=<value optimized out>)
at ../sysdeps/unix/sysv/linux/poll.c:87
__arg2 = 7
_a3 = 130
_a1 = 9541344
resultvar = <value optimized out>
__arg3 = 130
__arg1 = 9541344
_a2 = 7
resultvar = <value optimized out>
oldtype = 0
result = <value optimized out>
#1 0x000000368223ca0c in g_main_context_poll (context=0x8aaab0,
block=<value optimized out>, dispatch=<value optimized out>,
self=<value optimized out>) at gmain.c:2904
poll_func = 0x36822496f0 <IA__g_poll>
#2 g_main_context_iterate (context=0x8aaab0, block=<value optimized out>,
dispatch=<value optimized out>, self=<value optimized out>)
at gmain.c:2586
max_priority = 2147483647
timeout = 130
some_ready = 9541344
nfds = 7
allocated_nfds = <value optimized out>
fds = 0x9196e0
__PRETTY_FUNCTION__ = "g_main_context_iterate"
#3 0x000000368223d075 in IA__g_main_loop_run (loop=0x8c4a00)
at gmain.c:2799
self = 0x6190f0
__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#4 0x0000000000407377 in main (argc=4, argv=0x7fffffffdb78)
at gst123.cc:820
player = {<KeyHandler> = {_vptr.KeyHandler = 0x411be0}, uris =
std::vector of length 1, capacity 1 = {
"http://64.12.61.1:80/stream/1046"}, playbin = 0x8e02f0 [GstPlayBin2],
loop = 0x8c4a00, play_position = 1, cols = 77, tags = {
timestamp = -1, title = "", artist = "", album =
"", date = "",
comment = "", genre = "", codec =
"MPEG 1 Audio, Layer 3 (MP3)", vcodec = "", bitrate = 169000},
last_state = GST_STATE_PLAYING, video_size_width = 0,
video_size_height = 0}
(gdb)
..............................................
-- Niels
http://nielsmayer.com