crash in 2.3.2 Save As

Phil Longstaff plongstaff at rogers.com
Thu Jul 9 18:47:05 EDT 2009


On July 9, 2009 05:20:29 pm Graham Menhennitt wrote:
> Graham Menhennitt wrote:
> > Derek Atkins wrote:
> >> Graham Menhennitt <graham at menhennitt.com.au> writes:
> >>>> It doesn't crash for me. Please post your complete gnucash.trace file.
> >>>>
> >>>>
> >>>> Phil
> >>>
> >>> A (bzipped, redacted) trace file can be downloaded from
> >>> http://menhennitt.com.au/gnucash.trace_232_redacted.bz2. I rebuilt
> >>> 2.3.1 and it doesn't crash, so it's definitely something different
> >>> between 2.3.1 and 2.3.2.
> >>
> >> Another thing to do would be to get a Stack Trace (see
> >> http://wiki.gnucash.org/wiki/Stack_Trace for how)
> >
> > I don't think it's very useful, but the stack backtrace is below. I'm
> > attempting to debug now. It looks like the provider list is returned
> > correctly from qof_backend_get_registered_access_method_list(); but
> > something goes wrong after that. Hopefully, I'll get back with some more
> > soon.
>
> Ok, the problem is that you need to have either "file" or "sqlite3"
> providers available. Otherwise the variable active_access_method_index
> doesn't get set. I'm not sure what the intention was here: do you really
> need one of those two providers, or was it intended that the "mysql",
> "postgres", and "xml" cases in the if's have "active_access_method_index
> =" in them the same as the other two? I suspect the latter.
>
> Hang on...
>
> Yeah, I just added "active_access_method_index =" in 3 places and it
> seems to work. I'll add this to BugZilla.... done #588198.
>
> Graham

The xml provider is the old 2.2 backend, and should always be present, and 
should be registered as both "xml" and "file".  At startup time, the dbi 
backend looks to see what drivers are available, and registers 
"sqlite3"/"file", "mysql" and "pgsql".  The sqlite3 backend is registered as 
both "sqlite3" and "file", and if "file" is used (or is omitted), the sqlite3 
backend checks out the file, and if it fails, the xml backend tries.  Default 
for loading is "file", and for saving is "sqlite3".  If "sqlite3" is not 
available (hmmm - I may not handle that case), "xml" should be the default for 
saving.

I tested without the mysql and pgsql drivers.  I didn't test without the 
sqlite3 driver.  I'll do that.

Phil


More information about the gnucash-devel mailing list