aqbanking5 and ofxdc can crash gnucash trunk

Christian Stimming stimming at tuhh.de
Fri Aug 27 03:03:41 EDT 2010


Zitat von David Reiser <dbreiser at earthlink.net>:
> * 12:15:31  WARN <gwenhywfar> inherit.c:  180: Type "5f47140b" not  
> derived from this base type
> Assertion failed: (xgui), function AB_Gui_ReadDialogPrefs, file  
> abgui.c, line 246.
> ...
>
> Martin thinks that it's related to gnucash still using multiple  
> GWEN_GUI objects:
> "Only one of those objects is derived from AB_GUI, and for reasons  
> unknown to me at some times a false GUI object is chosen by Gnucash  
> ...   I recommended multiple times to really, really create the GUI  
> object and init AqBanking once only (!), preferably upon plugin init."

I completely agree with Martin. However, someone on the gnucash side  
needs to sit down and actually do this, i.e. modifying the full  
import-export/aqbanking module to remove the second GWEN_GUI object  
*and* making sure everything continues to work as before. So far  
nobody has done this work, so we need to get along with what's  
currently in there.

(Oh, and FTR I do not agree with the proposal to do this at plugin  
init, because the gnucash start-up time is already way too long and I  
don't want to add any workload at the start-up time. So the aqbanking  
init should be done at the first usage of the gncmod-aqbanking module,  
just as it is done right now, but this is only a minor issue and not  
really a technical problem.)

In the meantime, I proposed for aqbanking to handle the case with the  
wrong GWEN_GUI object more gracefully, i.e. instead of an assert() on  
the correct derived type, there could also be an error message and  
simply returning from that function. That concerns all assert(xgui)  
statements in abgui.c, and this would be in line with some other  
argument checking in those functions - if some of the arguments are  
NULL, the functions simply do nothing. Even though we still need to  
change the implementation on the gnucash side, with that change on the  
aqbanking side we would at least avoid a crash with the current state  
of the code.

Best Regards,

Christian




More information about the gnucash-devel mailing list