[Bug 659798] New: Segfault when you convert with audioconvert from audio file mkv to audio file avi

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Sep 22 01:19:15 PDT 2011


https://bugzilla.gnome.org/show_bug.cgi?id=659798
  GStreamer | gst-plugins-good | git

           Summary: Segfault when you convert with audioconvert from audio
                    file mkv to audio file avi
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: anthony.violo at ubicast.eu
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=197217)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=197217)
stacktraces

Utilisation:
========================

Comment:
---------
Gstreamer can generate audio raw and convert for file avi, but it can't put
audio raw in mkv file and after convert for file avi.
I hope, you have enough information

Test with audiotestsrc :
-----------------------
gst-launch audiotestsrc ! "audio/x-raw-int, width=(int)32, depth=(int)32,
signed=(boolean)true, endianness=(int)1234, channels=(int)2, rate=(int)48000" !
audioconvert  ! avimux ! filesink location=test.avi -v

Generate audio file mkv with the same audio caps :
--------------------------------------------------
gst-launch audiotestsrc ! "audio/x-raw-int, width=(int)32, depth=(int)32,
signed=(boolean)true, endianness=(int)1234, channels=(int)2, rate=(int)48000" !
audioconvert  ! matroskamux ! filesink location=test.mkv -e

Convertion from audio file mkv to audio file avi:
--------------------------------------------------
gst-launch-0.10 filesrc location=test.mkv ! matroskademux name=demux ! queue !
audioconvert ! queue ! avimux bigfile=True name=mux ! progressreport
update-freq=1 silent=true ! filesink location=test.avi -v

Log :

/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = audio/x-raw-int,
width=(int)32, depth=(int)32, signed=(boolean)true, endianness=(int)1234,
channels=(int)2, rate=(int)48000
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = audio/x-raw-int,
width=(int)32, depth=(int)32, signed=(boolean)true, endianness=(int)1234,
channels=(int)2, rate=(int)48000
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps =
audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16,
depth=(int)16, rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps =
audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean)true,
endianness=(int)1234, channels=(int)2, rate=(int)48000
Caught SIGSEGV accessing address (nil)
Processus arrêté

With GDB :
{{{
Thread 4 (Thread 0xb6591b70 (LWP 3401)):
#0  0xb7fe2430 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7dad015 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#2  0xb77e013e in gst_queue_chain (pad=0x81971a0, buffer=0x833a458) at
gstqueue.c:1013
        queue = 0x819d078
        duration = 13222398605643481216
        timestamp = 1024000000
        __PRETTY_FUNCTION__ = "gst_queue_chain"
#3  0xb7f29bce in gst_pad_push (pad=0x82d94b8, buffer=0x833a458) at
gstpad.c:4684
        ret = -1209052265
        cache_ptr = 0x82d957c
        peer = <value optimized out>
        caps = <value optimized out>
        __PRETTY_FUNCTION__ = "gst_pad_push"
#4  0xb771c397 in gst_matroska_demux_parse_blockgroup_or_simpleblock
(demux=0x819a010, ebml=<value optimized out>, cluster_time=0,
cluster_offset=383, is_simpleblock=0)
    at matroska-demux.c:5220
        sub = 0x833a458
        duration = 21000000
        lace_time = 1024000000
        delta_unit = 0
        stream = 0x82e1590
        ret = <value optimized out>
        readblock = 137238960
        id = 161
        block_duration = 21
        buf = 0x82f7770
        stream_num = 0
        n = <value optimized out>
        laces = <value optimized out>
        size = <value optimized out>
        lace_size = 0x82e19b0
        time = 3270967295
        flags = -1
        referenceblock = 0
        offset = 394526
        __FUNCTION__ = "gst_matroska_demux_parse_blockgroup_or_simpleblock"
#5  0xb77262f3 in gst_matroska_demux_parse_id (demux=<value optimized out>,
id=160, length=8202, needed=9) at matroska-demux.c:5843
        ebml = {el = 0x819a010, buf = 0x833a598, offset = 394526, readers =
0x82f9a00}
        ret = <value optimized out>
        read = 8211
        __FUNCTION__ = "gst_matroska_demux_parse_id"
#6  0xb7729b70 in gst_matroska_demux_loop (pad=0x81970d8) at
matroska-demux.c:6004
        ret = GST_FLOW_OK
        id = 160
        length = 8202
        needed = 9
        __FUNCTION__ = "gst_matroska_demux_loop"
#7  0xb7f51252 in gst_task_func (task=0x82e4170) at gsttask.c:318
        lock = 0x805ed40
        tself = 0x82e1378
        priv = 0x82e41c0
        __PRETTY_FUNCTION__ = "gst_task_func"
#8  0xb7f52877 in default_func (tdata=0x8191828, pool=0x805d408) at
gsttaskpool.c:70
        func = 0xb7f50fe0 <gst_task_func>
        user_data = 0x82e4170
#9  0xb7e23d0c in g_thread_pool_thread_proxy (data=0x805d240) at
/build/buildd/glib2.0-2.24.1/glib/gthreadpool.c:315
        task = 0xfffffe00
        pool = 0x805d240
#10 0xb7e21def in g_thread_create_proxy (data=0x82e1378) at
/build/buildd/glib2.0-2.24.1/glib/gthread.c:1893
        __PRETTY_FUNCTION__ = "g_thread_create_proxy"
#11 0xb7da896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#12 0xb7d16a4e in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.

Thread 3 (Thread 0xb6d92b70 (LWP 3400)):
#0  0xb7660860 in ?? ()
No symbol table info available.
#1  0x00000800 in ?? ()
No symbol table info available.
#2  0x00000001 in ?? ()
No symbol table info available.
#3  0x000000ff in ?? ()
No symbol table info available.
#4  0x00000007 in ?? ()
No symbol table info available.
#5  0xb5c02500 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 2 (Thread 0xb7593b70 (LWP 3399)):
#0  0xb7fe2430 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7dad015 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#2  0xb77e0cf6 in gst_queue_loop (pad=0x8197588) at gstqueue.c:1251
        queue = 0x819d248
        ret = <value optimized out>
        __PRETTY_FUNCTION__ = "gst_queue_loop"
#3  0xb7f51252 in gst_task_func (task=0x82e4060) at gsttask.c:318
        lock = 0x805eec8
        tself = 0x82e1c00
        priv = 0x82e40b0
        __PRETTY_FUNCTION__ = "gst_task_func"
#4  0xb7f52877 in default_func (tdata=0x8191848, pool=0x805d408) at
gsttaskpool.c:70
        func = 0xb7f50fe0 <gst_task_func>
        user_data = 0x82e4060
#5  0xb7e23d0c in g_thread_pool_thread_proxy (data=0x805d240) at
/build/buildd/glib2.0-2.24.1/glib/gthreadpool.c:315
        task = 0xfffffe00
        pool = 0x805d240
#6  0xb7e21def in g_thread_create_proxy (data=0x82e1c00) at
/build/buildd/glib2.0-2.24.1/glib/gthread.c:1893
        __PRETTY_FUNCTION__ = "g_thread_create_proxy"
#7  0xb7da896e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#8  0xb7d16a4e in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.

Thread 1 (Thread 0xb79ce720 (LWP 3396)):
#0  0xb7fe2430 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7d08b86 in poll () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0xb7e084eb in IA__g_poll (fds=0x82e19a0, nfds=1, timeout=171) at
/build/buildd/glib2.0-2.24.1/glib/gpoll.c:127
No locals.
#3  0xb7dfb0ac in g_main_context_poll (context=0x81924f8, block=<value
optimized out>, dispatch=1, self=0x8052050) at
/build/buildd/glib2.0-2.24.1/glib/gmain.c:2904
        poll_func = 0xb7e084c0 <IA__g_poll>
#4  g_main_context_iterate (context=0x81924f8, block=<value optimized out>,
dispatch=1, self=0x8052050) at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2586
        max_priority = 2147483647
        timeout = 171
        some_ready = <value optimized out>
        nfds = 1
        allocated_nfds = <value optimized out>
        fds = <value optimized out>
        __PRETTY_FUNCTION__ = "g_main_context_iterate"
#5  0xb7dfb817 in IA__g_main_loop_run (loop=0x811aab0) at
/build/buildd/glib2.0-2.24.1/glib/gmain.c:2799
        self = 0x8052050
        __PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#6  0xb7ef7dda in gst_bus_poll (bus=0x8071180, events=GST_MESSAGE_ANY,
timeout=-1) at gstbus.c:1070
        ret = 0xffffffff
        id = 26
        __PRETTY_FUNCTION__ = "gst_bus_poll"
#7  0x0804acb5 in event_loop (pipeline=<value optimized out>, blocking=0,
target_state=<value optimized out>) at gst-launch.c:605
        timeout_id = 1
        bus = 0x8071180
        message = <value optimized out>
        res = <value optimized out>
        buffering = 0
#8  0x0804d082 in main (argc=23, argv=0xbffff2a4) at gst-launch.c:1088
        state = <value optimized out>
        pending = GST_STATE_VOID_PENDING
        ret = <value optimized out>
        bus = 0x8071180
        verbose = 0
        no_fault = 0
        no_sigusr_handler = 0
        trace = 0
        eos_on_shutdown = 0
        check_index = 0
        savefile = 0x0
        exclude_args = 0x0
        options = {{long_name = 0x804ede3 "tags", short_name = 116 't', flags =
0, arg = G_OPTION_ARG_NONE, arg_data = 0x8051238, 
            description = 0x804e38c "Output tags (also known as metadata)",
arg_description = 0x0}, {long_name = 0x804ede8 "verbose", short_name = 118 'v',
flags = 0, 
            arg = G_OPTION_ARG_NONE, arg_data = 0xbffff1dc, description =
0x804e3b4 "Output status information and property notifications",
arg_description = 0x0}, {
            long_name = 0x804edf0 "quiet", short_name = 113 'q', flags = 0, arg
= G_OPTION_ARG_NONE, arg_data = 0x805123c, 
            description = 0x804e3ec "Do not print any progress information",
arg_description = 0x0}, {long_name = 0x804edfd "messages", short_name = 109
'm', flags = 0, 
            arg = G_OPTION_ARG_NONE, arg_data = 0x8051240, description =
0x804edf6 "Output messages", arg_description = 0x0}, {long_name = 0x804ee06
"exclude", 
            short_name = 88 'X', flags = 0, arg = G_OPTION_ARG_NONE, arg_data =
0xbffff1c0, description = 0x804e414 "Do not output status information of TYPE", 
            arg_description = 0x804ee0e "TYPE1,TYPE2,..."}, {long_name =
0x804ee1e "output", short_name = 111 'o', flags = 0, arg = G_OPTION_ARG_STRING,
arg_data = 0xbffff1c4, 
            description = 0x804e440 "Save xml representation of pipeline to
FILE and exit", arg_description = 0x804ee25 "FILE"}, {long_name = 0x804ee2a
"no-fault", 
            short_name = 102 'f', flags = 0, arg = G_OPTION_ARG_NONE, arg_data
= 0xbffff1d8, description = 0x804e478 "Do not install a fault handler",
arg_description = 0x0}, {
            long_name = 0x804ee33 "no-sigusr-handler", short_name = 0 '\000',
flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xbffff1d4, 
            description = 0x804e498 "Do not install signal handlers for SIGUSR1
and SIGUSR2", arg_description = 0x0}, {long_name = 0x804ee45 "trace",
short_name = 84 'T', 
            flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xbffff1d0,
description = 0x804e4d0 "Print alloc trace (if enabled at compile time)",
arg_description = 0x0}, {
            long_name = 0x804ee4b "eos-on-shutdown", short_name = 101 'e',
flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xbffff1cc, 
            description = 0x804e500 "Force EOS on sources before shutting the
pipeline down", arg_description = 0x0}, {long_name = 0x804ee5b "index",
short_name = 105 'i', 
            flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xbffff1c8,
description = 0x804e538 "Gather and print index statistics", arg_description =
0x0}, {
            long_name = 0x804ee61 "version", short_name = 0 '\000', flags = 0,
arg = G_OPTION_ARG_NONE, arg_data = 0x8051244, 
            description = 0x804e55c "Print version information and exit",
arg_description = 0x0}, {long_name = 0x0, short_name = 0 '\000', flags = 0, arg
= G_OPTION_ARG_NONE, 
            arg_data = 0x0, description = 0x0, arg_description = 0x0}}
        ctx = <value optimized out>
        err = 0x0
        index = <value optimized out>
        index_stats = 0x0
        error = 0x0
        res = <value optimized out>
}}}

Solution for the moment to convert audio file mkv to audio file avi:
---------------------------------------------------------------------
gst-launch-0.10 filesrc location=test.mkv ! matroskademux name=demux ! queue !
audioconvert ! "audio/x-raw-float, width=(int)64, rate=(int)48000,
channels=(int)2, endianness=(int)1234" ! audioconvert ! queue ! avimux
bigfile=True name=mux ! progressreport update-freq=1 silent=true ! filesink
location=test.avi -v

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