--- Begin Message ---
Package: gstreamer1.0-libav
Version: 1.8.2-1
Severity: important
Dear Maintainer,
applications that use gstreamer segfault when trying to play any h264 video.
Other codecs work fine.
I assume this is due to a recent ffmpeg update, but ffmpeg itself (and other
applications using libav) continue to work, so I think the problem is in
gstreamer.
Here is a backtrace I got from gst-launch-1.0 -v playbin
uri=file:///path/to/video.mp4
------------------SNIP--------------------
Thread 6 "multiqueue0:src" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffedf1e700 (LWP 26245)]
0x00007ffff6fc01c8 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht
gefunden.
(gdb) bt full
#0 0x00007ffff6fc01c8 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
resultvar = 0
pid = 26237
selftid = 26245
#1 0x00007ffff6fc164a in __GI_abort () at abort.c:89
save_stage = 2
act =
{__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20},
sa_mask = {__val = {140736585731512, 140736586987917, 142, 140736585750902,
140736817862560, 8, 140736885465681, 140736817858928, 16237680842874452480,
140736591042816, 140736817862560, 140736817863744, 16237680842874452480, 1136,
140736590853200, 140736817862560}}, sa_flags = -670496400, sa_restorer =
0x7fffd8090660}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007fffc9e78f5b in init_context_defaults (s=s@entry=0x7fffd80917a0,
codec=codec@entry=0x7fffca841900 <ff_h264_vaapi_encoder>)
at src/libavcodec/options.c:142
ret = <optimized out>
d = 0x7fffca813450 <vaapi_encode_h264_defaults+80>
flags = <optimized out>
#3 0x00007fffc9e79026 in avcodec_alloc_context3 (codec=0x7fffca841900
<ff_h264_vaapi_encoder>) at src/libavcodec/options.c:163
avctx = 0x7fffd80917a0
#4 0x00007fffdc380540 in gst_ffmpeg_cfg_install_property
(klass=0x7fffd8090970, base=8) at gstavcfg.c:732
pspec = <optimized out>
list = <optimized out>
prop_id = 8
ctx = <optimized out>
__func__ = "gst_ffmpeg_cfg_install_property"
#5 0x00007fffdc376e53 in gst_ffmpegvidenc_class_init (klass=0x7fffd8090970) at
gstavvidenc.c:225
gobject_class = 0x7fffd8090970
venc_class = 0x7fffd8090970
caps = <optimized out>
#6 0x00007ffff788c22d in g_type_class_ref (pclass=0x7fffd8090660,
node=0x7fffd8090380)
at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./gobject/gtype.c:2241
slist = <optimized out>
init_slist = <optimized out>
i = <optimized out>
class = 0x7fffd8090970
entries = <optimized out>
entry = <optimized out>
---Type <return> to continue, or q <return> to quit---
bnode = <optimized out>
ptype = <optimized out>
holds_ref = <optimized out>
pclass = <optimized out>
#7 0x00007ffff788c22d in g_type_class_ref (type=type@entry=140736817857408) at
/build/glib2.0-vjfO_h/glib2.0-2.48.1/./gobject/gtype.c:2956
ptype = <optimized out>
holds_ref = <optimized out>
pclass = <optimized out>
#8 0x00007ffff7b09da4 in gst_element_register (plugin=plugin@entry=0x6df290
[GstPlugin], name=name@entry=0x7fffd806cea0 "avenc_h264_vaapi",
rank=rank@entry=128, type=type@entry=140736817857408) at gstelementfactory.c:243
existing_feature = <optimized out>
registry = 0x61b950 [GstRegistry]
factory = 0x7fffe0022160 [GstElementFactory]
interfaces = <optimized out>
n_interfaces = 32767
i = <optimized out>
klass = <optimized out>
item = <optimized out>
__func__ = "gst_element_register"
__PRETTY_FUNCTION__ = "gst_element_register"
#9 0x00007fffdc3775b3 in gst_ffmpegvidenc_register
(plugin=plugin@entry=0x6df290 [GstPlugin]) at gstavvidenc.c:1009
type_name = 0x7fffd806cea0 "avenc_h264_vaapi"
typeinfo =
{class_size = 792, base_init = 0x7fffdc376ef0
<gst_ffmpegvidenc_base_init>, base_finalize = 0x0, class_init = 0x7fffdc376c50
<gst_ffmpegvidenc_class_init>, class_finalize = 0x0, class_data = 0x0,
instance_size = 1944, n_preallocs = 0, instance_init = 0x7fffdc375540
<gst_ffmpegvidenc_init>, value_table = 0x0}
type = 140736817857408
in_plugin = 0x7fffca841900 <ff_h264_vaapi_encoder>
__func__ = "gst_ffmpegvidenc_register"
#10 0x00007fffdc369e20 in plugin_init (plugin=0x6df290 [GstPlugin]) at
gstav.c:158
plugin = 0x6df290 [GstPlugin]
#11 0x00007ffff7b2b537 in gst_plugin_register_func (plugin=0x6df290
[GstPlugin], desc=0x7fffdc598180 <gst_plugin_desc>, user_data=0x0)
at gstplugin.c:523
user_data = 0x0
desc = 0x7fffdc598180 <gst_plugin_desc>
plugin = 0x6df290 [GstPlugin]
---Type <return> to continue, or q <return> to quit---
#12 0x00007ffff7b2d425 in _priv_gst_plugin_load_file_for_registry
(filename=0x6dec50 "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so",
registry=0x61b950 [GstRegistry], registry@entry=0x0,
error=error@entry=0x7fffedf1d060) at gstplugin.c:826
desc = <optimized out>
plugin = 0x6df290 [GstPlugin]
module = <optimized out>
ret = <optimized out>
ptr = 0x7fffdc598180 <gst_plugin_desc>
file_status =
{st_dev = 20, st_ino = 12284313, st_nlink = 1, st_mode = 33188,
st_uid = 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 241040, st_blksize =
4096, st_blocks = 472, st_atim = {tv_sec = 1465819700, tv_nsec = 0}, st_mtim =
{tv_sec = 1465462429, tv_nsec = 0}, st_ctim = {tv_sec = 1465819782, tv_nsec =
466688673}, __glibc_reserved = {0, 0, 0}}
new_plugin = 0
flags = <optimized out>
__func__ = "_priv_gst_plugin_load_file_for_registry"
__PRETTY_FUNCTION__ = "_priv_gst_plugin_load_file_for_registry"
#13 0x00007ffff7b2dcea in gst_plugin_load_file (filename=<optimized out>,
error=error@entry=0x7fffedf1d060) at gstplugin.c:680
#14 0x00007ffff7b2e12c in gst_plugin_load_by_name (name=0x6dcd49 "libav") at
gstplugin.c:1265
plugin = 0x6df290 [GstPlugin]
newplugin = <optimized out>
error = 0x0
__PRETTY_FUNCTION__ = "gst_plugin_load_by_name"
#15 0x00007ffff7b2ea8d in gst_plugin_feature_load
(feature=feature@entry=0x7576e0 [GstElementFactory]) at gstpluginfeature.c:111
plugin = <optimized out>
real_feature = <optimized out>
__func__ = "gst_plugin_feature_load"
__PRETTY_FUNCTION__ = "gst_plugin_feature_load"
#16 0x00007ffff7b0946e in gst_element_factory_create (factory=0x7576e0
[GstElementFactory], name=0x0) at gstelementfactory.c:351
element = <optimized out>
oclass = <optimized out>
newfactory = <optimized out>
__func__ = "gst_element_factory_create"
__PRETTY_FUNCTION__ = "gst_element_factory_create"
#17 0x00007ffff5fae398 in () at
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#18 0x00007ffff5fba202 in () at
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#19 0x00007ffff5fbaab2 in () at
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#20 0x00007ffff5fbacff in () at
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
---Type <return> to continue, or q <return> to quit---
#24 0x00007ffff788708f in <emit signal notify:caps on instance 0x7fffe001abb0
[GstPad]> (instance=instance@entry=0x7fffe001abb0, signal_id=<optimized out>,
detail=<optimized out>) at
/build/glib2.0-vjfO_h/glib2.0-2.48.1/./gobject/gsignal.c:3441
Python Exception <class 'gdb.error'> Attempt to dereference a generic pointer.:
#25 0x00007ffff78704d4 in g_object_dispatch_properties_changed
(object=0x7fffe001abb0 [GstPad], n_pspecs=<optimized out>, pspecs=<optimized
out>)
at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./gobject/gobject.c:1062
i = <optimized out>
#26 0x00007ffff7adcd44 in gst_object_dispatch_properties_changed
(object=0x7fffe001abb0 [GstPad], n_pspecs=1, pspecs=0x7fffedf1d830)
at gstobject.c:445
gst_object = <optimized out>
parent = <optimized out>
old_parent = <optimized out>
i = <optimized out>
name = 0x0
debug_name = <optimized out>
__PRETTY_FUNCTION__ = "gst_object_dispatch_properties_changed"
#27 0x00007ffff7872a79 in g_object_notify_by_pspec (pspec=<optimized out>,
object=0x7fffe001abb0 [GstPad])
at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./gobject/gobject.c:1155
nqueue = 0x0
notify_pspec = 0x61a0a0 [GParamBoxed]
__func__ = "g_object_notify_by_pspec"
#28 0x00007ffff7872a79 in g_object_notify_by_pspec
(object=object@entry=0x7fffe001abb0 [GstPad], pspec=<optimized out>)
at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./gobject/gobject.c:1265
__func__ = "g_object_notify_by_pspec"
#29 0x00007ffff7b1afbc in store_sticky_event (pad=pad@entry=0x7fffe001abb0
[GstPad], event=event@entry=0x7fffe002a120) at gstpad.c:5076
i = <optimized out>
len = <optimized out>
type = <optimized out>
events = <optimized out>
res = <optimized out>
name = <optimized out>
insert = <optimized out>
__PRETTY_FUNCTION__ = "store_sticky_event"
__func__ = "store_sticky_event"
#30 0x00007ffff7b26710 in gst_pad_push_event (pad=0x7fffe001abb0 [GstPad],
event=0x7fffe002a120) at gstpad.c:5353
res = 0
type = GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM
sticky = 1
---Type <return> to continue, or q <return> to quit---
serialized = 1
__func__ = "gst_pad_push_event"
__PRETTY_FUNCTION__ = "gst_pad_push_event"
#31 0x00007fffed501a1b in () at
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstaudioparsers.so
#32 0x00007fffed50228f in () at
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstaudioparsers.so
#33 0x00007ffff53cf963 in gst_base_parse_sink_event_default
(parse=0x7fffe0025ca0 [GstAacParse], event=0x7fffe0004de0) at
gstbaseparse.c:1186
caps = 0x7fffe0006000
klass = <optimized out>
ret = 0
forward_immediate = 0
__PRETTY_FUNCTION__ = "gst_base_parse_sink_event_default"
#34 0x00007ffff7b1c317 in gst_pad_send_event_unchecked
(pad=pad@entry=0x7fffe001a970 [GstPad], event=event@entry=0x7fffe0004de0,
type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:5576
ret = <optimized out>
event_type = <optimized out>
serialized = <optimized out>
need_unlock = 1
sticky = <optimized out>
eventfunc = 0x7ffff53c40f0 <gst_base_parse_sink_event>
eventfullfunc = 0x0
parent = 0x7fffe0025ca0 [GstAacParse]
__PRETTY_FUNCTION__ = "gst_pad_send_event_unchecked"
#35 0x00007ffff7b1c74e in gst_pad_push_event_unchecked
(pad=pad@entry=0x7fffe001a730 [GstPad], event=0x7fffe0004de0,
type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5234
ret = <optimized out>
peerpad = 0x7fffe001a970 [GstPad]
event_type = GST_EVENT_CAPS
__PRETTY_FUNCTION__ = "gst_pad_push_event_unchecked"
#36 0x00007ffff7b1cb90 in push_sticky (pad=pad@entry=0x7fffe001a730 [GstPad],
ev=ev@entry=0x7fffedf1dd10, user_data=user_data@entry=0x7fffedf1dd80)
at gstpad.c:3779
data = 0x7fffedf1dd80
event = 0x7fffe0004de0
__PRETTY_FUNCTION__ = "push_sticky"
#37 0x00007ffff7b1a83f in events_foreach (pad=pad@entry=0x7fffe001a730
[GstPad], func=func@entry=0x7ffff7b1ca40 <push_sticky>,
user_data=user_data@entry=0x7fffedf1dd80) at gstpad.c:601
ev = 0x7fffe0023b40
---Type <return> to continue, or q <return> to quit---
ev_ret = {received = 0, event = 0x7fffe0004de0}
i = 1
len = 2
events = 0x7fffe0005410
ret = <optimized out>
cookie = 2
#38 0x00007ffff7b26864 in gst_pad_push_event (event=0x7fffe0004de0,
pad=0x7fffe001a730 [GstPad]) at gstpad.c:3836
data = {ret = GST_FLOW_OK, was_eos = 0, event = 0x7fffe0004de0}
res = 0
type = GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM
sticky = <optimized out>
serialized = <optimized out>
__func__ = "gst_pad_push_event"
__PRETTY_FUNCTION__ = "gst_pad_push_event"
#39 0x00007ffff7b26864 in gst_pad_push_event (pad=0x7fffe001a730 [GstPad],
event=event@entry=0x7fffe0004de0) at gstpad.c:5365
res = 0
type = GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM
sticky = <optimized out>
serialized = <optimized out>
__func__ = "gst_pad_push_event"
__PRETTY_FUNCTION__ = "gst_pad_push_event"
#40 0x00007ffff4ce854e in gst_multi_queue_loop (allow_drop=<synthetic pointer>,
object=0x7fffe0004de0, sq=0x7fffe0023560, mq=0x7fffe000d070 [GstMultiQueue]) at
gstmultiqueue.c:1458
event = 0x7fffe0004de0
result = GST_FLOW_OK
sq = 0x7fffe0023560
item = <optimized out>
sitem = 0x7fffd8001990
mq = 0x7fffe000d070 [GstMultiQueue]
object = <optimized out>
newid = 10
result = <optimized out>
next_time = <optimized out>
is_buffer = 0
do_update_buffering = 0
dropping = 0
---Type <return> to continue, or q <return> to quit---
__PRETTY_FUNCTION__ = "gst_multi_queue_loop"
#41 0x00007ffff4ce854e in gst_multi_queue_loop (pad=<optimized out>) at
gstmultiqueue.c:1701
sq = 0x7fffe0023560
item = <optimized out>
sitem = 0x7fffd8001990
mq = 0x7fffe000d070 [GstMultiQueue]
object = <optimized out>
newid = 10
result = <optimized out>
next_time = <optimized out>
is_buffer = 0
do_update_buffering = 0
dropping = 0
__PRETTY_FUNCTION__ = "gst_multi_queue_loop"
#42 0x00007ffff7b4fe71 in gst_task_func (task=0x833cb0 [GstTask]) at
gsttask.c:332
lock = 0x7fffe001a7a0
tself = 0x7fffe0006140
priv = 0x833c60
__PRETTY_FUNCTION__ = "gst_task_func"
#43 0x00007ffff75bc55e in g_thread_pool_thread_proxy (data=<optimized out>) at
/build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gthreadpool.c:307
task = 0x7fffe0003c10
pool = 0x623f60
#44 0x00007ffff75bbbc5 in g_thread_proxy (data=0x7fffe0006140) at
/build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gthread.c:780
thread = 0x7fffe0006140
#45 0x00007ffff7335464 in start_thread (arg=0x7fffedf1e700) at
pthread_create.c:333
__res = <optimized out>
pd = 0x7fffedf1e700
now = <optimized out>
unwind_buf =
{cancel_jmp_buf = {{jmp_buf = {140737185441536,
2620934839452329127, 0, 140737207136415, 3, 6438752, -2620895172195490649,
-2620953974834305881}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0,
0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
pagesize_m1 = <optimized out>
sp = <optimized out>
freesize = <optimized out>
__PRETTY_FUNCTION__ = "start_thread"
---Type <return> to continue, or q <return> to quit---
#46 0x00007ffff707430d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb) q
------------------SNIP--------------------
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (1000, 'unstable'), (500, 'unstable-debug'), (500,
'experimental'), (1, 'experimental-debug')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.6.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages gstreamer1.0-libav depends on:
ii libavcodec57 7:3.1.1-2
ii libavfilter6 7:3.1.1-2
ii libavformat57 7:3.1.1-2
ii libavutil55 7:3.1.1-2
ii libc6 2.23-1
ii libglib2.0-0 2.48.1-2
ii libgstreamer-plugins-base1.0-0 1.8.2-1
ii libgstreamer1.0-0 1.8.2-1
gstreamer1.0-libav recommends no packages.
gstreamer1.0-libav suggests no packages.
-- no debconf information
--- End Message ---