GNOME Bugzilla – Bug 344546
Finance-Quote crashes with a system error
Last modified: 2018-06-29 21:07:53 UTC
Please describe the problem: I have version 1.10 of the perl module Finance-Quote installed, but retrieving quotes does not work. The console output is gnucash: [M] "Found Finance::Quote version "1.1 Which leads me to think that perhaps the version is not correctly parsed and the last 0 is dropped, leading gnucash to think that it is version 1.1. This seems to happen at the end of price-quotes.scm, but my lisp voodoo is not good enough to try a specific fix for that. Steps to reproduce: 1. Go to the Price Editor and click on Get Quotes 2. Get error dialog: "There was a system error while retrieving the price quotes." 3. Actual results: Expected results: I would expect to get updated price quotes, OR a more clear message about what is wrong. A "system error" could be anything but this message leaves me with no clue as to what is wrong. Does this happen every time? Yes. Other information: I've compiled and installed GnuCash on Gentoo using hte ebuild available in http://bugs.gentoo.org/show_bug.cgi?id=122337 The output from gnc-fq-check is: (1.10 "tsp" "vwd" "financecanada" "yahoo_nz" "australia" "usa" "troweprice" "amfiindia" "nasdaq" "bmonesbittburns" "yahoo_asia" "troweprice_direct" "tiaacref" "canada" "yahoo" "seb_funds" "yahoo_brasil" "greece" "fidelity" "dwsfunds" "yahoo_australia" "unionfunds" "asia" "indiamutual" "brasil" "asegr" "nyse" "canadamutual" "fidelity_direct" "asx" "fool" "tdwaterhouse" "trustnet" "ftportfolios_direct" "dutch" "uk_unit_trusts" "ftportfolios" "nzx" "tdefunds" "fundlibrary" "aex" "yahoo_europe" "nz" "vanguard" "europe" "platinum" "maninv")
Version 1.1 vs 1.10 sounds like a parsing error. I suspect the value is being parsed as a number instead of as a string. This message is purely informational and the F::Q version number isn't used anywhere in gnucash. The "system error" message means that F::Q crashed when gnucash ran it. There's no other information available for gnucash to report. You should be able to track down the problem with the gnc-fq-dump command. Try dumping one stock from each quote source and see which one fails.
I've fixed the parsing error of the version number in r14353. The 1.9.8 release will correctly report your F::Q version as 1.10.
Thanks for fixing the parsing bug. I've digged a bit deeper now, and found out that problems lies in retrieving the currencies. I'm retrieving currency rates for JPY, CHF, and USD, all against EUR which is my base currency. If I turn off automatic retrieval on two of these I get a nice message indicating that there was a problem with the currency: "Unable to retrieve quotes for these items: CURRENCY:USD. Continue using only the good quotes?" As soon as there is more than one currency I'm back to the system error mentioned earlier in this report. Looking at gnc-fq-dump the problem is located there: graaff:~$ gnc-fq-dump currency JPY EUR 1 JPY = <unknown> EUR I now see that there is a new version of Finance::Quote out which fixes problems with getting currencies, so I'll file a bug with my distribution. Perhaps GnuCash should check on Finance::Quote 1.11 or better?
I can now confirm that upgrading to Finance::Quote 1.11 fixes the problem for me.
It sounds like the remaining problem is a bug in F::Q < 1.11. So, close as NOTGNOME? David?
It seems to me that it is also a bug that I get a nice and helpful error message if only one currency fails, but a generic system error if two currencies fail. Perhaps a separate bug should be opened for that, though.
Fixed in r14359. This will also be in 1.9.8.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=344546. Please update any external references or bookmarks.