Crash in dialog_file_access.c (was Re: Trouble compiling)

Phil Longstaff plongstaff at
Sat Apr 4 16:38:15 EDT 2009

List being null isn't the problem.

"list" isn't used until after that point in the code (it asks qof for the list of registered backends and doesn't add combobox entries for "sqlite3", "mysql" or "pgsql" if there isn't a registered backend, and the libdbi backend doesn't register a backend if the dbd file isn't present).

From: David Reiser <dbreiser at>
To: Phil Longstaff <plongstaff at>
Cc: Sebastian Held <sebastian.held at>; Gnucash list <gnucash-devel at>
Sent: Saturday, April 4, 2009 4:18:49 PM
Subject: Re: Crash in dialog_file_access.c (was Re: Trouble compiling)


From: Sebastian Held <sebastian.held at>

To: Phil Longstaff <plongstaff at>

Cc: David Reiser <dbreiser at>; Derek Atkins <warlord at MIT.EDU>; Gnucash list <gnucash-devel at>

Sent: Thursday, April 2, 2009 3:19:10 PM

Subject: Re: Trouble compiling

Same (rev18012) here on windows:

63A4A37E  libgobject-2.0-0.dll:63A4A37E  g_object_connect

64F0BAE3  libgncmod-gnome-utils.dll:64F0BAE3  gnc_ui_file_access 


64F0BC72  libgncmod-gnome-utils.dll:64F0BC72 

gnc_ui_file_access_for_save_as  dialog-file-access.c:275

6E36706F  libgnc-gnome-0.dll:6E36706F 

gnc_main_window_cmd_file_save_as  gnc-plugin-basic-commands.c:393

(gdb) break dialog-file-access.c:234


(gdb) list 234

234             g_object_connect( G_OBJECT(faw->cb_uri_type),

"signal::changed", cb_uri_type_changed_cb, NULL );

(gdb) info local

faw = (FileAccessWindow *) 0x1e3a6c0

xml = (GladeXML *) 0x16aae00

box = (GtkWidget *) 0x65c41273

ds_node = (GList *) 0x1296850

op = (GtkButton *) 0x3eb4f60

align = (GtkWidget *) 0x3eafd68

fileChooser = (GtkFileChooserWidget *) 0x3ec4360


list = (GList *) 0x1d5c7a0

node = (GList *) 0x22f318

uri_type_container = (GtkWidget *) 0x3e9f918

__PRETTY_FUNCTION__ = "gnc_ui_file_access"

(gdb) p *faw

$2 = {type = 1, dialog = 0x3ec7008, frame_file = 0x3eafd00, 

 frame_database = 0x3eafb60, fileChooser = 0x3ec4360, 

 cb_uri_type = 0x3ed7010, tf_host = 0x3eaa0c0, tf_database =


 tf_username = 0x3eaa220, tf_password = 0x3eaa2d0}

(gdb) p cb_uri_type_changed_cb

$3 = {void (GtkComboBox *)} 0x64f0b688 <cb_uri_type_changed_cb>

From gdb in my crash, I get:

Breakpoint 1, gnc_ui_file_access (type=1) at dialog-file-access.c:234
234g_object_connect( G_OBJECT(faw->cb_uri_type), "signal::changed", cb_uri_type_changed_cb, NULL );
(gdb) info local
faw = (FileAccessWindow *) 0x5077650
xml = (GladeXML *) 0x59d2c48
box = (GtkWidget *) 0x1b1f7d0
ds_node = (GList *) 0x1897e68
op = (GtkButton *) 0x5c09078
align = (GtkWidget *) 0x5c0a958
fileChooser = (GtkFileChooserWidget *) 0x29b4110
list = (GList *) 0x0
node = (GList *) 0xbfffd800
uri_type_container = (GtkWidget *) 0x5c060d8
__PRETTY_FUNCTION__ = "gnc_ui_file_access"

list is NULL, so that's probably the cause of my crash. Any suggestions on changes I can try to work on the lack of "list"? 

I have all three libdbi drivers installed, and configure reports that gnucash is configured for the dbi backend.

David Reiser
dbreiser at

More information about the gnucash-devel mailing list