Package: cccd Version: 0.3beta4-6.1 Severity: grave Program received signal SIGSEGV, Segmentation fault. 0x00000000004034c7 in update_status_string () at cccd.c:940 940 sprintf(disp.status_string, "%s", "Error"); (gdb) bt #0 0x00000000004034c7 in update_status_string () at cccd.c:940 #1 0x000000000040448f in play_callback (widget=0x6ac190, data=<value optimized out>) at cccd.c:455 #2 0x00007ffff5bad47e in IA__g_closure_invoke (closure=0x6ad3d0, return_value=0x0, n_param_values=1, param_values=0x6b42c0, invocation_hint=0x7fffffffd540) at /tmp/buildd/glib2.0-2.24.1/gobject/gclosure.c:767 #3 0x00007ffff5bc33f7 in signal_emit_unlocked_R (node=0x67a0a0, detail=<value optimized out>, instance=<value optimized out>, emission_return=<value optimized out>, instance_and_params=<value optimized out>) at /tmp/buildd/glib2.0-2.24.1/gobject/gsignal.c:3248 ....
(gdb) p disp $1 = {progress_bar = 0x6ac610, drawing_area = 0x6745f0, pixmap = 0x0, gc = 0x0, title_font = 0x0, status_font = 0x0, time_font = 0x0, cd_title = 0x0, track_title = 0x0, status_string = 0x0, time_string = 0x0, mode_string = 0x0, timeout = 0, timemode = ABS_DONE} So it is trying to write to a NULL pointer.... Looking more deeply into this I noticed that the init_display() was not being called. It turns out that GDK_STRUCTURE_MASK needs to be set *explicitly* because it is off by default. The documentation says regarding map-event and configure-event, "To receive this signal, the GdkWindow associated to the widget needs to enable the GDK_STRUCTURE_MASK mask. GDK will enable this mask automatically for all new windows." - http://library.gnome.org/devel/gtk/unstable/GtkWidget.html So basically the patch is, diff cccd-0.3beta4/cccd.c cccd-0.3beta4-new//cccd.c 275,277c275,276 < gtk_widget_set_events(disp.drawing_area, < gtk_widget_get_events(disp.drawing_area) | < GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK); --- > gtk_widget_add_events(disp.drawing_area, > GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | > GDK_STRUCTURE_MASK); I've attached a unified patch. If you don't have time to upload this, let me know and I'll NMU this small patch. - Adam -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (50, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.34-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages cccd depends on: ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit ii libc6 2.11.1-3 Embedded GNU C Library: Shared lib ii libcairo2 1.8.10-4 The Cairo 2D vector graphics libra ii libglib2.0-0 2.24.1-1 The GLib library of C routines ii libgtk2.0-0 2.20.1-1 The GTK+ graphical user interface ii libpango1.0-0 1.28.0-1 Layout and rendering of internatio cccd recommends no packages. cccd suggests no packages. -- no debconf information
Only in cccd-0.3beta4-new: cccd diff -u cccd-0.3beta4/cccd.c cccd-0.3beta4-new/cccd.c --- cccd-0.3beta4/cccd.c 2010-07-17 15:01:38.000000000 -0500 +++ cccd-0.3beta4-new/cccd.c 2010-07-17 15:14:40.020019400 -0500 @@ -272,9 +272,8 @@ /* area where all text appears */ disp.drawing_area = gtk_drawing_area_new(); gtk_drawing_area_size(GTK_DRAWING_AREA(disp.drawing_area), 120, 60); - gtk_widget_set_events(disp.drawing_area, - gtk_widget_get_events(disp.drawing_area) | - GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK); + gtk_widget_add_events(disp.drawing_area, + GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_STRUCTURE_MASK); gtk_signal_connect(GTK_OBJECT(disp.drawing_area), "expose_event", (GtkSignalFunc) expose_event, NULL); gtk_signal_connect(GTK_OBJECT(disp.drawing_area), "configure_event", Only in cccd-0.3beta4-new: cccd.o Only in cccd-0.3beta4-new: cddb.o Only in cccd-0.3beta4-new: cddbp.o Only in cccd-0.3beta4-new: cd.o Only in cccd-0.3beta4-new: core Common subdirectories: cccd-0.3beta4/debian and cccd-0.3beta4-new/debian Only in cccd-0.3beta4-new: info.o Only in cccd-0.3beta4-new: misc.o Only in cccd-0.3beta4-new: options.o