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 449836 - crash in Gnumeric Spreadsheet: setting default printer ...
crash in Gnumeric Spreadsheet: setting default printer ...
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: Printing
1.7.x
Other All
: High critical
: ---
Assigned To: Andreas J. Guelzow
Jody Goldberg
: 473728 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-06-21 17:59 UTC by adam-bugbuddy
Modified: 2007-09-05 02:21 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18



Description adam-bugbuddy 2007-06-21 17:59:48 UTC
Version: 1.7.10

What were you doing when the application crashed?
setting default printer settings


Distribution: Fedora Core release 3 (Heidelberg)
Gnome Release: 2.18.2 2007-06-04 (GARNOME)
BugBuddy Version: 2.18.1

System: Linux 2.6.16.20 #2 SMP Mon Jun 5 22:37:40 EDT 2006 x86_64
X Vendor: The X.Org Foundation
X Vendor Release: 60801000
Selinux: No
Accessibility: Disabled
GTK+ Theme: Glider
Icon Theme: gnome

Memory status: size: 302002176 vsize: 302002176 resident: 157646848 share: 16171008 rss: 157646848 rss_rlim: 18446744073709551615
CPU usage: start_time: 1182448740 rtime: 319 utime: 288 stime: 31 cutime:0 cstime: 2 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/ita/gar64/bin/gnumeric'

Using host libthread_db library "/lib64/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 47208356405504 (LWP 31683)]
0x00002aef8cb42f44 in waitpid () from /lib64/tls/libpthread.so.0
  • #0 waitpid
    from /lib64/tls/libpthread.so.0
  • #1 libgnomeui_segv_handle
    at gnome-ui-init.c line 872
  • #2 <signal handler called>
  • #3 IA__g_utf8_validate
    at gutf8.c line 1567
  • #4 gconf_value_list_from_primitive_list
    at gconf-internals.c line 1239
  • #5 gconf_engine_set_list
    at gconf.c line 3479
  • #6 gconf_client_set_list
    at gconf-client.c line 1815
  • #7 go_conf_set_str_list
    at gnumeric-gconf.c line 159
  • #8 gnm_gconf_set_printer_header
    at gnumeric-gconf.c line 1957
  • #9 print_info_save
    at print-info.c line 375
  • #10 cb_do_print_ok
    at dialog-printer-setup.c line 1774
  • #11 IA__g_closure_invoke
    at gclosure.c line 490
  • #12 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #13 IA__g_signal_emit_valist
    at gsignal.c line 2199
  • #14 IA__g_signal_emit
    at gsignal.c line 2243
  • #15 gtk_real_button_released
    at gtkbutton.c line 1484
  • #16 IA__g_closure_invoke
    at gclosure.c line 490
  • #17 signal_emit_unlocked_R
    at gsignal.c line 2370
  • #18 IA__g_signal_emit_valist
    at gsignal.c line 2199
  • #19 IA__g_signal_emit
    at gsignal.c line 2243
  • #20 gtk_button_button_release
    at gtkbutton.c line 1377
  • #21 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #22 IA__g_closure_invoke
    at gclosure.c line 490
  • #23 signal_emit_unlocked_R
    at gsignal.c line 2478
  • #24 IA__g_signal_emit_valist
    at gsignal.c line 2209
  • #25 IA__g_signal_emit
    at gsignal.c line 2243
  • #26 gtk_widget_event_internal
    at gtkwidget.c line 3915
  • #27 IA__gtk_propagate_event
    at gtkmain.c line 2341
  • #28 IA__gtk_main_do_event
    at gtkmain.c line 1575
  • #29 gdk_event_dispatch
    at gdkevents-x11.c line 2318
  • #30 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #31 g_main_context_iterate
    at gmain.c line 2677
  • #32 IA__g_main_loop_run
    at gmain.c line 2881
  • #33 bonobo_main
    at bonobo-main.c line 311
  • #34 main
    at main-application.c line 531

Thread 1 (Thread 47208356405504 (LWP 31683)):
#-1 0x00002aef8cb42f44 in waitpid () from /lib64/tls/libpthread.so.0
No symbol table info available.
Comment 1 Andreas J. Guelzow 2007-06-22 07:19:07 UTC
Hmm, looks like gconf_client_set_list doesn't think that a null pointer is an acceptable string.

I guess in gnm_gconf_set_printer_header we should store empty strings rather than null pointers.

I will fix this as soon as I can get my tree again to compile.
Comment 2 Andreas J. Guelzow 2007-06-22 07:23:57 UTC
Oh yeah, the patch:

Index: gnumeric-gconf.c
===================================================================
--- gnumeric-gconf.c	(revision 15616)
+++ gnumeric-gconf.c	(working copy)
@@ -2034,9 +2034,9 @@
 			      gchar const *right)
 {
 	GSList *list = NULL;
-	list = g_slist_prepend (list, g_strdup (right));
-	list = g_slist_prepend (list, g_strdup (middle));
-	list = g_slist_prepend (list, g_strdup (left));
+	list = g_slist_prepend (list, g_strdup (right ? right : ""));
+	list = g_slist_prepend (list, g_strdup (middle ? middle : ""));
+	list = g_slist_prepend (list, g_strdup (left ? left : ""));
 	go_conf_set_str_list (root, PRINTSETUP_GCONF_DIR "/" PRINTSETUP_GCONF_HE
ADER, list);
 	go_slist_free_custom ((GSList *)prefs.printer_header, g_free);
 	prefs.printer_header = list;
@@ -2047,9 +2047,9 @@
 			      gchar const *right)
 {
 	GSList *list = NULL;
-	list = g_slist_prepend (list, g_strdup (right));
-	list = g_slist_prepend (list, g_strdup (middle));
-	list = g_slist_prepend (list, g_strdup (left));
+	list = g_slist_prepend (list, g_strdup (right ? right : ""));
+	list = g_slist_prepend (list, g_strdup (middle ? middle : ""));
+	list = g_slist_prepend (list, g_strdup (left ? left : ""));
 	go_conf_set_str_list (root, PRINTSETUP_GCONF_DIR "/" PRINTSETUP_GCONF_FO
OTER, list);
 	go_slist_free_custom ((GSList *)prefs.printer_footer, g_free);
 	prefs.printer_footer = list;
Comment 3 Andreas J. Guelzow 2007-06-25 19:07:19 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.
Comment 4 Andreas J. Guelzow 2007-09-05 02:21:33 UTC
*** Bug 473728 has been marked as a duplicate of this bug. ***