GNOME Bugzilla – Bug 582048
gnucash 2.2.9 crashes when transfering money online in Germany
Last modified: 2018-06-29 22:21:25 UTC
Steps to reproduce: 1. try to make a money transfer. Crashes always. See Newsgroups: gmane.comp.gnome.apps.gnucash.german. Date: 2009-03-17 20:05:31 GMT 2. 3. Stack trace: According to Christoph Brinkmann: /var/log/messages: [ 855.383960] gnucash-bin[6415]: segfault at 00000000 eip 00000000 esp bfccc0cc error 4 Other information: Reports from Christoph Brinkmann et alt. 17.3.2009 to 4.5.2009 Linux from Scratch, Kernel 2.6.27.4 gwenhywfar-3.8.0 aqbanking-3.99.11rc5
Thanks for taking the time to report this bug. Without a stack trace from the crash it's very hard to determine what caused it. Can you get us a stack trace? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Created attachment 134473 [details] complete results of calling gnucash --logto /tmp/gnucash.trace
The result from "gnucash --logto /tmp/gnucash.trace" is as follows: * 10:12:37 WARN <aqhbci> jobmultitransfer.c: 315: No local name, filling in * 10:12:37 CRIT <> jobmultitransfer.c: 488: Setting groupID to 43 * 10:12:37 CRIT <> jobmultitransfer.c: 668: Prepare function called * 10:12:37 WARN <aqhbci> msgengine.c: 388: SystemId requested (deprecated) The last lines from the text in the calling window are: quote ------------------------------- 7:2009/05/12 10-12-37:gwen(2604):iorequest.c: 309: Request 0x88e3248 finished ( disconnect, 0/0, result=0) 7:2009/05/12 10-12-37:gwen(2604):libloader.c: 86: Loading library "/usr/lib/aq banking/plugins/28/bankinfo/de" 7:2009/05/12 10-12-37:gwen(2604):libloader.c: 86: Loading library "/usr/lib/aq banking/plugins/28/bankinfo/de.so" 7:2009/05/12 10-12-37:gwen(2604):directory_all.c: 300: Trying "/usr/share/ktobl zcheck/bankdata.txt" 7:2009/05/12 10-12-37:gwen(2604):directory_all.c: 307: File "ktoblzcheck/bankda ta.txt" found in folder "/usr/share" 7:2009/05/12 10-12-38:gwen(2604):iorequest.c: 81: Request 0x88cd570 created (r ead, 1024) 7:2009/05/12 10-12-38:gwen(2604):iorequest.c: 309: Request 0x88cd570 finished ( read, 1024/1024, result=0) 7:2009/05/12 10-12-38:gwen(2604):iorequest.c: 81: Request 0x88cd570 created (d isconnect, 0) 7:2009/05/12 10-12-38:gwen(2604):iorequest.c: 309: Request 0x88cd570 finished ( disconnect, 0/0, result=0) Segmentation fault bash-3.2$ ------------------------------- unquote I included the complete text as attachment. The result of "gnucash --debug --logto /tmp/gnucash.trace" was more then 315000 lines long, I am afraid you did not want to see it. However, tell me if I can contribute more making special tests for you. Thank you very much Edgar
The log might be useful eventually, but for the moment we need a stack trace. Please see http://live.gnome.org/GettingTraces/Details#learn-about-stacktraces for details about what is and isn't a stack trace, and http://live.gnome.org/GettingTraces/Details#gdb-not-yet-running for details on how to get the stack trace.
Find attached "gnucash_trace" obtained running gdb
Created attachment 134559 [details] stack trace with help of gdb
(Copying part of the gdb trace here for ease of searching later on)
+ Trace 215404
Judging from the trace, it looks like the problem either lies in libgwenhywfar (http://gwenhywfar.sourceforge.net/) or the AqBanking module (http://www2.aquamaniac.de/sites/aqbanking/index.php), which are being used by a plugin of GnuCash, and neither of which are part of the Gnome project's bug tracking. http://www2.aquamaniac.de/sites/download/packages.php indicates that there are later versions of the libraries available, which may help you. Alternately, the aqbanking-devel forum might also help (http://sourceforge.net/mailarchive/forum.php?forum_name=aqbanking-devel)
Thank you Tom for all the help. Unfortunatly, the bug is still alive after compiling GnuCash 2.2.9 with the latest versions of gwenhywfar ( Version 3.8.1 from 9.5.2009 ) and aqbanking ( Version 3.99.13rc7 ) GnuCash 2.2.9 does not work at the moment. I am going to forward this problem to the aqbanking people and see what happens.. Edgar
Hi Tom, I forwarded the problem to the developers of aqbanking, as I promised. They came back with two arguments: the first one, aqbanking ( and gwenhywfar ) is working smotly with three other applications, including online transfers and loads. This does not support the assumption, the problem must be on the aqbanking side. The second one should perhaps be followed: Could it be, that the GUI callbacks were not setted or that they are pointing to NIL ? quote ----------------------- [...] > #1 0xb5d03a77 in GWEN_Gui_GetPassword (flags=0, > token=0x8c3ea00 "PIN_67050505_12345678", title=0xb5b24452 "Enter PIN", > text=0xbf96bbac "Please enter the PIN for \nuser 12345678 at Sparkasse > Rhein Neckar Nord\n<html>Please enter the PIN for user <i>12345678</i> at > <i>Sparkasse Rhein Neckar Nord</i>.<br></html>", buffer=0xbf96bf2d "", > minLen=4, maxLen=64, > guiid=0) at gui.c:430 [...] ----------------------- unquote Anyway, I would like to ask you, not to close this issue with status "resolved". Evidently, the problem persists, and both sides claim that the other side should fix it. By the way, GnuCash ( I consider it a very good financial program ) depends in a significant way on aqbanking and gwenhywfar. I think, a close relationship between the two developer teams before a new major version of one of the two systems is released could help to avoid bugs like the one we are now trying to fix. Do you agree ? Again, thank you very much. Edgar
(In reply to comment #10) > aqbanking side. The second one should perhaps be followed: Could it be, that > the GUI callbacks were not setted or that they are pointing to NIL ? The problem is actually that GWEN_Gui_GetPassword assumes that if GWEN_Gui_SetGetPasswordFn hasn't been called to set getPasswordFn, then it assumes that GWEN_Gui_SetInputBoxFn has been called to set inputBoxFn, which isn't true in this case. I've just forwarded a patch to fix this to the aqbanking-devel mailing list, but probably either GWEN_Gui_SetGetPasswordFn or GWEN_Gui_SetInputBoxFn needs to get called earlier on to make this properly usable. > Anyway, I would like to ask you, not to close this issue with status > "resolved". Evidently, the problem persists, and both sides claim that the > other side should fix it. Now reopened. > By the way, GnuCash ( I consider it a very good financial program ) depends in > a significant way on aqbanking and gwenhywfar. I think, a close relationship > between the two developer teams before a new major version of one of the two > systems is released could help to avoid bugs like the one we are now trying to > fix. Do you agree ? I'd agree, but I'm not actually part of the GnuCash team, who may actually already have some relationship with aqbanking/gwenhywfar! I'm part of the BugSquad, and was just trying to triage this bug to figure out what the actual problem was, rather than leaving it to rot as unfortunately happens given the large number of bugs in Bugzilla. OTOH, we might be a bit closer to an actual fix here, and I do try and patch some stuff that I come across.
Hi Tom, thanks for your comment Nr. 11. I forwarded your diagnosis to Martin Preuss from aqbanking/gwenhywfar. He says ( I hope to translate acceptable ) " of course, all callbacks have to be set, as each one of them may be needed. They exists for this purpose " I hope, the issue is more or less clear. My 3 cents question: are you going to deliver a patch for gnucash, or should aqbanking deliver one ( or a new version ) for gwenhywfar/aqbanking, or should the gnucash people deliver a patched version ? I would very much appreciate a patch or a patched version I could test, rather then to wait for an oficial upgrade. What is the followup ? Who is supposed to improve the calls GWEN_Gui_SetGetPasswordFn or GWEN_Gui_SetInputBoxFn ? Again, thank you very much for your help up to now. Have a nice week ! Edgar
Created attachment 134832 [details] [review] Patch for gwenhyfar to use checked input box I've just attached the patch I sent to the aqbanking-devel list earlier (which bounced, due to my not being subscribed). This is for libgwenhyfar, and makes it use an error-checked version of the inputbox function. This *might* stop the crash, but if it does it'll most likely cause other functions to complain. As Martin Preuss said, the callbacks need to be set, and this patch merely causes a function to return a "callback hasn't been set" value, rather than crashing, but that might not be vastly useful still, as no callback means nothing actually gets done... The problem is that I don't know what failed to set them, and that'll probably require one of the actual GnuCash developers to have a better look at things. I'm going to re-send the patch to them at some point, but if the callbacks get properly set, then it won't really matter whether this patch gets applied or not.
Hi Tom, > if the callbacks get properly set, then it won't really matter whether this > patch gets applied or not. Who should set the callbacks properly ? If, as I understand it, this is a question of the calling program (GnuCash), then the developers of GnuCash should fix their program as soon as possible. It makes not sense to send a patch to the developers of gwenhywfar, as they may argue "do your task properly and fix gnucash, our system works correctly" On the other hand, if it is a gwenhywfar or aqbanking problem, I could ask Martin Preuss to help us fixing it. But for sure, we first need to get the one who should do the job. If gnucash is the one, could you inform the gnucash development team ? I do not know much of them. I am informing Martin Preuss. I hope, we will get the cow out of the ice Edgar
Set component to AqBanking
Comment on attachment 134832 [details] [review] Patch for gwenhyfar to use checked input box I'll apply it when I get the chance.
Comment on attachment 134832 [details] [review] Patch for gwenhyfar to use checked input box Hmmm I need to read the file this applies to before I comment.
Comment on attachment 134832 [details] [review] Patch for gwenhyfar to use checked input box A comparable patch has been committed to gwenhywfar as r1558, which will be included in the next gwenhywfar release (probably 3.9.1). However, as comment#13 correctly said, even if this hopefully fixes the crash, it will give complaints about other issues. However, the callback in question is indeed set in gnucash (see src/import-export/aqbanking/gnc-gwen-gui.c line 320)
(In reply to comment #18) > (From update of attachment 134832 [details] [review] [edit]) > A comparable patch has been committed to gwenhywfar as r1558, which will be > included in the next gwenhywfar release (probably 3.9.1). > > However, as comment#13 correctly said, even if this hopefully fixes the crash, > it will give complaints about other issues. However, the callback in question > is indeed set in gnucash (see src/import-export/aqbanking/gnc-gwen-gui.c line > 320) > Hallo Christian, as fas as I got it, the patch aims to intercept the crash, asking for an error condition and landing the program soft. However, that does not solve the problem. The user needs a connection to the bank and not a message telling him that the connection failed. I thing the callbacks (not only one, according to Martin Preuss ) needs to be set, as you say, in gnucash. Good luck and many thanks. Edgar
Created attachment 137440 [details] [review] Get a new "gui"... With this patch Gnucash gets a new "gui" before executing AB_Banking_ExecuteJobs(). So the callbacks are set again and can be used for a password entry. With that I was able to transfer a single transaction. I did not test it in other cases.
Committed as r18167 - thanks a lot! I hope this fixes the problem. Can anyone confirm?
I already added a comment yesterday, that seems gone with the wind ! So, again here: I can confirm, that the patch submitted by Patrick Beckmann works ! I could make transactions to my bank without problems. So thank you very much, Patrick, Christian and all the GnuCash manteiners for this work. By the way, I patched version 2.3.1 and not 2.2.9. Edgar
*** Bug 583320 has been marked as a duplicate of this bug. ***
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=582048. Please update any external references or bookmarks.