GNOME Bugzilla – Bug 645253
aqBanking dialog crash
Last modified: 2018-06-29 22:55:22 UTC
Created attachment 183810 [details] stack trace I can't seem to do anything in the banking editor. I've created a user, but now hitting any of the buttons (get certificate, etc. as well as simply "OK") crashes gnugcash. This is in the 2.4.4 dmg and was the same in the 2.4.3 dmg. See attached stack trace. Any ideas?
What "Banking Editor" is that? In Tools>Setup Online Banking?
Created attachment 183825 [details] Screenshot of crashing dialog
Yes, Tools -> Online Banking Setup -> {Wizard 1: Forward -> Start AqBanking Wizard -> Users (Tab) -> Edit User} I've attached a screenshot of the dialog in question.
Ah, got it. I don't see anything like that because I use OFX rather than HBCI.
Just tried to start from scratch, moving ~/.aqbanking out of the way and got until the attached dialog. Hitting "Next" gives the same crash apparently.
Created attachment 183829 [details] Another dialog action that crashes
Created attachment 183830 [details] stack trace
Martin Preuß, the AQBanking dev, wrote: Hmm, I tested your image on a Mac and indeed it fails when I try hitting a button... This is strange because it works with GnuCash on Linux... Also the location of the crash is quite weird: It seems to crash at GWEN_INHERIT_SETDATA which simply can't fail at that position (and it doesn't on other systems or with other GUI frontends like QT4 and FOX16). So I believe that might be some kind of linking problem :-/ Just to be on the safe side: I recommend using never versions of AqBanking and Gwen (however, this shouldn't have something to do with this problem). How does one enable the AqBanking family logging in GnuCash? With other applications it suffices to set some environment variables (because there AqBanking et al handle the log levels themselves), but I believe one doesn't have this fine control over what is logged in which level when using GnuCash? And where do the log messages go in GnuCash?
This crash looks very much like the one I see just trying to launch the GTK-based wizard in an x11-based mac build. I use environment variables to set the log levels and the messages show up in the terminal window from which gnucash was launched. GWEN_LOGLEVEL=verbous AQBANKING_LOGLEVEL=verbous During gnucash launch I get: 8:2011/03/20 14-47-42:gwen(13150):error.c: 64: Error_ModuleInit 7:2011/03/20 14-47-42:gwen(13150):gwenhywfar.c: 250: Initializing I18N module 6:2011/03/20 14-47-42:gwen(13150):i18n.c: 199: Real locale is [en_US.UTF-8/en_US.UTF-8/en_US/en_US.UTF-8/en_US.UTF-8/en_US.UTF-8] 7:2011/03/20 14-47-42:gwen(13150):gwenhywfar.c: 254: Initializing InetAddr module 7:2011/03/20 14-47-42:gwen(13150):gwenhywfar.c: 258: Initializing Socket module 7:2011/03/20 14-47-42:gwen(13150):gwenhywfar.c: 262: Initializing Libloader module 7:2011/03/20 14-47-42:gwen(13150):gwenhywfar.c: 266: Initializing Crypt3 module 7:2011/03/20 14-47-42:gwen(13150):gwenhywfar.c: 270: Initializing Process module 7:2011/03/20 14-47-42:gwen(13150):gwenhywfar.c: 274: Initializing Plugin module 7:2011/03/20 14-47-42:gwen(13150):gwenhywfar.c: 278: Initializing DataBase IO module 6:2011/03/20 14-47-42:gwen(13150):plugin.c: 544: Plugin type "dbio" registered 6:2011/03/20 14-47-42:gwen(13150):dbio.c: 106: Adding plugin path [/sw/lib/gwenhywfar/plugins/60/dbio] 7:2011/03/20 14-47-42:gwen(13150):gwenhywfar.c: 282: Initializing ConfigMgr module 6:2011/03/20 14-47-42:gwen(13150):plugin.c: 544: Plugin type "configmgr" registered 6:2011/03/20 14-47-42:gwen(13150):configmgr.c: 80: Adding plugin path [/sw/lib/gwenhywfar/plugins/60/configmgr] 7:2011/03/20 14-47-42:gwen(13150):gwenhywfar.c: 286: Initializing CryptToken2 module 6:2011/03/20 14-47-42:gwen(13150):plugin.c: 544: Plugin type "ct" registered 6:2011/03/20 14-47-42:gwen(13150):ctplugin.c: 65: Adding plugin path [/sw/lib/gwenhywfar/plugins/60/ct] 6:2011/03/20 14-47-42:gwen(13150):plugin.c: 574: Plugin type "ct" unregistered 6:2011/03/20 14-47-42:gwen(13150):plugin.c: 574: Plugin type "configmgr" unregistered 6:2011/03/20 14-47-42:gwen(13150):plugin.c: 574: Plugin type "dbio" unregistered 8:2011/03/20 14-47-46:gwen(13150):error.c: 64: Error_ModuleInit 7:2011/03/20 14-47-46:gwen(13150):gwenhywfar.c: 250: Initializing I18N module 6:2011/03/20 14-47-46:gwen(13150):i18n.c: 199: Real locale is [en_US.UTF-8/en_US.UTF-8/en_US/en_US.UTF-8/en_US.UTF-8/en_US.UTF-8] 7:2011/03/20 14-47-46:gwen(13150):gwenhywfar.c: 254: Initializing InetAddr module 7:2011/03/20 14-47-46:gwen(13150):gwenhywfar.c: 258: Initializing Socket module 7:2011/03/20 14-47-46:gwen(13150):gwenhywfar.c: 262: Initializing Libloader module 7:2011/03/20 14-47-46:gwen(13150):gwenhywfar.c: 266: Initializing Crypt3 module 7:2011/03/20 14-47-46:gwen(13150):gwenhywfar.c: 270: Initializing Process module 7:2011/03/20 14-47-46:gwen(13150):gwenhywfar.c: 274: Initializing Plugin module 7:2011/03/20 14-47-46:gwen(13150):gwenhywfar.c: 278: Initializing DataBase IO module 6:2011/03/20 14-47-46:gwen(13150):plugin.c: 544: Plugin type "dbio" registered 6:2011/03/20 14-47-46:gwen(13150):dbio.c: 106: Adding plugin path [/sw/lib/gwenhywfar/plugins/60/dbio] 7:2011/03/20 14-47-46:gwen(13150):gwenhywfar.c: 282: Initializing ConfigMgr module 6:2011/03/20 14-47-46:gwen(13150):plugin.c: 544: Plugin type "configmgr" registered 6:2011/03/20 14-47-46:gwen(13150):configmgr.c: 80: Adding plugin path [/sw/lib/gwenhywfar/plugins/60/configmgr] 7:2011/03/20 14-47-46:gwen(13150):gwenhywfar.c: 286: Initializing CryptToken2 module 6:2011/03/20 14-47-46:gwen(13150):plugin.c: 544: Plugin type "ct" registered 6:2011/03/20 14-47-46:gwen(13150):ctplugin.c: 65: Adding plugin path [/sw/lib/gwenhywfar/plugins/60/ct] 6:2011/03/20 14-47-46:gwen(13150):gui.c: 109: Using own callbacks in gui 0x10595d9f0 If I try to launch the Aqbanking wizard just after launching gnucash, all I get is: Assertion failed: (element), function GWEN_DIALOG__INHERIT_SETDATA, file dialog.c, line 46. Abort trap However, in another case where I had successfully used aqbanking/gwenhywfar to retrieve transactions, I get some extra information after launching the wizard before gnucash crashes: * 14:46:56 WARN <gwenhywfar> dialog.c: 75: Could not read dialog preferences (-67) * 14:46:56 WARN <gwenhywfar> dialog.c: 101: Could not write dialog preferences (-67) Assertion failed: (element), function GWEN_DIALOG__INHERIT_SETDATA, file dialog.c, line 46. Abort trap
(In reply to comment #8) > How does one enable the AqBanking family logging in GnuCash? > With other applications it suffices to set some environment variables Gnucash sets the log levels by some direct C calls in import-export/aqbanking/gnc-ab-utils.c in gnc_GWEN_Init(); if the gnucash preference checkbox "Online Banking -> Verbose log messages" is active, this will be set as GWEN_LOGDOMAIN = INFO, AQBANKING_LOGDOMAIN = DEBUG, whereas if the checkbox is inactive, this is GWEN_LOGDOMAIN = ERROR, AQBANKING_LOGDOMAIN = WARNING. Indeed, as Martin had in mind, the environment variables are overridden by this explicit setting.
Created attachment 183867 [details] Crash Report from command line run I've replicated the crash by plugging in some bogus user data to the HCBI create user wizard while running Gnucash from the app bundle. When I do the same running from the installation directory via the command line instead of from the application bundle, it still crashes, but in a different place (the crash report is attached). Then I built gwen and aqb with debugging enabled and tried again. No crashes, either from a bundle or the command line. Sigh. I'll build and upload a distribution version with the debug versions of the aqbanking libraries so that the users can get back to work while Martin, Christian, and I figure out what is the actual problem.
Well, it's getting more interesting: I rebuilt gwen and aqbanking for debug in the production directory and it still crashes with the assertion in dialog.c.
OK, I've fixed it. A new Intel dmg, 2.4.4.1, is on Sourceforge, and the new PPC one will be up shortly. David, the problem is that Gwenhywfar can't find share/gwenhywfar/dialogs/dlg_progress.dlg; there's a similar set for aqbanking. Since you're crashing immediately, AQBanking probably can't find even the overall one. (There's supposed to be a debug message, but Gnucash was set up to override the _LOGLEVEL environment variables. I just checked in a change that pays attention to them (r20447), and Martin has changed Gwen to make it an error instead of a debug message, so it should be more clear in the future.)
John- Thanks a million for the rapid fix! Verified using the new dmg and it works. -Tobias
Reassign version to 2.4.x so that individual 2.4 versions can be retired.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=645253. Please update any external references or bookmarks.