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

Sebastian Held sebastian.held at gmx.de
Sun Apr 5 04:46:33 EDT 2009


Finally I got my suse box to compile trunk, and voila:
trunk (rev18013) crashes even on linux,  but not the first time you open save 
as...
Here is how to reproduce the crash:
- trigger save as
- press cancel
- trigger save as again -> crashes

I'm currently recompiling trunk with debuging symbols enabled to get a 
meaningful backtrace.

Sebastian

Am Sonntag, 5. April 2009 00:40:56 schrieb Phil Longstaff:
> 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
>
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel




More information about the gnucash-devel mailing list