MD 2019 : stack overflow on infinite recurrent currency rates loop

Charles's Avatar

Charles

08 Feb, 2019 03:21 PM

Hi,

when I start MD2019.1 (latest preview build) on my MD 2017.10 file it just stops doing anything after a few seconds (not window opens, no application menu appears).

In the log attached, nothing happens anymore (CPU 0%) after "Sweet! We've gotten a signed description of the update info
Version info retrieved; we are up to date!"

Issue is identical when using MD2019 on a completely new install of Windows, importing account backup

After quitting MD 2019.1 (no Force Quit needed), I can still launch MD 2017.10 fine

Charles

  1. 1 Posted by derekkent23 on 08 Feb, 2019 03:46 PM

    derekkent23's Avatar

    I am not support staff, just a user.

    Make sure you have a 2017 backup.

    The main problem shown up by the 2019 errlog.txt is

    Exception in thread "main" java.lafng.StackOverflowError

    I am not sure the following will help but it appears you have a number of out of date extensions that need removing. As you can’t get the extension – extension manager this would have to be done manually. Delete the folder “fmodules” and restart Moneydance.

    If you still get Exception in thread "main" java.lafng.StackOverflowError then I will post a link to this thread on Sean’s slack site, the software developer.

    Post a new errlog.txt file.

    Hope this helps

  2. 2 Posted by Charles on 09 Feb, 2019 03:34 AM

    Charles's Avatar

    Thanks, since I can access MD 2017, I will remove all extensions first (already removed Rhumba as it had a clear error in the first log)

  3. 3 Posted by derekkent23 on 09 Feb, 2019 07:54 AM

    derekkent23's Avatar

    I am not support staff, just a user.

    2017 uses Java 1.8.0_162 whereas 2019 uses Java 11.0.1
    Things change.
    Thus, not all extensions will work on both 2017 and 2019.
    Quote Loader, including rhumba, is one of these, there are two versions, one for 2017 and 2019.
    I would not recommend having 2017 and 2019 installed in the same account at the same time, this could create problems, different accounts yes. If you are using the same account uninstall one before installing the other.

    Hope this helps.

  4. 4 Posted by Charles on 10 Feb, 2019 11:31 AM

    Charles's Avatar

    Hi,

     even with all extensions removed it fails. with the attached log.
     

    Suggestions to solve the problem are welcome.

     I am wondering whether it is because of my long list of currencies, including one "obsolete" one (French Franc) that I cannot delete for it is "Used" (I have no more account in French Franc, nor do I see any category in FF...)

  5. 5 Posted by derekkent23 on 10 Feb, 2019 12:00 PM

    derekkent23's Avatar

    I am not support staff, just a user.

    Your errlog.txt still has a

    Exception in thread "main" java.lang.StackOverflowError

    I think Sean the Moneydance software developer believed he had fix this one. Apparently not.
    I will post a link to this thread on his slack site and hopefully next week he will have time to take look.

  6. 6 Posted by Charles on 10 Feb, 2019 02:24 PM

    Charles's Avatar

    Thanks!
    Ping me if there is anything I can test

  7. 7 Posted by Charles on 11 Feb, 2019 03:05 PM

    Charles's Avatar

    Further info

    I tried to re-recreate the file under MD 2019.1 from another account using DropBox Sync.

    The error log is slightly different (attached) at the [long] end the Sync process closes, and MD 2019 goes bac to the Start Screen to choose file creation method (New, Import, ...)

  8. 8 Posted by derekkent23 on 11 Feb, 2019 04:43 PM

    derekkent23's Avatar

    I am not support staff, just a user.

    Hi not really show what you are trying to do.

    The errlog.txt shows you are running 2017.10(1706)
    You have a number of out of date/no longer supported extensions installed.
    Quote Loader is running with old builds. Note Quote Loader user totals different build between 2017 and 2019. If you try to run Quote Loader with the wrong set of build installed it could create problem.
    Its good practice to update extensions to the latest builds or if they are no longer supported remove them.
    You are switching back and forward between 2017 and 2019. I hope if they are under the same account you are uninstalling one before installing the other. I would also be concerned about how backward compatible data sets are. 2019 handles non-base currencies in a totally different way for example. Take care.

    Unfortunately, no response from Sean or Support yet.

  9. 9 Posted by Charles on 13 Feb, 2019 05:01 AM

    Charles's Avatar

    Hi Derek,

    Oops I uploaded the wrong file..

  10. 10 Posted by Charles on 13 Feb, 2019 01:15 PM

    Charles's Avatar

    This is the correct file when starting from Dropbox sync from another user

    There are a *lot* or errors in that, including this:

    Rate/price consistency error: Too many indirections (5) in relative currencies for French Franc, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for Lyxor S&P 500 EUR Daily Hedged, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for IMAE.AS (EUR) (EU-LCB), possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for VSS (USD) [I-SCB], possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for MOS, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for AAPL, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for BSV (USD) [US-STBOND], possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for VPL (USD) (PAC-LCB), possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for IEAG.L (EUR) [EU-5Y-Bond], possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for JKD (USD) [US-LCB], possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for VBR (USD) [US-SCV], possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for BDX, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for Vanguard S&P 500 UCITS ETF, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for STM, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for GILD, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for IEMA.L/SEMA.L (USD) [EM-LCB], possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for IBCD, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for MSE, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for SP5H, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for TSYE.PA, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for IBCX, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for IEGA, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for VUSA.AS, possibly a loop.
    Rate/price consistency error: Too many indirections (5) in relative currencies for STM.EU, possibly a loop.

    which seems to be on currencies/stocks I dot not own any quantity of anymore

    Also : why these outdated extensions? I hare removed all extensions

    Is in sandbox: true; restricted file access: false
      outdated extension: invextension
      outdated extension: mdcsvimporter
      outdated extension: myposition
      outdated extension: priceui
      outdated extension: ratios
      outdated extension: txtimport
      outdated extension: yahooqt

    ....

  11. 11 Posted by derekkent23 on 13 Feb, 2019 03:08 PM

    derekkent23's Avatar

    I am not support staff, just a user.

    With Moneydance shut down renaming the config.dict file to say config.dict_old will probable solve the extension message issue. Moneydance will reset all preferences to default, which means if you have set any preferences they will to be set again. You will also need to re-enter your key. This can sometimes fix other issue. Worth a try. You can always reinstate your original config.dict.

    However, I still think Sean or Support need to take a look.

  12. 12 Posted by Charles on 14 Feb, 2019 02:40 PM

    Charles's Avatar

    Hi derekkent23,

    conflict.dict should not have an influence: this was from a new account, creating from dropbox sync service.

    (and confirmed, of course)

  13. 13 Posted by derekkent23 on 14 Feb, 2019 04:25 PM

    derekkent23's Avatar

    I am not support staff, just a user.

    config.dict is common to all data sets, no matter how created..
    When you upgraded from 2017 or earlier versions to 2019 the old config.dict would simply be used by 2019. The only way to get Moneydance to recreated it is to as I say rename it. You could delete it, but renaming allows you to reinstate it if you want. .

    Hope this helps

  14. 14 Posted by Charles on 14 Feb, 2019 11:19 PM

    Charles's Avatar

    Intereseting, thanks.
    I deleted it locally in the 2019 account, I then tried to recreate the 2019 my account from dropbox and it still failed.
    Should I delete config.dict in the account that still works with 2017 instead?

    In any case, it makes no difference.
    Is it the heap size too small issue?

    Starting Moneydance 2019.1 (1855) at Fri Feb 15 07:40:57 SGT 2019
    Settings Folder: /Users/charles/Library/Containers/com.infinitekind.MoneydanceOSX/Data/Library/Application Support/Moneydance
    OS: Mac OS X 10.14.2 x86_64
    Java: 11.0.1 (Oracle Corporation)
    Is in sandbox: true; restricted file access: false
    opening last file: null
    Opening account book: MyAccount
    loading dataset: /Users/charles/Library/Containers/com.infinitekind.MoneydanceOSX/Data/Documents/MyAccount.moneydance
    loading with 128 bit encryption key
    reading trunk data tiksync/trunk
    trunk data loaded (1.078 seconds), checking for incremental updates
    loading un-synced txn files...
    loading synced txn files...
    Exception in thread "Thread-0" java.lang.StackOverflowError

    ...

    [endless loops of]
    at com.infinitekind.moneydance.model.CurrencyType.getRelativeRate(CurrencyType.java:450)
    at com.infinitekind.moneydance.model.CurrencySnapshot.resetRelativeRateFromBaseRate(CurrencySnapshot.java:84)
    at com.infinitekind.moneydance.model.CurrencySnapshot.performPostLoadVerification(CurrencySnapshot.java:90)
    at com.infinitekind.moneydance.model.CurrencySnapshot.getRate(CurrencySnapshot.java:196)

  15. 15 Posted by dwg on 15 Feb, 2019 12:41 AM

    dwg's Avatar

    I'm a fellow user.

    I do not believe your error relates to heap size, the error for that normally has quite a different footprint, the error that relates to heap size is usually:

    java.lang.OutOfMemoryError: Java heap space

  16. 16 Posted by Charles on 17 Feb, 2019 03:20 AM

    Charles's Avatar

    Thanks dwg, I so so wish it were a heap issue :)

  17. 17 Posted by dwg on 17 Feb, 2019 03:59 AM

    dwg's Avatar

    I suspect the problem might be due to some of the compression and other activities MD 2019 is doing at start up to reduce the data set size.

    I've not seen this suggested any where so would not be surprised if it does absolutely nothing but you could try setting the following option in Moneydance.voptions file

       -Xss 2048m

    this is supposed to increase the stack size, it is not something I would necessarily leave set for any length of time but it may help on that initial change from MD2017 to MD2019 who knows,

  18. 18 Posted by Charles on 19 Feb, 2019 12:30 PM

    Charles's Avatar

    Hi dwg,

    I would not mind to try but this file does not exist (on my mac)

  19. 19 Posted by hleofxquotes on 21 Feb, 2019 08:14 PM

    hleofxquotes's Avatar

    That stacktrace looks like a nasty infinite loop so I think increasing the stack will just prolonging the processing a little bit longer but you will likely see the same error.

    On the Mac, the argument list to the JVM is embedded in the Info.plist (You can see it as

    • Quit out of Moneydance if it is running.
    • Find your copy of Moneydance (usually) under Applications
    • Pop up menu "Show Package Contents"
    • Go to "Contents" directory
    • Look for file 'Info.plist".
    • Open it.
    • Look for string "JVMOptions" (toward the end)

    In theory, you can append another argument string to that array
    but likely will cause problem starting because that will cause the app's signature to be invalid.

  20. 20 Posted by hleofxquotes on 21 Feb, 2019 08:17 PM

    hleofxquotes's Avatar

    Rate/price consistency error: Too many indirections (5) in relative currencies for STM.EU, possibly a loop.

    Seems to be a good set of clues.

    which seems to be on currencies/stocks I dot not own any quantity of anymore

    If those can be deleted, you can try that and see if that will help.

    Please work on copy of file so you can revert.

  21. 21 Posted by Charles on 25 Feb, 2019 12:23 AM

    Charles's Avatar

    Hi,

    MD tells me "Cannot delete currency that is in use" (of course)
    and I cannot realistically unwind all these transactions (8 years of history of securities transactions in various currencies).

    (and indeed I couldn't start MoneyDance with the Stack increased).

    I guess I now have to wait for Sean to contact me and ask for an anonymized backup file...

  22. 22 Posted by Charles on 26 Feb, 2019 01:36 PM

    Charles's Avatar

    Issue is same on Windows (yeah, Java works...)

  23. 23 Posted by Charles on 25 Mar, 2019 12:01 AM

    Charles's Avatar

    No update?

  24. Support Staff 24 Posted by Sean Reilly on 27 Mar, 2019 03:57 PM

    Sean Reilly's Avatar

    Hi Charles,
    Sorry for the lack of input on this. Would it be possible to do a screen sharing session or (even better) get a copy of one of your backup files? If the latter, here is a dropbox file sharing request: https://www.dropbox.com/request/MWl0JDdufTqlKiJUQtqz

    I thought that more recent previews had fixed any possibility of this stack overflow error, but a data file that shows the problem would let me get to the bottom of it ASAP. There isn't any way to fully anonymise a data file, but I promise to fully destroy all traces of the file on my end either when you request it or when the problem is resolved, whichever comes first.

    Thanks,
    Sean

    --Sean Reilly Developer, The Infinite Kind
    https://infinitekind.com

  25. 25 Posted by Charles on 28 Mar, 2019 12:03 AM

    Charles's Avatar

    Hi Sean,

    I have just uploaded a anonymized-ish file to your dropbox

    shasum -a 256 MyAccount-20190328-0756.moneydancearchive
    c6fd162f02dd7feb430961825d530a0274fb223e60ec4a50905bb30502c263a7 MyAccount-20190328-0756.moneydancearchive

    Thank you for your attention, I have removed all extensions until this is resolved, and it is a bit hard without my usual workflow.

    Charles

  26. Support Staff 26 Posted by Sean Reilly on 28 Mar, 2019 04:36 PM

    Sean Reilly's Avatar

    Hi Charles,
    Thanks so much for sending the sample data file. I've found the problem and fixed it for the next preview build (1862) which I hope to make available later tonight or tomorrow.

    There is a manual workaround if you like, which is to remove the relative currency cycle which currently exists between EUR and USD. I'd recommend editing one or the other of those currencies and changing their relative currency to something other than each other. To make sure to avoid currency cycles you can set one or both of their relative currencies to the base currency. If not, then the relative currency for currency X just has to be something which won't refer back to currency X, even indirectly. You should be able to do that in MD2017 and then open the file in the current 2019, or you could wait for the preview build to be available.

    Thanks!
    Sean

    --Sean Reilly Developer, The Infinite Kind
    https://infinitekind.com

  27. 27 Posted by Charles on 30 Mar, 2019 03:06 AM

    Charles's Avatar

    Thank you so much Sean!

    In the "Tools > Currency". for bot Euro and USD I chose to display the history vs SGD instead.
    Then I exported a new back up file, which restored in a blank new MD Account

    and it worked !

    Now going to setup MD 2019 properly will all the extensions I require

    Charles

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Already uploaded files

  • errlog.txt 102 KB

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac