[Bug 666028] New: exception may cause test pipeline to be shut down from streaming thread
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Dec 12 12:49:38 PST 2011
https://bugzilla.gnome.org/show_bug.cgi?id=666028
GStreamer | gst-qa-system | git
Summary: exception may cause test pipeline to be shut down from
streaming thread
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-qa-system
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: t.i.m at zen.co.uk
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
If an exception occurs in python code called from a streaming thread (e.g. in a
pad probe callback), the self.stop() will lead to a pipeline
set_state(gst.STATE_NULL) being done from the streaming thread, which will
dead-lock in the best case scenario, and crash in the worst case scenario.
Example stacktrace, for illustrative purposes:
[New LWP 22566]
[New LWP 22563]
[New LWP 22567]
[New LWP 22569]
[New LWP 22571]
[New LWP 22565]
warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Core was generated by `/usr/bin/python
/home/tpm/gst/releases/gst-qa-system/bin/insanity-pythondbusrun'.
Program terminated with signal 5, Trace/breakpoint trap.
#0 g_logv (log_domain=0x7fa3128c7d38 "GStreamer", log_level=<optimized out>,
format=0x7fa316169b32 "%s: assertion `%s' failed", args1=0x7fa30f986b98) at
/tmp/buildd/glib2.0-2.30.2/./glib/gmessages.c:577
577 /tmp/buildd/glib2.0-2.30.2/./glib/gmessages.c: No such file or
directory.
in /tmp/buildd/glib2.0-2.30.2/./glib/gmessages.c
Id Target Id Frame
6 Thread 0x7fa31018a700 (LWP 22565) pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
5 Thread 0x7fa2ffb7e700 (LWP 22571) pthread_cond_timedwait@@GLIBC_2.3.2 ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
4 Thread 0x7fa307188700 (LWP 22569) pthread_cond_timedwait@@GLIBC_2.3.2 ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
3 Thread 0x7fa30eac7700 (LWP 22567) pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
2 Thread 0x7fa31867f700 (LWP 22563) 0x00007fa31827b17d in read () at
../sysdeps/unix/syscall-template.S:82
* 1 Thread 0x7fa30f989700 (LWP 22566) g_logv (log_domain=0x7fa3128c7d38
"GStreamer", log_level=<optimized out>, format=0x7fa316169b32 "%s: assertion
`%s' failed", args1=0x7fa30f986b98) at
/tmp/buildd/glib2.0-2.30.2/./glib/gmessages.c:577
#0 g_logv (log_domain=0x7fa3128c7d38 "GStreamer", log_level=<optimized out>,
format=0x7fa316169b32 "%s: assertion `%s' failed", args1=0x7fa30f986b98) at
/tmp/buildd/glib2.0-2.30.2/./glib/gmessages.c:577
depth = 0
domain = 0x0
data = 0x0
log_func = 0x7fa3128460e0 <debug_log_handler>
domain_fatal_mask = <optimized out>
masquerade_fatal = <optimized out>
test_level = <optimized out>
was_fatal = 0
was_recursion = 0
i = <optimized out>
#1 0x00007fa316124c02 in g_log (log_domain=<optimized out>,
log_level=<optimized out>, format=<optimized out>) at
/tmp/buildd/glib2.0-2.30.2/./glib/gmessages.c:591
args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area =
0x7fa30f986c70, reg_save_area = 0x7fa30f986bb0}}
#2 0x00007fa30ed6f877 in gst_buffer_unref (buf=<optimized out>) at
/home/tpm/gst/releases/gstreamer/gst/gstbuffer.h:367
No locals.
#3 gst_base_video_codec_free_frame (frame=0x1aa88f0) at
gstbasevideocodec.c:192
__PRETTY_FUNCTION__ = "gst_base_video_codec_free_frame"
#4 0x00007fa30ed71046 in gst_base_video_decoder_reset
(base_video_decoder=0x1a85fd0, full=1) at gstbasevideodecoder.c:968
__FUNCTION__ = "gst_base_video_decoder_reset"
#5 0x00007fa30ed74322 in gst_base_video_decoder_change_state
(element=<optimized out>, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at
gstbasevideodecoder.c:1331
base_video_decoder = 0x1a85fd0
base_video_decoder_class = 0x1a85640
ret = GST_STATE_CHANGE_SUCCESS
#6 0x00007fa3128638fc in gst_element_change_state (element=0x1a85fd0,
transition=<optimized out>) at gstelement.c:2761
oclass = <optimized out>
ret = GST_STATE_CHANGE_SUCCESS
__PRETTY_FUNCTION__ = "gst_element_change_state"
#7 0x00007fa312864252 in gst_element_set_state_func (element=0x1a85fd0,
state=GST_STATE_READY) at gstelement.c:2717
current = GST_STATE_PAUSED
next = <optimized out>
old_pending = <optimized out>
ret = <optimized out>
transition = GST_STATE_CHANGE_PAUSED_TO_READY
old_ret = <optimized out>
__PRETTY_FUNCTION__ = "gst_element_set_state_func"
#8 0x00007fa3128509ea in gst_bin_element_set_state (next=GST_STATE_READY,
current=GST_STATE_PAUSED, start_time=19588354000, base_time=14903892000,
element=0x1a85fd0, bin=0x1a00310) at gstbin.c:2209
child_current = GST_STATE_PAUSED
found = <optimized out>
ret = <optimized out>
locked = <optimized out>
pending = <optimized out>
child_pending = GST_STATE_VOID_PENDING
#9 gst_bin_change_state_func (element=0x1a00310,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2518
child = 0x1a85fd0
data = 0x1a85fd0
bin = 0x1a00310
ret = <optimized out>
current = GST_STATE_PAUSED
next = GST_STATE_READY
have_async = 0
have_no_preroll = <optimized out>
base_time = 14903892000
start_time = 19588354000
it = 0x7fa3080a68d0
done = 0
__PRETTY_FUNCTION__ = "gst_bin_change_state_func"
#10 0x00007fa310c4d120 in gst_decode_bin_change_state (element=0x1a00310,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstdecodebin2.c:4026
bret = <optimized out>
ret = GST_STATE_CHANGE_SUCCESS
dbin = 0x1a00310
__PRETTY_FUNCTION__ = "gst_decode_bin_change_state"
#11 0x00007fa3128638fc in gst_element_change_state (element=0x1a00310,
transition=<optimized out>) at gstelement.c:2761
oclass = <optimized out>
ret = GST_STATE_CHANGE_SUCCESS
__PRETTY_FUNCTION__ = "gst_element_change_state"
#12 0x00007fa312864252 in gst_element_set_state_func (element=0x1a00310,
state=GST_STATE_READY) at gstelement.c:2717
current = GST_STATE_PAUSED
next = <optimized out>
old_pending = <optimized out>
ret = <optimized out>
transition = GST_STATE_CHANGE_PAUSED_TO_READY
old_ret = <optimized out>
__PRETTY_FUNCTION__ = "gst_element_set_state_func"
#13 0x00007fa3128509ea in gst_bin_element_set_state (next=GST_STATE_READY,
current=GST_STATE_PAUSED, start_time=19588354000, base_time=14903892000,
element=0x1a00310, bin=0x1a000e0) at gstbin.c:2209
child_current = GST_STATE_PAUSED
found = <optimized out>
ret = <optimized out>
locked = <optimized out>
pending = <optimized out>
child_pending = GST_STATE_VOID_PENDING
#14 gst_bin_change_state_func (element=0x1a000e0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2518
child = 0x1a00310
data = 0x1a00310
bin = 0x1a000e0
ret = <optimized out>
current = GST_STATE_PAUSED
next = GST_STATE_READY
have_async = 0
have_no_preroll = <optimized out>
base_time = 14903892000
start_time = 19588354000
it = 0x7fa3080a6810
done = 0
__PRETTY_FUNCTION__ = "gst_bin_change_state_func"
#15 0x00007fa310c54c00 in gst_uri_decode_bin_change_state (element=0x1a000e0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gsturidecodebin.c:2500
ret = <optimized out>
decoder = 0x1a000e0
__PRETTY_FUNCTION__ = "gst_uri_decode_bin_change_state"
#16 0x00007fa3128638fc in gst_element_change_state (element=0x1a000e0,
transition=<optimized out>) at gstelement.c:2761
oclass = <optimized out>
ret = GST_STATE_CHANGE_SUCCESS
__PRETTY_FUNCTION__ = "gst_element_change_state"
#17 0x00007fa312864252 in gst_element_set_state_func (element=0x1a000e0,
state=GST_STATE_READY) at gstelement.c:2717
current = GST_STATE_PAUSED
next = <optimized out>
old_pending = <optimized out>
ret = <optimized out>
transition = GST_STATE_CHANGE_PAUSED_TO_READY
old_ret = <optimized out>
__PRETTY_FUNCTION__ = "gst_element_set_state_func"
#18 0x00007fa3128509ea in gst_bin_element_set_state (next=GST_STATE_READY,
current=GST_STATE_PAUSED, start_time=19588354000, base_time=14903892000,
element=0x1a000e0, bin=0x19f45b0) at gstbin.c:2209
child_current = GST_STATE_PAUSED
found = <optimized out>
ret = <optimized out>
locked = <optimized out>
pending = <optimized out>
child_pending = GST_STATE_VOID_PENDING
#19 gst_bin_change_state_func (element=0x19f45b0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2518
child = 0x1a000e0
data = 0x1a000e0
bin = 0x19f45b0
ret = <optimized out>
current = GST_STATE_PAUSED
next = GST_STATE_READY
have_async = 0
have_no_preroll = <optimized out>
base_time = 14903892000
start_time = 19588354000
it = 0x1e26870
done = 0
__PRETTY_FUNCTION__ = "gst_bin_change_state_func"
#20 0x00007fa3128842c1 in gst_pipeline_change_state (element=0x19f45b0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstpipeline.c:482
result = GST_STATE_CHANGE_SUCCESS
pipeline = 0x19f45b0
clock = <optimized out>
__PRETTY_FUNCTION__ = "gst_pipeline_change_state"
#21 0x00007fa310e70ec0 in gst_play_bin_change_state (element=0x19f45b0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstplaybin2.c:3936
ret = <optimized out>
playbin = 0x19f45b0
do_save = 0
__PRETTY_FUNCTION__ = "gst_play_bin_change_state"
#22 0x00007fa3128638fc in gst_element_change_state (element=0x19f45b0,
transition=<optimized out>) at gstelement.c:2761
oclass = <optimized out>
ret = GST_STATE_CHANGE_SUCCESS
__PRETTY_FUNCTION__ = "gst_element_change_state"
#23 0x00007fa31286397f in gst_element_change_state (element=0x19f45b0,
transition=<optimized out>) at gstelement.c:2798
oclass = <optimized out>
ret = <optimized out>
__PRETTY_FUNCTION__ = "gst_element_change_state"
#24 0x00007fa312864252 in gst_element_set_state_func (element=0x19f45b0,
state=GST_STATE_NULL) at gstelement.c:2717
current = GST_STATE_PLAYING
next = <optimized out>
old_pending = <optimized out>
ret = <optimized out>
transition = GST_STATE_CHANGE_PLAYING_TO_PAUSED
old_ret = <optimized out>
__PRETTY_FUNCTION__ = "gst_element_set_state_func"
#25 0x00007fa3133e497d in _wrap_gst_element_set_state (self=0x1398eb0,
args=<optimized out>, kwargs=<optimized out>) at gstelement.override:71
_save = 0x1a78760
kwlist = {0x7fa31340b98a "state", 0x0}
py_state = <State at remote 0x193ef50>
state = GST_STATE_NULL
ret = <optimized out>
#26 0x00000000004b9589 in call_function (oparg=<optimized out>,
pp_stack=0x7fa30f9876a0) at ../Python/ceval.c:4021
callargs = (<State at remote 0x193ef50>,)
flags = <optimized out>
tstate = <optimized out>
func = <built-in method set_state of __main__.GstPlayBin2 object at
remote 0x1398eb0>
w = <optimized out>
na = <optimized out>
nk = <optimized out>
n = <optimized out>
pfunc = 0x1aa7f78
x = <optimized out>
#27 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at
../Python/ceval.c:2666
sp = 0x1aa7f80
stack_pointer = <optimized out>
next_instr = 0x14f6c29 "\001d\003"
opcode = <optimized out>
oparg = <optimized out>
why = WHY_NOT
err = 0
x = <optimized out>
v = <optimized out>
w = <optimized out>
u = <optimized out>
t = <optimized out>
stream = 0x0
fastlocals = <optimized out>
freevars = 0x1aa7f78
retval = <optimized out>
tstate = 0x1a78760
co = 0x150b830
instr_ub = -1
instr_lb = 0
instr_prev = -1
first_instr = 0x14f6bc4 "t"
names = ('PythonDBusTest', 'remoteTearDown', 'False', 'gst', 'log',
'_waitcb', 'gobject', 'source_remove', 'None', 'pipeline', 'set_state',
'STATE_NULL', 'validateStep', '_errors', 'range', 'len', 'extraInfo', '_tags',
'debug', 'iteritems', 'isinstance', 'int', 'long', '_elements', 'True')
consts = (None, 'Tearing Down', 'set_state to NULL in
gstreamertest.py', 'set_state to NULL in gstreamertest.py DONE',
'no-errors-seen', 'errors.%d.domain', 'errors.%d.message', 'errors.%d.debug',
'Got tags %r', 2, 31, 'tags.%s', 'elements-used', 2147483648)
#28 0x00000000004b9d77 in fast_function (nk=<optimized out>, na=<optimized
out>, n=<optimized out>, pp_stack=0x7fa30f9877e0, func=<function at remote
0x16c9320>) at ../Python/ceval.c:4107
retval = 0x0
i = <optimized out>
fastlocals = <optimized out>
f = <optimized out>
tstate = 0x1a78760
stack = <optimized out>
co = <optimized out>
nd = 0
globals = <optimized out>
argdefs = <optimized out>
d = 0x0
#29 call_function (oparg=<optimized out>, pp_stack=0x7fa30f9877e0) at
../Python/ceval.c:4042
func = <function at remote 0x16c9320>
w = <optimized out>
na = <optimized out>
nk = <optimized out>
n = <optimized out>
pfunc = 0x1aa7d48
x = <optimized out>
#30 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at
../Python/ceval.c:2666
sp = 0x1aa7d50
stack_pointer = <optimized out>
next_instr = 0x14f939b "\001t\032"
opcode = <optimized out>
oparg = <optimized out>
why = WHY_NOT
err = 0
x = <optimized out>
v = <optimized out>
w = <optimized out>
u = <optimized out>
t = <optimized out>
stream = 0x0
fastlocals = <optimized out>
freevars = 0x1aa7d48
retval = <optimized out>
tstate = 0x1a78760
co = 0x14fe530
instr_ub = -1
instr_lb = 0
instr_prev = -1
first_instr = 0x14f9164 "t"
names = ('info', 'uuid', '_isproxy', 'callRemoteStop', '_testrun',
'_newremotetestsid', 'disconnect', '_testrunremovedtestsigid',
'_processpollid', 'gobject', 'source_remove', '_process', '_returncode',
'None', 'time', 'sleep', 'poll', 'os', 'kill', 'pid', 'signal', 'SIGTERM',
'SIGKILL', 'validateStep', 'extraInfo', 'remoteTearDown', 'Test', 'tearDown')
consts = (None, 'uuid:%s proxy:%r', 0, 10, <float at remote 0x14c7e20>,
1, "Process isn't done yet, terminating it", 'Process did not terminate,
killing it', 'Process did not exit after SIGKILL', 'Process returned %d',
'subprocess-exited-normally', 'subprocess-return-code')
#31 0x00000000004b9d77 in fast_function (nk=<optimized out>, na=<optimized
out>, n=<optimized out>, pp_stack=0x7fa30f987920, func=<function at remote
0x1534b90>) at ../Python/ceval.c:4107
retval = 0x0
i = <optimized out>
fastlocals = <optimized out>
f = <optimized out>
tstate = 0x1a78760
stack = <optimized out>
co = <optimized out>
nd = 0
globals = <optimized out>
argdefs = <optimized out>
d = 0x0
#32 call_function (oparg=<optimized out>, pp_stack=0x7fa30f987920) at
../Python/ceval.c:4042
func = <function at remote 0x1534b90>
w = <optimized out>
na = <optimized out>
nk = <optimized out>
n = <optimized out>
pfunc = 0x1aa7b70
x = <optimized out>
#33 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at
../Python/ceval.c:2666
sp = 0x1aa7b78
stack_pointer = <optimized out>
next_instr = 0x14b455c "\001|"
opcode = <optimized out>
oparg = <optimized out>
why = WHY_NOT
err = 0
x = <optimized out>
v = <optimized out>
w = <optimized out>
u = <optimized out>
t = <optimized out>
stream = 0x0
fastlocals = <optimized out>
freevars = 0x1aa7b70
retval = <optimized out>
tstate = 0x1a78760
co = 0x14fe5b0
instr_ub = -1
instr_lb = 0
instr_prev = -1
first_instr = 0x14b4524 "t"
names = ('info', 'uuid', '_isproxy', 'Test', 'stop', 'tearDown',
'remoteStopSignal')
consts = (None, 'uuid:%s proxy:%r')
#34 0x00000000004bfccd in PyEval_EvalCodeEx (co=0x14fe5b0, globals=<optimized
out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>,
kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at
../Python/ceval.c:3253
f = Frame 0x1aa79f0, for file
/home/tpm/gst/releases/gst-qa-system/insanity/dbustest.py, line 257, in stop
(self=<PlaybackTest(_PythonDBusTest__orig_excepthook=<built-in function
excepthook>, _running=False, _remotetimeoutid=0, rusage_start=(<float at remote
0x14c7da8>, <float at remote 0x14c7df0>, <float at remote 0x14c7dc0>),
_tags={'language-code': u'und', 'encoder-version': 0, 'application-name':
u'SUPER(C) ', 'title': u'big_buck_bunny_1080p_surround.avi_006.AVI',
'bitrate': 96000, 'nominal-bitrate': 96000, 'encoder': u'Xiph.Org libVorbis I
20070622', 'container-format': u'Matroska', 'audio-codec': u'Vorbis',
'video-codec': u'VP8 video'}, _asynctimeouttime=0, _remote_tearing_down=True,
_outputfiles={}, _possiblechecklist={'correct-playback-rates': False,
'decoder-timestamp-interpolation': False, 'dbus-process-connected': False,
'half-speed-flushing-newsegment-seen': False, 'subprocess-exited-normally':
False, 'remote-instance-created': False, 'decoder-delta-unit-flag-handling':
False, 'dbus-process-spawned'...(truncated)
retval = 0x0
fastlocals = 0x1aa7b68
freevars = <optimized out>
tstate = <optimized out>
x = <optimized out>
u = <optimized out>
#35 0x000000000044b49f in function_call (func=<function at remote 0x1534c08>,
arg=(<PlaybackTest(_PythonDBusTest__orig_excepthook=<built-in function
excepthook>, _running=False, _remotetimeoutid=0, rusage_start=(<float at remote
0x14c7da8>, <float at remote 0x14c7df0>, <float at remote 0x14c7dc0>),
_tags={'language-code': u'und', 'encoder-version': 0, 'application-name':
u'SUPER(C) ', 'title': u'big_buck_bunny_1080p_surround.avi_006.AVI',
'bitrate': 96000, 'nominal-bitrate': 96000, 'encoder': u'Xiph.Org libVorbis I
20070622', 'container-format': u'Matroska', 'audio-codec': u'Vorbis',
'video-codec': u'VP8 video'}, _asynctimeouttime=0, _remote_tearing_down=True,
_outputfiles={}, _possiblechecklist={'correct-playback-rates': False,
'decoder-timestamp-interpolation': False, 'dbus-process-connected': False,
'half-speed-flushing-newsegment-seen': False, 'subprocess-exited-normally':
False, 'remote-instance-created': False, 'decoder-delta-unit-flag-handling':
False, 'dbus-process-spawned': False, 'identical-timestamps': False,
'video-pad-exists': False, 'segment-done': False, 'no-timeout':
Fals...(truncated), kw=0x0) at ../Objects/funcobject.c:526
result = <optimized out>
argdefs = <optimized out>
kwtuple = 0x0
d = 0x0
k = 0x0
nk = 0
nd = 0
#36 0x000000000041d42a in PyObject_Call (func=<function at remote 0x1534c08>,
arg=<optimized out>, kw=<optimized out>) at ../Objects/abstract.c:2529
result = <optimized out>
call = 0x44b440 <function_call>
#37 0x0000000000432d1b in instancemethod_call (func=<function at remote
0x1534c08>, arg=(<PlaybackTest(_PythonDBusTest__orig_excepthook=<built-in
function excepthook>, _running=False, _remotetimeoutid=0, rusage_start=(<float
at remote 0x14c7da8>, <float at remote 0x14c7df0>, <float at remote
0x14c7dc0>), _tags={'language-code': u'und', 'encoder-version': 0,
'application-name': u'SUPER(C) ', 'title':
u'big_buck_bunny_1080p_surround.avi_006.AVI', 'bitrate': 96000,
'nominal-bitrate': 96000, 'encoder': u'Xiph.Org libVorbis I 20070622',
'container-format': u'Matroska', 'audio-codec': u'Vorbis', 'video-codec': u'VP8
video'}, _asynctimeouttime=0, _remote_tearing_down=True, _outputfiles={},
_possiblechecklist={'correct-playback-rates': False,
'decoder-timestamp-interpolation': False, 'dbus-process-connected': False,
'half-speed-flushing-newsegment-seen': False, 'subprocess-exited-normally':
False, 'remote-instance-created': False, 'decoder-delta-unit-flag-handling':
False, 'dbus-process-spawned': False, 'identical-timestamps': False,
'video-pad-exists': False, 'segment-done': False, 'no-timeout':
Fals...(truncated), kw=0x0) at ../Objects/classobject.c:2578
self = <PlaybackTest(_PythonDBusTest__orig_excepthook=<built-in
function excepthook>, _running=False, _remotetimeoutid=0, rusage_start=(<float
at remote 0x14c7da8>, <float at remote 0x14c7df0>, <float at remote
0x14c7dc0>), _tags={'language-code': u'und', 'encoder-version': 0,
'application-name': u'SUPER(C) ', 'title':
u'big_buck_bunny_1080p_surround.avi_006.AVI', 'bitrate': 96000,
'nominal-bitrate': 96000, 'encoder': u'Xiph.Org libVorbis I 20070622',
'container-format': u'Matroska', 'audio-codec': u'Vorbis', 'video-codec': u'VP8
video'}, _asynctimeouttime=0, _remote_tearing_down=True, _outputfiles={},
_possiblechecklist={'correct-playback-rates': False,
'decoder-timestamp-interpolation': False, 'dbus-process-connected': False,
'half-speed-flushing-newsegment-seen': False, 'subprocess-exited-normally':
False, 'remote-instance-created': False, 'decoder-delta-unit-flag-handling':
False, 'dbus-process-spawned': False, 'identical-timestamps': False,
'video-pad-exists': False, 'segment-done': False, 'no-timeout':
False...(truncated)
klass = <optimized out>
result = <optimized out>
#38 0x000000000041d42a in PyObject_Call (func=<instancemethod at remote
0x195ecd0>, arg=<optimized out>, kw=<optimized out>) at
../Objects/abstract.c:2529
result = <optimized out>
call = 0x432c90 <instancemethod_call>
#39 0x00000000004b9b9e in do_call (nk=<optimized out>, na=<optimized out>,
pp_stack=0x7fa30f987e50, func=<instancemethod at remote 0x195ecd0>) at
../Python/ceval.c:4239
callargs = <optimized out>
kwdict = 0x0
result = 0x0
#40 call_function (oparg=<optimized out>, pp_stack=0x7fa30f987e50) at
../Python/ceval.c:4044
func = <instancemethod at remote 0x195ecd0>
w = <optimized out>
na = <optimized out>
nk = <optimized out>
n = <optimized out>
pfunc = 0x1aa6480
x = <optimized out>
#41 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at
../Python/ceval.c:2666
sp = 0x1aa6488
stack_pointer = <optimized out>
next_instr = 0x15380fd "\001d"
opcode = <optimized out>
oparg = <optimized out>
why = WHY_NOT
err = 0
x = <optimized out>
v = <optimized out>
w = <optimized out>
u = <optimized out>
t = <optimized out>
stream = 0x0
fastlocals = <optimized out>
freevars = 0x1aa6480
retval = <optimized out>
tstate = 0x1a78760
co = 0x15328b0
instr_ub = -1
instr_lb = 0
instr_prev = -1
first_instr = 0x15380e4 "t"
names = ('gst', 'log', 'PythonDBusTest', 'stop')
consts = (None, 'Stopping...')
#42 0x00000000004b9d77 in fast_function (nk=<optimized out>, na=<optimized
out>, n=<optimized out>, pp_stack=0x7fa30f987f90, func=<function at remote
0x16c9668>) at ../Python/ceval.c:4107
retval = 0x0
i = <optimized out>
fastlocals = <optimized out>
f = <optimized out>
tstate = 0x1a78760
stack = <optimized out>
co = <optimized out>
nd = 0
globals = <optimized out>
argdefs = <optimized out>
d = 0x0
#43 call_function (oparg=<optimized out>, pp_stack=0x7fa30f987f90) at
../Python/ceval.c:4042
func = <function at remote 0x16c9668>
w = <optimized out>
na = <optimized out>
nk = <optimized out>
n = <optimized out>
pfunc = 0x1a78d58
x = <optimized out>
#44 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at
../Python/ceval.c:2666
sp = 0x1a78d60
stack_pointer = <optimized out>
next_instr = 0x14af1f9 "\001|"
opcode = <optimized out>
oparg = <optimized out>
why = WHY_NOT
err = 0
x = <optimized out>
v = <optimized out>
w = <optimized out>
u = <optimized out>
t = <optimized out>
stream = 0x0
fastlocals = <optimized out>
freevars = 0x1a78d58
retval = <optimized out>
tstate = 0x1a78760
co = 0x15067b0
instr_ub = -1
instr_lb = 0
instr_prev = -1
first_instr = 0x14af1a4 "d\001"
names = ('traceback', '_PythonDBusTest__exception_handled', 'True',
'format_exception', 'extraInfo', 'join', 'stop',
'_PythonDBusTest__orig_excepthook', 'sys', 'exit')
consts = (None, -1, 'python-exception', '', 1)
#45 0x00000000004bfccd in PyEval_EvalCodeEx (co=0x15067b0, globals=<optimized
out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>,
kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at
../Python/ceval.c:3253
f = Frame 0x1a78bb0, for file
/home/tpm/gst/releases/gst-qa-system/insanity/dbustest.py, line 595, in
__excepthook (self=<PlaybackTest(_PythonDBusTest__orig_excepthook=<built-in
function excepthook>, _running=False, _remotetimeoutid=0, rusage_start=(<float
at remote 0x14c7da8>, <float at remote 0x14c7df0>, <float at remote
0x14c7dc0>), _tags={'language-code': u'und', 'encoder-version': 0,
'application-name': u'SUPER(C) ', 'title':
u'big_buck_bunny_1080p_surround.avi_006.AVI', 'bitrate': 96000,
'nominal-bitrate': 96000, 'encoder': u'Xiph.Org libVorbis I 20070622',
'container-format': u'Matroska', 'audio-codec': u'Vorbis', 'video-codec': u'VP8
video'}, _asynctimeouttime=0, _remote_tearing_down=True, _outputfiles={},
_possiblechecklist={'correct-playback-rates': False,
'decoder-timestamp-interpolation': False, 'dbus-process-connected': False,
'half-speed-flushing-newsegment-seen': False, 'subprocess-exited-normally':
False, 'remote-instance-created': False, 'decoder-delta-unit-flag-handling':
False, 'dbus-process-...(truncated)
retval = 0x0
fastlocals = 0x1a78d28
freevars = <optimized out>
tstate = <optimized out>
x = <optimized out>
u = <optimized out>
#46 0x000000000044b49f in function_call (func=<function at remote 0x1535de8>,
arg=(<PlaybackTest(_PythonDBusTest__orig_excepthook=<built-in function
excepthook>, _running=False, _remotetimeoutid=0, rusage_start=(<float at remote
0x14c7da8>, <float at remote 0x14c7df0>, <float at remote 0x14c7dc0>),
_tags={'language-code': u'und', 'encoder-version': 0, 'application-name':
u'SUPER(C) ', 'title': u'big_buck_bunny_1080p_surround.avi_006.AVI',
'bitrate': 96000, 'nominal-bitrate': 96000, 'encoder': u'Xiph.Org libVorbis I
20070622', 'container-format': u'Matroska', 'audio-codec': u'Vorbis',
'video-codec': u'VP8 video'}, _asynctimeouttime=0, _remote_tearing_down=True,
_outputfiles={}, _possiblechecklist={'correct-playback-rates': False,
'decoder-timestamp-interpolation': False, 'dbus-process-connected': False,
'half-speed-flushing-newsegment-seen': False, 'subprocess-exited-normally':
False, 'remote-instance-created': False, 'decoder-delta-unit-flag-handling':
False, 'dbus-process-spawned': False, 'identical-timestamps': False,
'video-pad-exists': False, 'segment-done': False, 'no-timeout':
Fals...(truncated), kw=0x0) at ../Objects/funcobject.c:526
result = <optimized out>
argdefs = <optimized out>
kwtuple = 0x0
d = 0x0
k = 0x0
nk = 0
nd = 0
#47 0x000000000041d42a in PyObject_Call (func=<function at remote 0x1535de8>,
arg=<optimized out>, kw=<optimized out>) at ../Objects/abstract.c:2529
result = <optimized out>
call = 0x44b440 <function_call>
#48 0x0000000000432d1b in instancemethod_call (func=<function at remote
0x1535de8>, arg=(<PlaybackTest(_PythonDBusTest__orig_excepthook=<built-in
function excepthook>, _running=False, _remotetimeoutid=0, rusage_start=(<float
at remote 0x14c7da8>, <float at remote 0x14c7df0>, <float at remote
0x14c7dc0>), _tags={'language-code': u'und', 'encoder-version': 0,
'application-name': u'SUPER(C) ', 'title':
u'big_buck_bunny_1080p_surround.avi_006.AVI', 'bitrate': 96000,
'nominal-bitrate': 96000, 'encoder': u'Xiph.Org libVorbis I 20070622',
'container-format': u'Matroska', 'audio-codec': u'Vorbis', 'video-codec': u'VP8
video'}, _asynctimeouttime=0, _remote_tearing_down=True, _outputfiles={},
_possiblechecklist={'correct-playback-rates': False,
'decoder-timestamp-interpolation': False, 'dbus-process-connected': False,
'half-speed-flushing-newsegment-seen': False, 'subprocess-exited-normally':
False, 'remote-instance-created': False, 'decoder-delta-unit-flag-handling':
False, 'dbus-process-spawned': False, 'identical-timestamps': False,
'video-pad-exists': False, 'segment-done': False, 'no-timeout':
Fals...(truncated), kw=0x0) at ../Objects/classobject.c:2578
self = <PlaybackTest(_PythonDBusTest__orig_excepthook=<built-in
function excepthook>, _running=False, _remotetimeoutid=0, rusage_start=(<float
at remote 0x14c7da8>, <float at remote 0x14c7df0>, <float at remote
0x14c7dc0>), _tags={'language-code': u'und', 'encoder-version': 0,
'application-name': u'SUPER(C) ', 'title':
u'big_buck_bunny_1080p_surround.avi_006.AVI', 'bitrate': 96000,
'nominal-bitrate': 96000, 'encoder': u'Xiph.Org libVorbis I 20070622',
'container-format': u'Matroska', 'audio-codec': u'Vorbis', 'video-codec': u'VP8
video'}, _asynctimeouttime=0, _remote_tearing_down=True, _outputfiles={},
_possiblechecklist={'correct-playback-rates': False,
'decoder-timestamp-interpolation': False, 'dbus-process-connected': False,
'half-speed-flushing-newsegment-seen': False, 'subprocess-exited-normally':
False, 'remote-instance-created': False, 'decoder-delta-unit-flag-handling':
False, 'dbus-process-spawned': False, 'identical-timestamps': False,
'video-pad-exists': False, 'segment-done': False, 'no-timeout':
False...(truncated)
klass = <optimized out>
result = <optimized out>
#49 0x000000000041d42a in PyObject_Call (func=<instancemethod at remote
0x14a28c0>, arg=<optimized out>, kw=<optimized out>) at
../Objects/abstract.c:2529
result = <optimized out>
call = 0x432c90 <instancemethod_call>
#50 0x00000000004b8da6 in PyEval_CallObjectWithKeywords (func=<instancemethod
at remote 0x14a28c0>, arg=(<type at remote 0x83f400>,
exceptions.IndexError('list index out of range',), <traceback at remote
0x310bcf8>), kw=<optimized out>) at ../Python/ceval.c:3890
result = <optimized out>
#51 0x00000000004e0a3d in PyErr_PrintEx (set_sys_last_vars=<optimized out>) at
../Python/pythonrun.c:1155
args = (<type at remote 0x83f400>, exceptions.IndexError('list index
out of range',), <traceback at remote 0x310bcf8>)
result = <optimized out>
exception = <type at remote 0x83f400>
v = exceptions.IndexError('list index out of range',)
tb = <traceback at remote 0x310bcf8>
hook = <instancemethod at remote 0x14a28c0>
#52 0x00007fa3133d6264 in data_probe_callback_marshal (pad=<optimized out>,
obj=<optimized out>, user_data=<optimized out>) at gstpad.override:906
state = PyGILState_UNLOCKED
callback = <instancemethod at remote 0x195ed20>
args = (<type at remote 0x83f400>, exceptions.IndexError('list index
out of range',), <traceback at remote 0x310bcf8>)
pret = 0x0
py_user_data = <optimized out>
ret = <optimized out>
__PRETTY_FUNCTION__ = "data_probe_callback_marshal"
#53 0x00007fa3128c0ad8 in gst_marshal_BOOLEAN__POINTER (closure=0x1917b00,
return_value=0x7fa30f9886a0, n_param_values=<optimized out>,
param_values=0x7fa30f9887b8, invocation_hint=<optimized out>,
marshal_data=<optimized out>) at gstmarshal.c:586
callback = 0x7fa3133d60f0 <data_probe_callback_marshal>
cc = 0x1917b00
data1 = 0x1a08c10
data2 = <optimized out>
v_return = <optimized out>
__PRETTY_FUNCTION__ = "gst_marshal_BOOLEAN__POINTER"
#54 0x00007fa3167e9804 in g_closure_invoke (closure=0x1917b00,
return_value=0x7fa30f9886a0, n_param_values=2, param_values=0x7fa30f9887b8,
invocation_hint=<optimized out>) at
/tmp/buildd/glib2.0-2.30.2/./gobject/gclosure.c:774
marshal = 0x7fa3128c0a40 <gst_marshal_BOOLEAN__POINTER>
marshal_data = <optimized out>
in_marshal = <optimized out>
__PRETTY_FUNCTION__ = "g_closure_invoke"
#55 0x00007fa3167fb78a in signal_emit_unlocked_R (node=<optimized out>,
detail=212, instance=0x1a08c10, emission_return=0x7fa30f9887e8,
instance_and_params=0x7fa30f9887b8) at
/tmp/buildd/glib2.0-2.30.2/./gobject/gsignal.c:3272
tmp = <optimized out>
handler = 0x1b61440
accumulator = 0x1701820
emission = {next = 0x0, instance = 0x1a08c10, ihint = {signal_id = 14,
detail = 212, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type
= 4}
class_closure = 0x1701730
hlist = 0x7fa3182776c0
handler_list = 0x1b61440
return_accu = 0x7fa30f9886a0
accu = {g_type = 20, data = {{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}, {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}}}
signal_id = 14
max_sequential_handler_number = 132
return_value_altered = 0
#56 0x00007fa316804420 in g_signal_emitv (instance_and_params=<optimized out>,
signal_id=<optimized out>, detail=212, return_value=0x7fa30f9887e8) at
/tmp/buildd/glib2.0-2.30.2/./gobject/gsignal.c:2907
instance = <optimized out>
node = 0x17017c0
__PRETTY_FUNCTION__ = "g_signal_emitv"
#57 0x00007fa312845a5b in gst_pad_emit_have_data_signal (pad=<optimized out>,
obj=0x1e8f010) at gstpad.c:4167
ret = {g_type = 20, data = {{v_int = 1, v_uint = 1, v_long = 1, v_ulong
= 1, v_int64 = 1, v_uint64 = 1, v_float = 1.40129846e-45, v_double =
4.9406564584124654e-324, v_pointer = 0x1}, {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}}}
args = {{g_type = 24131520, data = {{v_int = 27298832, v_uint =
27298832, v_long = 27298832, v_ulong = 27298832, v_int64 = 27298832, v_uint64 =
27298832, v_float = 5.89756974e-38, v_double = 1.3487415062791688e-316,
v_pointer = 0x1a08c10}, {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}}},
{g_type = 196, data = {{v_int = 32043024, v_uint = 32043024, v_long = 32043024,
v_ulong = 32043024, v_int64 = 32043024, v_uint64 = 32043024, v_float =
8.55678132e-38, v_double = 1.5831357347266563e-316, v_pointer = 0x1e8f010},
{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}}}}
res = <optimized out>
detail = <optimized out>
#58 0x00007fa31287cc33 in gst_pad_push_data (pad=0x1a08c10, is_buffer=1,
data=0x1e8f010, cache=0x0) at gstpad.c:4473
peer = <optimized out>
ret = <optimized out>
caps = 0x0
caps_changed = <optimized out>
__PRETTY_FUNCTION__ = "gst_pad_push_data"
#59 0x00007fa312880a86 in gst_pad_push (pad=0x1a08c10, buffer=0x1e8f010) at
gstpad.c:4730
scache = {peer = 0x0, caps = 0x0}
cache = 0x0
ret = <optimized out>
cache_ptr = 0x1a08d88
peer = <optimized out>
caps = <optimized out>
__PRETTY_FUNCTION__ = "gst_pad_push"
#60 0x00007fa30ed74f8f in gst_base_video_decoder_finish_frame
(base_video_decoder=0x1a85fd0, frame=0x1aa88f0) at gstbasevideodecoder.c:1668
state = <optimized out>
src_buffer = 0x1e8f010
ret = GST_FLOW_OK
__FUNCTION__ = "gst_base_video_decoder_finish_frame"
#61 0x00007fa30ef83151 in gst_vp8_dec_handle_frame (decoder=<optimized out>,
frame=<optimized out>) at gstvp8dec.c:484
dec = <optimized out>
ret = 960
status = <optimized out>
iter = 0x1a7ace0
img = 0x1a7ace0
decoder_deadline = <optimized out>
deadline = <optimized out>
__FUNCTION__ = "gst_vp8_dec_handle_frame"
#62 0x00007fa30ed700f1 in gst_base_video_decoder_have_frame_2
(base_video_decoder=0x1a85fd0) at gstbasevideodecoder.c:1857
frame = 0x1aa88f0
base_video_decoder_class = 0x1a85640
ret = GST_FLOW_OK
__PRETTY_FUNCTION__ = "gst_base_video_decoder_have_frame_2"
__FUNCTION__ = "gst_base_video_decoder_have_frame_2"
#63 0x00007fa30ed738bd in gst_base_video_decoder_chain (pad=<optimized out>,
buf=0x7fa3082ecf20) at gstbasevideodecoder.c:1293
base_video_decoder = 0x1a85fd0
ret = GST_FLOW_OK
__FUNCTION__ = "gst_base_video_decoder_chain"
#64 0x00007fa312880b9a in gst_pad_push (pad=0x1a08910, buffer=0x7fa3082ecf20)
at gstpad.c:4710
cache = 0x1a972a0
ret = <optimized out>
cache_ptr = 0x1a08a88
peer = 0x1a08a90
caps = <optimized out>
__PRETTY_FUNCTION__ = "gst_pad_push"
#65 0x00007fa310a1abd1 in gst_single_queue_push_one (object=0x7fa3082ecf20,
sq=0x19f6a50, mq=0x1a7f030) at gstmultiqueue.c:1087
buffer = 0x7fa3082ecf20
timestamp = <optimized out>
duration = <optimized out>
caps = 0x1a7c940
result = GST_FLOW_OK
#66 gst_multi_queue_loop (pad=<optimized out>) at gstmultiqueue.c:1318
sq = 0x19f6a50
item = <optimized out>
sitem = 0x1a8db20
mq = 0x1a7f030
object = <optimized out>
newid = 2525
result = 27773248
next_time = <optimized out>
__PRETTY_FUNCTION__ = "gst_multi_queue_loop"
#67 0x00007fa3128a8074 in gst_task_func (task=0x1a6a620) at gsttask.c:327
lock = 0x1a7ccc0
tself = 0x1a7c7b0
priv = 0x1a6a6c0
__PRETTY_FUNCTION__ = "gst_task_func"
#68 0x00007fa316143d08 in g_thread_pool_thread_proxy (data=<optimized out>) at
/tmp/buildd/glib2.0-2.30.2/./glib/gthreadpool.c:319
task = 0x1a67460
pool = 0x16e8520
#69 0x00007fa3161417e6 in g_thread_create_proxy (data=0x1a7c7b0) at
/tmp/buildd/glib2.0-2.30.2/./glib/gthread.c:1962
thread = 0x1a7c7b0
__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#70 0x00007fa318273b40 in start_thread (arg=<optimized out>) at
pthread_create.c:304
__res = <optimized out>
pd = 0x7fa30f989700
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140338318055168,
-3525289488259991483, 140338326441712, 140338318055872, 140338466033728, 3,
3482893101007648837, 3482856656525867077}, mask_was_saved = 0}}, priv = {pad =
{0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
freesize = <optimized out>
__PRETTY_FUNCTION__ = "start_thread"
#71 0x00007fa31710636d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#72 0x0000000000000000 in ?? ()
No symbol table info available.
The exception handler should either unconditionally schedule the stop from the
main thread, or check if it is the main thread or not and marshal it into the
main thread if not.
--
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