[gstreamer-bugs] [Bug 436756] New: Intermitent, though regular, gstreamer crashes in Pidgin

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon May 7 18:47:04 PDT 2007


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=436756

  GStreamer | don't know | Ver: 0.10.12
           Summary: Intermitent, though regular, gstreamer crashes in Pidgin
           Product: GStreamer
           Version: 0.10.12
          Platform: Other
        OS/Version: All
            Status: UNCONFIRMED
          Severity: critical
          Priority: Normal
         Component: don't know
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: seanegan at pidgin.im
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Steps to reproduce:
I cannot reproduce this crash, but one of the developers on my project has it
happen very regularly. It happens more regularly if built with -lmcheck. I've
scrutinized the code and can find nothing wrong with it. 'slomo' on IRC can't
either, and recommended posting a bug to get more eyes on it.

Few people can reproduce it at all, but This crashes for him on two different
machines, one with x86, one with AMD64. Both run Debian unstable with gst
0.10.12-2.

http://ftp.debian.org/debian/pool/main/g/gstreamer0.10/gstreamer0.10_0.10.12-5.diff.gz
is the Debian-specific patches applied to 0.10.12; nothing looks too suspicious
to me, but I'm not well-versed in gstreamer yet.

Thanks!


Stack trace:
Here are several stacktraces:

Core was generated by `pidgin -d'.
 Program terminated with signal 6, Aborted.
 #0  0xb7403947 in raise () from /lib/tls/libc.so.6
 (gdb) bt full
 #0  0xb7403947 in raise () from /lib/tls/libc.so.6
 No symbol table info available.
 #1  0xb74050c9 in abort () from /lib/tls/libc.so.6
 No symbol table info available.
 #2  0xb762a464 in IA__g_logv (log_domain=<value optimized out>,
    log_level=G_LOG_LEVEL_ERROR, format=0xb76c45a8 "%s()%s`%s'",
    args1=0xb64a9d2c "\213El··bl·ð\223°µh\235J¶Ô,k·x®\023µ0")
    at gmessages.c:497
        depth = <value optimized out>
        domain = (GLogDomain *) 0x810c480
        data = (gpointer) 0x0
        log_func = (GLogFunc) 0x80957c0 <pidgin_glib_log_handler>
        domain_fatal_mask = 5
        test_level = <value optimized out>
        was_recursion = 0
        i = <value optimized out>
 #3  0xb762a499 in IA__g_log (log_domain=0xb76bfffc "GLib-GObject",
    log_level=G_LOG_LEVEL_ERROR, format=0xb76c45a8 "%s()%s`%s'")
    at gmessages.c:517
        args = 0xb64a9d2c "\213El··bl·ð\223°µh\235J¶Ô,k·x®\023µ0"
 #4  0xb76b8839 in IA__g_type_class_ref (type=3037965944) at gtype.c:2389
        _arg = (gpointer) 0x0
        _tname = <value optimized out>
        node = <value optimized out>
        _action = " invalidly modified type "
 #5  0xb76b8687 in IA__g_type_class_ref (type=3048217856) at gtype.c:2387
        _arg = <value optimized out>
        _tname = <value optimized out>
        node = <value optimized out>
        _action = " invalidly modified type "
 #6  0xb769e5a9 in IA__g_object_newv (object_type=3048217856,
 n_parameters=0,
    parameters=0x0) at gobject.c:853
        nqueue = <value optimized out>
        object = <value optimized out>
        class = <value optimized out>
        unref_class = <value optimized out>
        slist = <value optimized out>
        n_total_cparams = <value optimized out>
        n_cparams = <value optimized out>
        n_oparams = <value optimized out>
        n_cvalues = <value optimized out>
        clist = <value optimized out>
        i = <value optimized out>
        __PRETTY_FUNCTION__ = "IA__g_object_newv"
 #7  0xb769e9b7 in IA__g_object_new_valist (object_type=3048217856,
    first_property_name=0x0, var_args=0xb64aa0b8 "è J¶\206ÆP¶\030\225L¶H")
    at gobject.c:981
        _value = <value optimized out>
        _value_type = <value optimized out>
        _vtable = <value optimized out>
        _collect_format = <value optimized out>
        _cvalues = {{v_int = -1219457036, v_long = -1219457036,
    v_int64 = -5399815881422237708, v_double = -4.1762614351208942e-53,
    v_pointer = 0xb7508ff4}, {v_int = 93273, v_long = 93273,
    v_int64 = -5311256441992942503, v_double = -3.6437300149757229e-47,
    v_pointer = 0x16c59}, {v_int = -1220269618, v_long = -1220269618,
    v_int64 = -5399815881423050290, v_double = -4.1762614343673857e-53,
    v_pointer = 0xb74429ce}, {v_int = 88, v_long = 88,
    v_int64 = -5311256304554082216, v_double = -3.6437968340481712e-47,
    v_pointer = 0x58}, {v_int = -1257001448, v_long = -1257001448,
    v_int64 = 400607522565656, v_double = 1.9792641436526258e-309,
    v_pointer = 0xb513ae18}, {v_int = -1256954968, v_long = -1256954968,
    v_int64 = 380995134376, v_double = 1.8823660712785095e-312,
    v_pointer = 0xb51463a8}, {v_int = -1208925312, v_long = -1208925312,
    v_int64 = 605734462205019008, v_double = 3.6345043428772683e-268,
    v_pointer = 0xb7f14380}, {v_int = 141033544, v_long = 141033544,
    v_int64 = -5230394770447663032, v_double = -9.2929463202649725e-42,
    v_pointer = 0x8680048}}
        _n_values = <value optimized out>
        error = <value optimized out>
        pspec = <value optimized out>
        params = <value optimized out>
        name = <value optimized out>
        object = <value optimized out>
        n_params = <value optimized out>
        n_alloced_params = <value optimized out>
        __PRETTY_FUNCTION__ = "IA__g_object_new_valist"
 #8  0xb769eb70 in IA__g_object_new (object_type=3048217856,
    first_property_name=0x0) at gobject.c:795
        var_args = 0xb64aa0b8 "è J¶\206ÆP¶\030\225L¶H"
        __PRETTY_FUNCTION__ = "IA__g_object_new"
 #9  0xb64b8641 in gst_audio_clock_new () from
 /usr/lib/libgstaudio-0.10.so.0
 No symbol table info available.
 #10 0xb64bcf47 in ?? () from /usr/lib/libgstaudio-0.10.so.0
 No symbol table info available.
 #11 0xb64c66a6 in ?? () from /usr/lib/libgstaudio-0.10.so.0
 No symbol table info available.
 #12 0xb64bcf60 in ?? () from /usr/lib/libgstaudio-0.10.so.0
 No symbol table info available.
 #13 0x08680048 in ?? ()
 No symbol table info available.
 #14 0xb76c86f0 in ?? () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #15 0xb76c86f0 in ?? () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #16 0x00000002 in ?? ()
 No symbol table info available.
 #17 0xb64aa188 in ?? ()
 No symbol table info available.
 #18 0xb76b8cac in IA__g_type_create_instance (type=141033544) at
 gtype.c:1561
        pnode = <value optimized out>
        node = (TypeNode *) 0xb5b01d00
        instance = (GTypeInstance *) 0x0
        class = (GTypeClass *) 0xb64aa0b8
        i = 3048217856
        total_size = <value optimized out>
 Backtrace stopped: frame did not save the PC






 Program terminated with signal 6, Aborted.
 #0  0xb7365847 in raise () from /lib/libc.so.6
 (gdb) bt all
 No symbol "all" in current context.
 (gdb) bt full
 #0  0xb7365847 in raise () from /lib/libc.so.6
 No symbol table info available.
 #1  0xb73670b8 in abort () from /lib/libc.so.6
 No symbol table info available.
 #2  0xb759d497 in g_logv () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #3  0xb759d4c9 in g_log () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #4  0xb759d547 in g_assert_warning () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #5  0xb762d4b5 in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #6  0xb762d6c7 in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #7  0xb76137d3 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #8  0xb7613b60 in g_object_new () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #9  0xb639563e in gst_audio_clock_new () from
 /usr/lib/libgstaudio-0.10.so.0
 No symbol table info available.
 #10 0xb6399b07 in ?? () from /usr/lib/libgstaudio-0.10.so.0
 No symbol table info available.
 #11 0xb63a5c44 in ?? () from /usr/lib/libgstaudio-0.10.so.0
 No symbol table info available.
 #12 0xb6399b40 in ?? () from /usr/lib/libgstaudio-0.10.so.0
 No symbol table info available.
 #13 0x08744aa0 in ?? ()
 No symbol table info available.
 #14 0xb763e6e8 in ?? () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #15 0xb763e6e8 in ?? () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #16 0x00000002 in ?? ()
 No symbol table info available.
 #17 0xb4b0f0c8 in ?? ()
 No symbol table info available.
 #18 0xb762dcdc in g_type_create_instance () from
 /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 Backtrace stopped: frame did not save the PC








Program terminated with signal 6, Aborted.
 #0 0xb7365847 in raise () from /lib/libc.so.6 (gdb) bt all No symbol "all"
 in current context. (gdb) bt full #0 0xb7365847 in raise () from
 /lib/libc.so.6 No symbol table info available.
 #1 0xb73670b8 in abort () from /lib/libc.so.6 No symbol table info
 available.
 #2 0xb759d497 in g_logv () from /usr/lib/libglib-2.0.so.0 No symbol table
 info available.
 #3 0xb759d4c9 in g_log () from /usr/lib/libglib-2.0.so.0 No symbol table
 info available.
 #4 0xb759d547 in g_assert_warning () from /usr/lib/libglib-2.0.so.0 No
 symbol table info available.
 #5 0xb762d4b5 in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0 No
 symbol table info available.
 #6 0xb762d6c7 in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0 No
 symbol table info available.
 #7 0xb76137d3 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #8 0xb7613b60 in g_object_new () from /usr/lib/libgobject-2.0.so.0 No
 symbol table info available.
 #9 0xb639563e in gst_audio_clock_new () from
 /usr/lib/libgstaudio-0.10.so.0 No symbol table info available.
 #10 0xb6399b07 in ?? () from /usr/lib/libgstaudio-0.10.so.0 No symbol
 table info available.
 #11 0xb63a5c44 in ?? () from /usr/lib/libgstaudio-0.10.so.0 No symbol
 table info available.
 #12 0xb6399b40 in ?? () from /usr/lib/libgstaudio-0.10.so.0 No symbol
 table info available.
 #13 0x08744aa0 in ?? () No symbol table info available.
 #14 0xb763e6e8 in ?? () from /usr/lib/libgobject-2.0.so.0 No symbol table
 info available.
 #15 0xb763e6e8 in ?? () from /usr/lib/libgobject-2.0.so.0 No symbol table
 info available.
 #16 0x00000002 in ?? () No symbol table info available.
 #17 0xb4b0f0c8 in ?? () No symbol table info available.
 #18 0xb762dcdc in g_type_create_instance () from
 /usr/lib/libgobject-2.0.so.0 No symbol table info available.
 Backtrace stopped: frame did not save the PC
 }}}





 (10:06:48) GLib-GObject: cannot register existing type `GstAudioClock'
 (10:06:48) GLib-GObject: g_type_plugin_*() invalidly modified type
 `GstSystemClock'
 (10:06:48) GLib-GObject: cannot register existing type `GstAudioClock'

 Program received signal SIGABRT, Aborted.
 [Switching to Thread -1255613552 (LWP 3825)]
 0xb72f7847 in raise () from /lib/libc.so.6
 (gdb) bt full
 #0  0xb72f7847 in raise () from /lib/libc.so.6
 No symbol table info available.
 #1  0xb72f90b8 in abort () from /lib/libc.so.6
 No symbol table info available.
 #2  0xb752f497 in g_logv () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #3  0xb752f4c9 in g_log () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #4  0xb75bf879 in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #5  0xb75bf6c7 in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #6  0xb75a57d3 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #7  0xb75a5b60 in g_object_new () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #8  0xb631a63e in gst_audio_clock_new (name=0xb632ac44
 "GstAudioSinkClock",
    func=0xb631eb40 <gst_base_audio_sink_get_time>, user_data=0x8720aa0)
    at gstaudioclock.c:117
 No locals.
 #9  0xb631eb07 in gst_base_audio_sink_init (baseaudiosink=0x8720aa0,
    g_class=0x86f8b40) at gstbaseaudiosink.c:177
 No locals.
 #10 0xb75bfcdc in g_type_create_instance () from
 /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #11 0xb75a6bb2 in ?? () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #12 0x081d7710 in ?? ()
 No symbol table info available.
 #13 0x087096ae in ?? ()
 No symbol table info available.
 #14 0x0540aff4 in ?? ()
 No symbol table info available.
 #15 0xb740aff4 in ?? () from /lib/libc.so.6
 No symbol table info available.
 #16 0x08709698 in ?? ()
 No symbol table info available.
 #17 0x087096a0 in ?? ()
 No symbol table info available.
 #18 0xb528c120 in ?? ()
 No symbol table info available.
 #19 0xb741667e in pthread_mutex_lock () from /lib/libpthread.so.0
 No symbol table info available.
 #20 0xb75a4e28 in g_object_newv () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #21 0xb75a59a7 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #22 0xb75a5b60 in g_object_new () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #23 0xb7e4789c in gst_element_factory_create (factory=0x82431b0,
    name=0x86b1ac0 "sink-actual-sink-alsa") at gstelementfactory.c:381
        element = <value optimized out>
        oclass = <value optimized out>
        __PRETTY_FUNCTION__ = "gst_element_factory_create"
 #24 0xb64cbaba in gst_auto_audio_sink_change_state (element=0x86cd9b0,
    transition=GST_STATE_CHANGE_NULL_TO_READY) at gstautoaudiosink.c:173
        ret = <value optimized out>
        sink = (GstAutoAudioSink *) 0x86cd9b0
 #25 0xb7e42aba in gst_element_change_state (element=0x86cd9b0,
    transition=GST_STATE_CHANGE_NULL_TO_READY) at gstelement.c:2291
        ret = <value optimized out>
        current = <value optimized out>
        next = <value optimized out>
        __PRETTY_FUNCTION__ = "gst_element_change_state"
 #26 0xb7e45a74 in gst_element_set_state_func (element=0x86cd9b0,
    state=GST_STATE_READY) at gstelement.c:2252
        current = GST_STATE_NULL
        next = 10
        old_pending = GST_STATE_VOID_PENDING
        ret = <value optimized out>
        old_ret = <value optimized out>
        __PRETTY_FUNCTION__ = "gst_element_set_state_func"
 #27 0xb7e41c73 in gst_element_set_state (element=0x86cd9b0,
    state=GST_STATE_READY) at gstelement.c:2160
        result = <value optimized out>
        __PRETTY_FUNCTION__ = "gst_element_set_state"
 #28 0xb7e369a2 in gst_bin_change_state_func (element=0x86a9970,
    transition=GST_STATE_CHANGE_NULL_TO_READY) at gstbin.c:1767
        child = (GstElement *) 0x86cd9b0
        bin = <value optimized out>
        ret = <value optimized out>
        current = GST_STATE_NULL
        next = GST_STATE_READY
        have_async = 0
        have_no_preroll = 0
        base_time = 0
        it = (GstIterator *) 0x87161c0
        __PRETTY_FUNCTION__ = "gst_bin_change_state_func"
 #29 0xb7e42aba in gst_element_change_state (element=0x86a9970,
    transition=GST_STATE_CHANGE_NULL_TO_READY) at gstelement.c:2291
        ret = <value optimized out>
        current = <value optimized out>
        next = <value optimized out>
        __PRETTY_FUNCTION__ = "gst_element_change_state"
 #30 0xb7e45a74 in gst_element_set_state_func (element=0x86a9970,
    state=GST_STATE_READY) at gstelement.c:2252
        current = GST_STATE_NULL
        next = 10
        old_pending = GST_STATE_VOID_PENDING
        ret = <value optimized out>
        old_ret = <value optimized out>
        __PRETTY_FUNCTION__ = "gst_element_set_state_func"
 #31 0xb7e41c73 in gst_element_set_state (element=0x86a9970,
    state=GST_STATE_READY) at gstelement.c:2160
        result = <value optimized out>
        __PRETTY_FUNCTION__ = "gst_element_set_state"
 #32 0xb635da9a in gen_audio_element (play_bin=0x8627310) at
 gstplaybin.c:1091
        res = <value optimized out>
        element = (GstElement *) 0x86a9970
        conv = (GstElement *) 0x8704020
        scale = (GstElement *) 0x86e2de8
        sink = (GstElement *) 0x86cd9b0
        volume = (GstElement *) 0x86e4e20
        pad = (GstPad *) 0x86f0918
        __PRETTY_FUNCTION__ = "gen_audio_element"
 #33 0xb635efd4 in setup_sinks (play_base_bin=0x8627310, group=0x86f57b0)
    at gstplaybin.c:1552
        play_bin = (GstPlayBin *) 0x8627310
        streaminfo = (GList *) 0x86edb10
        s = (GList *) 0x0
        need_vis = 0
        need_text = 0
        textsrcpad = <value optimized out>
        pad = <value optimized out>
        sink = <value optimized out>
        res = 1
        __PRETTY_FUNCTION__ = "setup_sinks"
 #34 0xb63650e5 in group_commit (play_base_bin=0x8627310,
    fatal=<value optimized out>, subtitle=<value optimized out>)
    at gstplaybasebin.c:462
        info = (GstStreamInfo *) 0x869a980
        group = (GstPlayBaseGroup *) 0x86f57b0
        had_active_group = 0
        __PRETTY_FUNCTION__ = "group_commit"
 #35 0xb75ace0b in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.
 #36 0xb759f97b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0














 [New Thread -1238832240 (LWP 3008)]
 *** glibc detected *** /usr/local/bin/pidgin: munmap_chunk(): invalid
 pointer: 0xb5900560 ***
 ======= Backtrace: =========
 /lib/libc.so.6(cfree+0x1bc)[0xb734e83c]
 /usr/lib/libglib-2.0.so.0(g_free+0x31)[0xb7548f51]
 /usr/lib/libgobject-2.0.so.0[0xb75e1326]
 /usr/lib/libgobject-2.0.so.0(g_value_unset+0x3c)[0xb75dc71c]
 /usr/lib/libgobject-2.0.so.0[0xb75c1c9c]
 /usr/lib/libgobject-2.0.so.0(g_object_newv+0x2d8)[0xb75bfe28]
 /usr/lib/libgobject-2.0.so.0(g_object_new_valist+0x2bf)[0xb75c0a4f]
 /usr/lib/libgobject-2.0.so.0(g_object_new+0x40)[0xb75c0b60]
 /usr/lib/libgtk-x11-2.0.so.0(gtk_text_tag_new+0x36)[0xb7abe666]
 /usr/lib/libgtk-x11-2.0.so.0(gtk_text_buffer_create_tag+0x4d)[0xb7aa4eed]
 /usr/local/bin/pidgin[0x80a561e]
 /usr/lib/libgobject-2.0.so.0(g_type_create_instance+0x4d6)[0xb75daeb6]
 /usr/lib/libgobject-2.0.so.0[0xb75c1bb2]
 /usr/lib/libgobject-2.0.so.0(g_object_newv+0x2d8)[0xb75bfe28]
 /usr/lib/libgobject-2.0.so.0(g_object_new_valist+0x217)[0xb75c09a7]
 /usr/lib/libgobject-2.0.so.0(g_object_new+0x40)[0xb75c0b60]
 /usr/local/bin/pidgin(gtk_imhtml_new+0x23)[0x80a8b63]
 /usr/local/bin/pidgin(pidgin_create_imhtml+0x125)[0x80da2e5]
 /usr/local/bin/pidgin[0x8090297]
 /usr/local/lib/libpurple.so.0(purple_conversation_new+0x188)[0xb749f628]
 /usr/local/lib/libpurple.so.0(serv_got_im+0x359)[0xb74c2119]
 /usr/local/lib/purple-2/libirc.so[0xb6a5bb81]
 /usr/local/lib/purple-2/libirc.so(irc_parse_msg+0x364)[0xb6a59314]
 /usr/local/lib/purple-2/libirc.so[0xb6a570da]
 /usr/local/bin/pidgin[0x8099313]
 /usr/lib/libglib-2.0.so.0[0xb756b1ef]
 /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x181)[0xb7541b51]
 /usr/lib/libglib-2.0.so.0[0xb7544bc6]
 /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1b7)[0xb7544f87]
 /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xc1)[0xb7a0b881]
 /usr/local/bin/pidgin(main+0x531)[0x80ae851]
 /lib/libc.so.6(__libc_start_main+0xdc)[0xb72f8ebc]
 /usr/local/bin/pidgin[0x80661e1]
 ======= Memory map: ========
 08048000-080eb000 r-xp 00000000 03:03 993466     /usr/local/bin/pidgin
 080eb000-080ee000 rw-p 000a3000 03:03 993466     /usr/local/bin/pidgin
 080ee000-08a2c000 rw-p 080ee000 00:00 0          [heap]
 b5900000-b5921000 rw-p b5900000 00:00 0
 b5921000-b5a00000 ---p b5921000 00:00 0
 b5a8f000-b5a90000 ---p b5a8f000 00:00 0
 b5a90000-b628f000 rw-p b5a90000 00:00 0
 b628f000-b6296000 r-xp 00000000 03:03 980091
 /usr/lib/libgstinterfaces-0.10.so.0.8.0
 b6296000-b6297000 rw-p 00007000 03:03 980091
 /usr/lib/libgstinterfaces-0.10.so.0.8.0
 b6297000-b62ae000 r-xp 00000000 03:03 980064
 /usr/lib/libgstaudio-0.10.so.0.8.0
 b62ae000-b62af000 rw-p 00017000 03:03 980064
 /usr/lib/libgstaudio-0.10.so.0.8.0
 b62af000-b62b8000 r-xp 00000000 03:03 980104
 /usr/lib/libgstriff-0.10.so.0.8.0
 b62b8000-b62b9000 rw-p 00009000 03:03 980104
 /usr/lib/libgstriff-0.10.so.0.8.0
 b62cd000-b62d8000 r-xp 00000000 03:03 1187591
 /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so
 b62d8000-b62da000 rw-p 0000a000 03:03 1187591
 /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so
 b62da000-b62f0000 r-xp 00000000 03:03 1187291
 /usr/lib/gstreamer-0.10/libgstplaybin.so
 b62f0000-b62f1000 rw-p 00015000 03:03 1187291
 /usr/lib/gstreamer-0.10/libgstplaybin.so
 b62f1000-b6314000 r-xp 00000000 03:03 984945
 /usr/lib/libgstbase-0.10.so.0.11.0
 b6314000-b6315000 rw-p 00022000 03:03 984945
 /usr/lib/libgstbase-0.10.so.0.11.0
 b6315000-b633b000 r-xp 00000000 03:03 1187818
 /usr/lib/gstreamer-0.10/libgstcoreelements.so
 b633b000-b633d000 rw-p 00025000 03:03 1187818
 /usr/lib/gstreamer-0.10/libgstcoreelements.so
 b633d000-b6384000 r-xp 00000000 03:03 977891
 /usr/lib/libORBit-2.so.0.1.0
 b6384000-b638d000 rw-p 00047000 03:03 977891
 /usr/lib/libORBit-2.so.0.1.0
 b638d000-b638e000 rw-p b638d000 00:00 0
 b638e000-b63bc000 r-xp 00000000 03:03 980765
 /usr/lib/libgconf-2.so.4.1.2
 b63bc000-b63bf000 rw-p 0002e000 03:03 980765
 /usr/lib/libgconf-2.so.4.1.2
 b63bf000-b63c9000 r-xp 00000000 03:03 1188645
 /usr/lib/gstreamer-0.10/libgstwavparse.so
 b63c9000-b63ca000 rw-p 00009000 03:03 1188645
 /usr/lib/gstreamer-0.10/libgstwavparse.so
 b63ca000-b63d2000 r-xp 00000000 03:03 1187144
 /usr/lib/gstreamer-0.10/libgstdecodebin.so
 b6
 Program received signal SIGABRT, Aborted.
 [Switching to Thread -1223706928 (LWP 2997)]
 0xb730cd86 in raise () from /lib/libc.so.6
 (gdb) bt
 #0  0xb730cd86 in raise () from /lib/libc.so.6
 #1  0xb730e5b1 in abort () from /lib/libc.so.6
 #2  0xb734323b in __libc_message () from /lib/libc.so.6
 #3  0xb734e83c in free () from /lib/libc.so.6
 #4  0xb7548f51 in g_free () from /usr/lib/libglib-2.0.so.0
 #5  0xb75e1326 in ?? () from /usr/lib/libgobject-2.0.so.0
 #6  0xb5900560 in ?? ()
 #7  0xb75eb6e8 in ?? () from /usr/lib/libgobject-2.0.so.0
 #8  0xbf8aed28 in ?? ()
 #9  0xb75dc71c in g_value_unset () from /usr/lib/libgobject-2.0.so.0
 Backtrace stopped: frame did not save the PC
 (gdb)
 }}}










 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread -1238553712 (LWP 5167)]
 0xb73b667e in freehook () from /lib/libc.so.6
 (gdb) bt
 #0  0xb73b667e in freehook () from /lib/libc.so.6
 #1  0xb73b56b5 in free () from /lib/libc.so.6
 #2  0xb737150b in _nl_make_l10nflist () from /lib/libc.so.6
 #3  0xb736f6c6 in _nl_find_domain () from /lib/libc.so.6
 #4  0xb736f0dc in __dcigettext () from /lib/libc.so.6
 #5  0xb736e213 in dcgettext () from /lib/libc.so.6
 #6  0xb73b63e4 in mabort () from /lib/libc.so.6
 #7  0xb73b665c in freehook () from /lib/libc.so.6
 #8  0xb73b56b5 in free () from /lib/libc.so.6
 #9  0xb75aff51 in g_free () from /usr/lib/libglib-2.0.so.0
 #10 0xb7ec1e04 in gst_buffer_finalize (buffer=0x80ef600) at
 gstbuffer.c:190
 #11 0xb7ede435 in gst_mini_object_unref (mini_object=0x8958e90)
    at gstminiobject.c:273
 #12 0xb62fa08d in gst_riff_parse_file_header (element=0x88072a8,
    buf=0x8958e90, doctype=0xd7) at riff-read.c:224
 #13 0xb64055bf in gst_wavparse_parse_file_header (element=0x88072a8,
 buf=0xd7)
    at gstwavparse.c:727
 #14 0xb6409968 in gst_wavparse_loop (pad=0x893bda0) at gstwavparse.c:754
 #15 0xb7efd0b6 in gst_task_func (task=0x8958598, tclass=0x828b660)
    at gsttask.c:192
 #16 0xb75c8277 in ?? () from /usr/lib/libglib-2.0.so.0
 #17 0x08958598 in ?? ()
 #18 0x0828b660 in ?? ()
 ---Type <return> to continue, or q <return> to quit---
 #19 0x00000000 in ?? ()
 (gdb)
 }}}





 #0  0x00002b52dd1d3c45 in raise () from /lib/libc.so.6
 #1  0x00002b52dd1d55c0 in abort () from /lib/libc.so.6
 #2  0x00002b52dd20ba1b in __libc_message () from /lib/libc.so.6
 #3  0x00002b52dd216736 in free () from /lib/libc.so.6
 #4  0x00002b52dc2ba0fe in g_object_newv () from
 /usr/lib/libgobject-2.0.so.0
 #5  0x00002b52dc2babad in g_object_new_valist () from
 /usr/lib/libgobject-2.0.so.0
 #6  0x00002b52dc2bad51 in g_object_new () from
 /usr/lib/libgobject-2.0.so.0
 #7  0x00002aaaabc8da94 in gst_audio_clock_new () from
 /usr/lib/libgstaudio-0.10.so.0
 #8  0x00002aaaabc9179a in ?? () from /usr/lib/libgstaudio-0.10.so.0
 #9  0x00002b52dc2d4774 in g_type_create_instance () from
 /usr/lib/libgobject-2.0.so.0
 #10 0x00002b52dc2bbc8d in ?? () from /usr/lib/libgobject-2.0.so.0
 #11 0x00002b52dc2ba0ef in g_object_newv () from
 /usr/lib/libgobject-2.0.so.0
 #12 0x00002b52dc2bab1c in g_object_new_valist () from
 /usr/lib/libgobject-2.0.so.0
 #13 0x00002b52dc2bad51 in g_object_new () from
 /usr/lib/libgobject-2.0.so.0
 #14 0x00002b52d9bb0887 in gst_element_factory_create () from
 /usr/lib/libgstreamer-0.10.so.0
 #15 0x00002aaaaaff92d9 in ?? () from
 /usr/lib/gstreamer-0.10/libgstautodetect.so
 #16 0x00002b52d9bac1a7 in ?? () from /usr/lib/libgstreamer-0.10.so.0
 #17 0x00002b52d9baeddb in ?? () from /usr/lib/libgstreamer-0.10.so.0
 #18 0x00002b52d9ba104f in ?? () from /usr/lib/libgstreamer-0.10.so.0
 #19 0x00002b52d9bac1a7 in ?? () from /usr/lib/libgstreamer-0.10.so.0
 #20 0x00002b52d9baeddb in ?? () from /usr/lib/libgstreamer-0.10.so.0
 #21 0x00002aaaab61c0c6 in ?? () from
 /usr/lib/gstreamer-0.10/libgstplaybin.so
 #22 0x00002aaaab61d22d in ?? () from
 /usr/lib/gstreamer-0.10/libgstplaybin.so
 #23 0x00002aaaab6224e8 in ?? () from
 /usr/lib/gstreamer-0.10/libgstplaybin.so
 #24 0x00002b52dc2b5468 in g_closure_invoke () from
 /usr/lib/libgobject-2.0.so.0
 #25 0x00002b52dc2c51a1 in ?? () from /usr/lib/libgobject-2.0.so.0
 #26 0x00002b52dc2c6455 in g_signal_emit_valist () from
 /usr/lib/libgobject-2.0.so.0
 #27 0x00002b52dc2c6633 in g_signal_emit () from
 /usr/lib/libgobject-2.0.so.0
 #28 0x00002b52dc2b5468 in g_closure_invoke () from
 /usr/lib/libgobject-2.0.so.0
 #29 0x00002b52dc2c51a1 in ?? () from /usr/lib/libgobject-2.0.so.0
 #30 0x00002b52dc2c6455 in g_signal_emit_valist () from
 /usr/lib/libgobject-2.0.so.0
 #31 0x00002b52dc2c6633 in g_signal_emit () from
 /usr/lib/libgobject-2.0.so.0
 #32 0x00002aaaaba67642 in ?? () from
 /usr/lib/gstreamer-0.10/libgstwavparse.so
 #33 0x00002aaaaba67cb4 in ?? () from
 /usr/lib/gstreamer-0.10/libgstwavparse.so
 #34 0x00002aaaaba68593 in ?? () from
 /usr/lib/gstreamer-0.10/libgstwavparse.so
 #35 0x00002b52d9bd94dd in ?? () from /usr/lib/libgstreamer-0.10.so.0
 #36 0x00002b52dc73e549 in ?? () from /usr/lib/libglib-2.0.so.0
 #37 0x00002b52dc73cc14 in ?? () from /usr/lib/libglib-2.0.so.0
 #38 0x00002b52dcf8d225 in start_thread () from /lib/libpthread.so.0
 #39 0x00002b52dd27309d in clone () from /lib/libc.so.6
 #40 0x0000000000000000 in ?? ()
 (gdb)
 }}}






Other information:
The relevant code follows. For context, see
http://pidgin.im/~seanegan/gtksound.c. This is guaranteed to be called from
only one thread.

static gboolean
bus_call (GstBus     *bus,
          GstMessage *msg,
          gpointer    data)
{
        GstElement *play = data;
        GError *err = NULL;

        switch (GST_MESSAGE_TYPE (msg)) {
        case GST_MESSAGE_EOS:
                gst_element_set_state(play, GST_STATE_NULL);
                gst_object_unref(GST_OBJECT(play));
                break;
        case GST_MESSAGE_ERROR:
                gst_message_parse_error(msg, &err, NULL);
                purple_debug_error("gstreamer", err->message);
                g_error_free(err);
                break;
        case GST_MESSAGE_WARNING:
                gst_message_parse_warning(msg, &err, NULL);
                purple_debug_warning("gstreamer", err->message);
                g_error_free(err);
                break;
        default:
                break;
        }
        return TRUE;
}

.....
if (gst_init_failed)  /* Perhaps do gdk_beep instead? */
                return;
        volume = (float)(CLAMP(purple_prefs_get_int(PIDGIN_PREFS_ROOT
"/sound/volume"),0,100)) / 50;
        if (!strcmp(method, "automatic")) {
                if (purple_running_gnome()) {
                        sink = gst_element_factory_make("gconfaudiosink",
"sink");
                }
                if (!sink)
                        sink = gst_element_factory_make("autoaudiosink",
"sink");
                if (!sink) {
                        purple_debug_error("sound", "Unable to create GStreamer
audiosink.\n");
                        return;
                }
        } else if (!strcmp(method, "esd")) {
                sink = gst_element_factory_make("esdsink", "sink");
                if (!sink) {
                        purple_debug_error("sound", "Unable to create GStreamer
audiosink.\n");
                        return;
                }
        } else {
                purple_debug_error("sound", "Unknown sound method '%s'\n",
method);
                return;
        }

        play = gst_element_factory_make("playbin", "play");

        if (play == NULL) {
                return;
        }

        uri = g_strdup_printf("file://%s", filename);

        g_object_set(G_OBJECT(play), "uri", uri,
                                     "volume", volume,
                                     "audio-sink", sink, NULL);

        bus = gst_pipeline_get_bus(GST_PIPELINE(play));
        gst_bus_add_watch(bus, bus_call, play);

        gst_element_set_state(play, GST_STATE_PLAYING);

        gst_object_unref(bus);
        g_free(uri);


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=436756.




More information about the Gstreamer-bugs mailing list