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

David Reiser dbreiser at earthlink.net
Sat Apr 4 17:34:39 EDT 2009


So even though I have 3 dbd files in the location specified in  
configure with --with-dbi-dbd-dir=, my list is still null because  
gnucash hasn't asked for the registered backends yet? If so, why would  
Sebastian's example show a non-null list with a breakpoint at the same  
location?

Dave
On Apr 4, 2009, at 4:38 PM, Phil Longstaff wrote:

> 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 earthlink.net>
> To: Phil Longstaff <plongstaff at rogers.com>
> Cc: Sebastian Held <sebastian.held at gmx.de>; Gnucash list <gnucash-devel at lists.gnucash.org 
> >
> 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 gmx.de>
>
> To: Phil Longstaff <plongstaff at rogers.com>
>
> Cc: David Reiser <dbreiser at earthlink.net>; Derek Atkins <warlord at MIT.EDU 
> >; Gnucash list <gnucash-devel at lists.gnucash.org>
>
> 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
>
> dialog-file-access.c:234
>
> 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
>
> fileChooserAction = GTK_FILE_CHOOSER_ACTION_SAVE
>
> 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 =
>
> 0x3eaa170,
>
> 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
> fileChooserAction = GTK_FILE_CHOOSER_ACTION_SAVE
> 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.
> Dave
>
> --
> David Reiser
> dbreiser at earthlink.net
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

--
David Reiser
dbreiser at earthlink.net






More information about the gnucash-devel mailing list