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

Phil Longstaff plongstaff at rogers.com
Sat Apr 4 18:40:56 EDT 2009


Because it's a variable on the stack so its value is undefined before it is 
set.

Phil

On April 4, 2009 05:34:39 pm David Reiser wrote:
> 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