[Bug 792536] New: Immediate SegFault of gst-validate with a certain given (ok, broken) pipeline

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jan 15 16:12:05 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=792536

            Bug ID: 792536
           Summary: Immediate SegFault of gst-validate with a certain
                    given (ok, broken) pipeline
    Classification: Platform
           Product: GStreamer
           Version: 1.12.x
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: meinemailingliste2 at online.de
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Example with qtdemux:
(I know splitmuxsrc already contains the demuxer...)

# gst-validate-1.0 --set-scenario only-header-file splitmuxsrc
location=big_buck_bunny_1080p_h264.mov ! qtdemux ! fakesink

=========================================
Running scenario only-header-file on pipeline pipeline0
=========================================
Starting pipeline
Pipeline started
Executing  stop:
Segmentation fault

# cat only-header-file
description, duration=65.0, min-media-duration=65.0

Example with qtmux:
(I know splitmuxsrc already contains the demuxer...)

# gst-launch-1.0 --version
Invalid byte sequence in conversion input Invalid byte sequence in conversion
input
gst-launch-1.0 version 1.12.4
GStreamer 1.12.4
Unknown package origin
# uname -a
Linux buildroot 4.15.0-rc6-20180102-1 #2 SMP PREEMPT Wed Jan 10 18:50:37 CET
2018 armv7l GNU/Linux # gst-validate-1.0 --set-scenario only-header-file
splitmuxsrc location=big_buck _bunny_1080p_h264.mov ! qtmux ! fakesink

# gdb --args gst-validate-1.0 --set-scenario only-header-file splitmuxsrc
locati on=big_buck_bunny_1080p_h264.mov ! qtdemux ! fakesink GNU gdb (GDB)
8.0.1 Copyright (C) 2017 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 "arm-buildroot-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from gst-validate-1.0...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/gst-validate-1.0 --set-scenario only-header-file
splitmuxsrc location=big_buck_bunny_1080p_h264.mov \! qtdemux \! fakesink
[Thread debugging using libthread_db enabled] Using host libthread_db library
"/lib/libthread_db.so.1".
[New Thread 0x75e4f420 (LWP 764)]

=========================================
Running scenario only-header-file on pipeline pipeline0
=========================================
Starting pipeline
[New Thread 0x754ff420 (LWP 765)]
[New Thread 0x74aff420 (LWP 766)]
[New Thread 0x74153420 (LWP 767)]
[New Thread 0x737ff420 (LWP 768)]
Pipeline started
Executing  stop:

Thread 6 "splitmuxsrc0:vi" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x737ff420 (LWP 768)]
0x76d1b8d0 in ?? () from /usr/lib/libgstvalidate-1.0.so.0
(gdb) bt
#0  0x76d1b8d0 in ?? () from /usr/lib/libgstvalidate-1.0.so.0 Cannot access
memory at address 0x4eeb8
(gdb)

With filesrc no error occurs…

    $ gdb /home/xxx/Work/gstreamer/install-1.12.1/bin/gst-validate-1.0
(gdb) run --set-scenario secnario-001 splitmuxsrc
location=/home/xxx/Videos/big_buck_bunny_1080p_h264.mov ! qtdemux ! fakesink
=========================================
Running scenario secnario-001 on pipeline pipeline0
=========================================
Starting pipeline
[New Thread 0x7ffff3302700 (LWP 2122)]
[New Thread 0x7ffff28e9700 (LWP 2123)]
[New Thread 0x7ffff1f9d700 (LWP 2124)]
[New Thread 0x7ffff179c700 (LWP 2125)]
Pipeline started

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff1f9d700 (LWP 2124)] _check_pad_query_failures
(pad=pad at entry=0x7fffe806a030, 
   
last_query_caps_fail_monitor=last_query_caps_fail_monitor at entry=0x7ffff1f9c360,
last_refused_caps_monitor=last_refused_caps_monitor at entry=0x7ffff1f9c368, 
    str=0x7fffe40053a0) at gst-validate-pipeline-monitor.c:151
151      if (monitor->last_query_res && gst_caps_is_empty
(monitor->last_query_res)) {
Missing separate debuginfos, use: zypper install
libz1-debuginfo-1.2.8-5.8.1.x86_64
(gdb) where
#0  _check_pad_query_failures (pad=pad at entry=0x7fffe806a030, 
   
last_query_caps_fail_monitor=last_query_caps_fail_monitor at entry=0x7ffff1f9c360,
last_refused_caps_monitor=last_refused_caps_monitor at entry=0x7ffff1f9c368, 
    str=0x7fffe40053a0) at gst-validate-pipeline-monitor.c:151
#1  0x00007ffff78080d0 in _gather_pad_negotiation_details (pad=0x7fffe806a030, 
    str=str at entry=0x7fffe40053a0, 
   
last_query_caps_fail_monitor=last_query_caps_fail_monitor at entry=0x7ffff1f9c360,
last_refused_caps_monitor=last_refused_caps_monitor at entry=0x7ffff1f9c368)
    at gst-validate-pipeline-monitor.c:203
#2  0x00007ffff78087a9 in _generate_not_negotiated_error_report (
    msg=<optimized out>) at gst-validate-pipeline-monitor.c:431
#3  _bus_handler (bus=<optimized out>, message=<optimized out>, 
    monitor=0x743000) at gst-validate-pipeline-monitor.c:473
#4  0x00007ffff60771dc in ffi_call_unix64 ()
   from /home/xxx/Work/gstreamer/install-1.12.1/lib64/libffi.so.6
#5  0x00007ffff60762d5 in ffi_call ()
   from /home/xxx/Work/gstreamer/install-1.12.1/lib64/libffi.so.6
#6  0x00007ffff6b6632d in g_cclosure_marshal_generic (
    closure=closure at entry=0x744400, return_gvalue=return_gvalue at entry=0x0, 
    n_param_values=n_param_values at entry=2, 
    param_values=param_values at entry=0x7ffff1f9c7e0, 
    invocation_hint=invocation_hint at entry=0x7ffff1f9c780, 
    marshal_data=marshal_data at entry=0x0) at gclosure.c:1490 ---Type <return> to
continue, or q <return> to quit---
#7  0x00007ffff6b65a92 in g_closure_invoke (closure=0x744400, 
    return_value=return_value at entry=0x0, n_param_values=2, 
    param_values=param_values at entry=0x7ffff1f9c7e0, 
    invocation_hint=invocation_hint at entry=0x7ffff1f9c780) at gclosure.c:804
#8  0x00007ffff6b77edd in signal_emit_unlocked_R (node=node at entry=0x624b60, 
    detail=detail at entry=277, instance=instance at entry=0x67a3b0, 
    emission_return=emission_return at entry=0x0, 
    instance_and_params=instance_and_params at entry=0x7ffff1f9c7e0)
    at gsignal.c:3635
#9  0x00007ffff6b80161 in g_signal_emit_valist (instance=<optimized out>, 
    signal_id=<optimized out>, detail=<optimized out>, 
    var_args=var_args at entry=0x7ffff1f9c968) at gsignal.c:3391
#10 0x00007ffff6b803d2 in g_signal_emit (instance=instance at entry=0x67a3b0, 
    signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3447
#11 0x00007ffff6dee80a in gst_bus_sync_signal_handler (bus=0x67a3b0, 
    message=0x7fffdc002710, data=<optimized out>) at gstbus.c:1249
#12 0x00007ffff6deead7 in gst_bus_post (bus=bus at entry=0x67a3b0, 
    message=message at entry=0x7fffdc002710) at gstbus.c:342
#13 0x00007ffff6e03878 in gst_element_post_message_default (
    element=element at entry=0x740070, message=0x7fffdc002710)
    at gstelement.c:1783
#14 0x00007ffff6de0c3f in gst_bin_post_message (element=0x740070, 
    msg=0x7fffdc002710) at gstbin.c:2789 ---Type <return> to continue, or q
<return> to quit---
#15 0x00007ffff6e06583 in gst_element_post_message (
    element=element at entry=0x740070, message=message at entry=0x7fffdc002710)
    at gstelement.c:1826
#16 0x00007ffff6de0f8e in gst_bin_handle_message_func (bin=0x740070, 
    message=0x7fffdc002710) at gstbin.c:4040
#17 0x00007ffff6e2b35c in gst_pipeline_handle_message (bin=0x740070, 
    message=0x7fffdc002710) at gstpipeline.c:600
#18 0x00007ffff6dde838 in bin_bus_handler (bus=bus at entry=0x67a2e0, 
    message=message at entry=0x7fffdc002710, bin=bin at entry=0x740070)
    at gstbin.c:3260
#19 0x00007ffff6deeab3 in gst_bus_post (bus=bus at entry=0x67a2e0, 
    message=message at entry=0x7fffdc002710) at gstbus.c:336
#20 0x00007ffff6e03878 in gst_element_post_message_default (
    element=element at entry=0x7260f0, message=0x7fffdc002710)
    at gstelement.c:1783
#21 0x00007ffff6de0c3f in gst_bin_post_message (element=0x7260f0, 
    msg=0x7fffdc002710) at gstbin.c:2789
#22 0x00007ffff6e06583 in gst_element_post_message (
    element=element at entry=0x7260f0, message=0x7fffdc002710)
    at gstelement.c:1826
#23 0x00007ffff6e06bce in gst_element_message_full_with_details (
    element=0x7260f0, type=GST_MESSAGE_ERROR, domain=1875, code=1, 
    text=<optimized out>, debug=<optimized out>, ---Type <return> to continue,
or q <return> to quit---
    file=0x7ffff441f954 "gstsplitmuxsrc.c", 
    function=0x7ffff44200a0 <__func__.19837> "gst_splitmux_pad_loop", 
    line=556, structure=0x7fffe4005420) at gstelement.c:1962
#24 0x00007ffff44192d0 in gst_splitmux_pad_loop (pad=<optimized out>)
    at gstsplitmuxsrc.c:556
#25 0x00007ffff6e51df9 in gst_task_func (task=0x7384d0) at gsttask.c:335
#26 0x00007ffff68b396c in g_thread_pool_thread_proxy (data=<optimized out>)
    at gthreadpool.c:307
#27 0x00007ffff68b2fe5 in g_thread_proxy (data=0x750450) at gthread.c:784
#28 0x00007ffff662c0a4 in start_thread () from /lib64/libpthread.so.0
#29 0x00007ffff63616ed in clone () from /lib64/libc.so.6
(gdb)

-- 
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