After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 580579 - crash in Volume Control: aucunes idées désolé.
crash in Volume Control: aucunes idées désolé.
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.x
Other All
: High critical
: 0.10.24
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 580580 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-04-28 10:54 UTC by boris.castagna
Modified: 2009-05-22 20:17 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description boris.castagna 2009-04-28 10:54:01 UTC
What were you doing when the application crashed?
aucunes idées désolé.


Distribution: Debian 5.0
Gnome Release: 2.22.3 2008-09-18 (Debian)
BugBuddy Version: 2.22.0

System: Linux 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 i686
X Vendor: The X.Org Foundation
X Vendor Release: 10402000
Selinux: No
Accessibility: Disabled
GTK+ Theme: SphereCrystal
Icon Theme: Amaranth

Memory status: size: 29548544 vsize: 29548544 resident: 6983680 share: 3166208 rss: 6983680 rss_rlim: 4294967295
CPU usage: start_time: 1240915975 rtime: 0 utime: 0 stime: 0 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/lib/bug-buddy/mixer_applet2'

[Thread debugging using libthread_db enabled]
[New Thread 0xb6c89700 (LWP 4305)]
0xb7f50424 in __kernel_vsyscall ()

Thread 1 (Thread 0xb6c89700 (LWP 4305))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/i686/cmov/libpthread.so.0
  • #2 IA__g_spawn_sync
    at /build/buildd-glib2.0_2.16.6-1+lenny1-i386-HI4TzI/glib2.0-2.16.6/glib/gspawn.c line 374
  • #3 IA__g_spawn_command_line_sync
    at /build/buildd-glib2.0_2.16.6-1+lenny1-i386-HI4TzI/glib2.0-2.16.6/glib/gspawn.c line 682
  • #4 ??
    from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
  • #5 ??
    from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
  • #6 <signal handler called>
  • #7 gst_registry_binary_write_cache
    at gstregistrybinary.c line 706
  • #8 scan_and_update_registry
    at gst.c line 744
  • #9 ensure_current_registry
    at gst.c line 819
  • #10 init_post
    at gst.c line 1012
  • #11 IA__g_option_context_parse
    at /build/buildd-glib2.0_2.16.6-1+lenny1-i386-HI4TzI/glib2.0-2.16.6/glib/goption.c line 1796
  • #12 gst_init_check
    at gst.c line 423
  • #13 gst_init
    at gst.c line 470
  • #14 gnome_volume_applet_toplevel_configure_handler
    at load.c line 308
  • #15 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.12.11/gtk/gtkmarshalers.c line 84
  • #16 IA__g_closure_invoke
    at /build/buildd-glib2.0_2.16.6-1+lenny1-i386-HI4TzI/glib2.0-2.16.6/gobject/gclosure.c line 490
  • #17 signal_emit_unlocked_R
    at /build/buildd-glib2.0_2.16.6-1+lenny1-i386-HI4TzI/glib2.0-2.16.6/gobject/gsignal.c line 2440
  • #18 IA__g_signal_emit_valist
    at /build/buildd-glib2.0_2.16.6-1+lenny1-i386-HI4TzI/glib2.0-2.16.6/gobject/gsignal.c line 2209
  • #19 IA__g_signal_emit
    at /build/buildd-glib2.0_2.16.6-1+lenny1-i386-HI4TzI/glib2.0-2.16.6/gobject/gsignal.c line 2243
  • #20 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.12.11/gtk/gtkwidget.c line 4678
  • #21 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.12.11/gtk/gtkmain.c line 1534
  • #22 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.12.11/gdk/x11/gdkevents-x11.c line 2351
  • #23 IA__g_main_context_dispatch
    at /build/buildd-glib2.0_2.16.6-1+lenny1-i386-HI4TzI/glib2.0-2.16.6/glib/gmain.c line 2012
  • #24 g_main_context_iterate
    at /build/buildd-glib2.0_2.16.6-1+lenny1-i386-HI4TzI/glib2.0-2.16.6/glib/gmain.c line 2645
  • #25 IA__g_main_loop_run
    at /build/buildd-glib2.0_2.16.6-1+lenny1-i386-HI4TzI/glib2.0-2.16.6/glib/gmain.c line 2853
  • #26 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #27 bonobo_generic_factory_main_timeout
    from /usr/lib/libbonobo-2.so.0
  • #28 bonobo_generic_factory_main
    from /usr/lib/libbonobo-2.so.0
  • #29 panel_applet_factory_main_closure
    at panel-applet.c line 1754
  • #30 panel_applet_factory_main
    at panel-applet.c line 1778
  • #31 main
    at load.c line 340
  • #0 __kernel_vsyscall

Comment 1 Gianluca Borello 2009-04-28 13:17:05 UTC
*** Bug 580580 has been marked as a duplicate of this bug. ***
Comment 2 Callum McKenzie 2009-05-22 09:27:24 UTC
The crash occurs in the gstreamer library. I'm fairly confident that there is nothing that the applet code is doing that could cause the failure (we call it with gst_init (NULL, NULL);), therefore I'm punting the bug over to the gstreamer folks.

The crash appears to be in the post-error cleanup code of gst_registry_binary_write_cache which hints that there might be something wrong with your gstreamer cache or the writability of the disk its on (the file name starts with /net, is it on a network drive of some description?). I admit I'm guessing though, I'm not that familiar with the gstreamer code.
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2009-05-22 12:43:39 UTC
Can we get a stack trace of a recent gstreamer? git head has a comment at that line:

 gst_registry_binary_write_cache (registry=0x91a22f0, 
    location=0x91b53d0 "/net/etd1/bocastag/.gstreamer-0.10/registry.i486.bin")
    at gstregistrybinary.c:706

Ideally also add a log for
GST_DEBUG="*REGISTRY*:5" gst-inspect

Comment 4 Callum McKenzie 2009-05-22 19:40:23 UTC
For gstreamers of about the time of the GNOME release used (e.g. 0.10.20) line 706 is:

      GstBinaryChunk *cur = walk->data;

near the start of the fail_free_list error handling goto in gst_registry_binary_write_cache (). walk is set on the following line to to_write, which in turn is set by gst_registry_binary_save_plugin (). That is about the place where my understanding of the code stopped so I didn't investigate further.
Comment 5 Stefan Sauer (gstreamer, gtkdoc dev) 2009-05-22 20:17:07 UTC
commit 158895f56b200db93cc46bc56793de09ec1b1cb0
Author: Stefan Kost <ensonic@users.sf.net>
Date:   Fri May 22 23:14:41 2009 +0300

    registry: don't free node-date and deref again. Fixes #580579
    
    When writing a cache chunk fails, we were freeing the node and jump to a final
    cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup
    code in fail_free_list.