Problem with Moneydance locking up and freezing
Today Moneydance started locking up and freezing while downloading transactions. It's completely unresponsive, so I have to kill it from the shell. I have a thread dump taken from jstack shows there is a deadlock. Here's the info:
Platform: Linux liszt 2.6.31-ARCH #1 SMP PREEMPT Tue Nov 10 19:01:40 CET 2009 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ AuthenticAMD GNU/Linux
Java Version: java version "1.6.0_17" Java(TM)
SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)
Moneydance Version: Moneydance 2010 (723)
Thread dump taken with jstack:
2010-01-05 22:42:21
Full thread dump Java HotSpot(TM) 64-Bit Server VM (14.3-b01 mixed
mode):
"Attach Listener" daemon prio=10 tid=0x0000000040639000
nid=0x7972 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"DestroyJavaVM" prio=10 tid=0x0000000040477800 nid=0x7937
waiting on condition [0x0000000000000000] java.lang.Thread.State:
RUNNABLE
"TimerQueue" daemon prio=10 tid=0x0000000040830800 nid=0x7948 in
Object.wait() [0x00007f568ece0000] java.lang.Thread.State: WAITING
(on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00007f569b9d0500> (a javax.swing.TimerQueue)
at javax.swing.TimerQueue.run(TimerQueue.java:232)
- locked <0x00007f569b9d0500> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Thread.java:619)
"AWT-EventQueue-0" prio=10 tid=0x00007f56902ba000 nid=0x7947
waiting for monitor entry [0x00007f568f11f000]
java.lang.Thread.State: BLOCKED (on object monitor)
at com.moneydance.apps.md.model.Account.setPreference(Account.java:942)
- waiting to lock <0x00007f569bfea3c0> (a com.moneydance.apps.md.model.BankAccount)
at com.moneydance.apps.md.model.Account.setPreference(Account.java:925)
at com.moneydance.apps.md.model.Account.checkBalanceListeners(Account.java:1558)
at com.moneydance.apps.md.model.Account.checkBalanceListeners(Account.java:1567)
at com.moneydance.apps.md.model.RootAccount.refreshAccountBalances(RootAccount.java:410)
- locked <0x00007f569bff2f80> (a java.lang.Object)
at com.moneydance.apps.md.model.RootAccount.setRecalcBalances(RootAccount.java:375)
at com.moneydance.apps.md.view.gui.OnlineTxnMerger.mergeTransactionsIntoRegister(OnlineTxnMerger.java:85)
at com.moneydance.apps.md.view.gui.OnlineManager$2.run(OnlineManager.java:676)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
"AWT-Shutdown" prio=10 tid=0x00007f56902b7800 nid=0x7946 in
Object.wait() [0x00007f568f220000] java.lang.Thread.State: WAITING
(on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00007f569b97f740> (a java.lang.Object)
at java.lang.Object.wait(Object.java:485)
at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
- locked <0x00007f569b97f740> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:619)
"Thread-2" prio=10 tid=0x00007f5690221000 nid=0x7945 waiting for
monitor entry [0x00007f568f321000] java.lang.Thread.State: BLOCKED
(on object monitor)
at com.moneydance.apps.md.model.RootAccount.refreshAccountBalances(RootAccount.java:407)
- waiting to lock <0x00007f569bff2f80> (a java.lang.Object)
at com.moneydance.apps.md.model.RootAccount.accountModified(RootAccount.java:346)
at com.moneydance.apps.md.model.Account.notifyAccountModified(Account.java:1488)
at com.moneydance.apps.md.model.Account.setParameter(Account.java:964)
- locked <0x00007f569bfea3c0> (a com.moneydance.apps.md.model.BankAccount)
at com.moneydance.apps.md.model.Account.setParameter(Account.java:919)
- locked <0x00007f569bfea3c0> (a com.moneydance.apps.md.model.BankAccount)
at com.moneydance.apps.md.model.Account.setParameter(Account.java:909)
at com.moneydance.apps.md.model.Account.setOnlineLedgerBalance(Account.java:389)
at com.moneydance.apps.md.view.gui.MDAccountProxy.setOnlineLedgerBalance(MDAccountProxy.java:83)
at com.moneydance.apps.md.controller.olb.ofx.OFXConnection.processStatementResponse(OFXConnection.java:1315)
at com.moneydance.apps.md.controller.olb.ofx.OFXConnection.access$2400(OFXConnection.java:20)
at com.moneydance.apps.md.controller.olb.ofx.OFXConnection$BankRSHandler.handleResponseTag(OFXConnection.java:3167)
at com.moneydance.apps.md.controller.olb.ofx.OFXConnection.processDownloadedOFX(OFXConnection.java:1040)
at com.moneydance.apps.md.controller.olb.ofx.OFXConnection.getTransactions(OFXConnection.java:1000)
at com.moneydance.apps.md.view.gui.OnlineManager.downloadAllTxns(OnlineManager.java:580)
at com.moneydance.apps.md.view.gui.MoneydanceGUI.doNetSync(MoneydanceGUI.java:2179)
at com.moneydance.apps.md.controller.uri.Dispatcher$UIDispatcher.run(Dispatcher.java:135)
at com.moneydance.apps.md.controller.uri.Dispatcher$UIDispatcher.invoke(Dispatcher.java:84)
at com.moneydance.apps.md.controller.uri.Dispatcher.invoke(Dispatcher.java:58)
at com.moneydance.apps.md.controller.Main.showURL(Main.java:1021)
at com.moneydance.apps.md.controller.BackgroundOpsThread$DownloadAllTask.run(BackgroundOpsThread.java:183)
at com.moneydance.apps.md.controller.BackgroundOpsThread.run(BackgroundOpsThread.java:125)
"AWT-XAWT" daemon prio=10 tid=0x00007f5690215000 nid=0x7943
runnable [0x00007f568f742000] java.lang.Thread.State:
RUNNABLE
at sun.awt.X11.XToolkit.waitForEvents(Native Method)
at sun.awt.X11.XToolkit.run(XToolkit.java:548)
at sun.awt.X11.XToolkit.run(XToolkit.java:523)
at java.lang.Thread.run(Thread.java:619)
"Java2D Disposer" daemon prio=10 tid=0x00007f56901b2800
nid=0x7942 in Object.wait() [0x00007f568fe5a000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00007f569b98dc80> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00007f569b98dc80> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at sun.java2d.Disposer.run(Disposer.java:125)
at java.lang.Thread.run(Thread.java:619)
"Low Memory Detector" daemon prio=10 tid=0x00007f5690002000
nid=0x7940 runnable [0x0000000000000000] java.lang.Thread.State:
RUNNABLE
"CompilerThread1" daemon prio=10 tid=0x00000000404ff000
nid=0x793f waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x00000000404fd000
nid=0x793e waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x00000000404fb000
nid=0x793d runnable [0x0000000000000000] java.lang.Thread.State:
RUNNABLE
"Finalizer" daemon prio=10 tid=0x00000000404d8000 nid=0x793c in
Object.wait() [0x00007f5695b86000] java.lang.Thread.State: WAITING
(on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00007f569b8d1f30> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00007f569b8d1f30> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x00000000404d6000
nid=0x793b in Object.wait() [0x00007f5695c87000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00007f569b8d1f68> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x00007f569b8d1f68> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x00000000404cf000 nid=0x793a runnable
"GC task thread#0 (ParallelGC)" prio=10 tid=0x0000000040481800 nid=0x7938 runnable
"GC task thread#1 (ParallelGC)" prio=10 tid=0x0000000040483800 nid=0x7939 runnable
"VM Periodic Task Thread" prio=10 tid=0x00007f5690005000 nid=0x7941 waiting on condition
JNI global references: 1554
Found one Java-level deadlock:
============================= "AWT-EventQueue-0":
waiting to lock monitor 0x0000000040597f88 (object
0x00007f569bfea3c0, a com.moneydance.apps.md.model.BankAccount),
which is held by "Thread-2" "Thread-2": waiting to lock monitor
0x0000000040597118 (object 0x00007f569bff2f80, a java.lang.Object),
which is held by "AWT-EventQueue-0"
Java stack information for the threads listed above:
"AWT-EventQueue-0":
at com.moneydance.apps.md.model.Account.setPreference(Account.java:942)
- waiting to lock <0x00007f569bfea3c0> (a com.moneydance.apps.md.model.BankAccount)
at com.moneydance.apps.md.model.Account.setPreference(Account.java:925)
at com.moneydance.apps.md.model.Account.checkBalanceListeners(Account.java:1558)
at com.moneydance.apps.md.model.Account.checkBalanceListeners(Account.java:1567)
at com.moneydance.apps.md.model.RootAccount.refreshAccountBalances(RootAccount.java:410)
- locked <0x00007f569bff2f80> (a java.lang.Object)
at com.moneydance.apps.md.model.RootAccount.setRecalcBalances(RootAccount.java:375)
at com.moneydance.apps.md.view.gui.OnlineTxnMerger.mergeTransactionsIntoRegister(OnlineTxnMerger.java:85)
at com.moneydance.apps.md.view.gui.OnlineManager$2.run(OnlineManager.java:676)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
"Thread-2":
at com.moneydance.apps.md.model.RootAccount.refreshAccountBalances(RootAccount.java:407)
- waiting to lock <0x00007f569bff2f80> (a java.lang.Object)
at com.moneydance.apps.md.model.RootAccount.accountModified(RootAccount.java:346)
at com.moneydance.apps.md.model.Account.notifyAccountModified(Account.java:1488)
at com.moneydance.apps.md.model.Account.setParameter(Account.java:964)
- locked <0x00007f569bfea3c0> (a com.moneydance.apps.md.model.BankAccount)
at com.moneydance.apps.md.model.Account.setParameter(Account.java:919)
- locked <0x00007f569bfea3c0> (a com.moneydance.apps.md.model.BankAccount)
at com.moneydance.apps.md.model.Account.setParameter(Account.java:909)
at com.moneydance.apps.md.model.Account.setOnlineLedgerBalance(Account.java:389)
at com.moneydance.apps.md.view.gui.MDAccountProxy.setOnlineLedgerBalance(MDAccountProxy.java:83)
at com.moneydance.apps.md.controller.olb.ofx.OFXConnection.processStatementResponse(OFXConnection.java:1315)
at com.moneydance.apps.md.controller.olb.ofx.OFXConnection.access$2400(OFXConnection.java:20)
at com.moneydance.apps.md.controller.olb.ofx.OFXConnection$BankRSHandler.handleResponseTag(OFXConnection.java:3167)
at com.moneydance.apps.md.controller.olb.ofx.OFXConnection.processDownloadedOFX(OFXConnection.java:1040)
at com.moneydance.apps.md.controller.olb.ofx.OFXConnection.getTransactions(OFXConnection.java:1000)
at com.moneydance.apps.md.view.gui.OnlineManager.downloadAllTxns(OnlineManager.java:580)
at com.moneydance.apps.md.view.gui.MoneydanceGUI.doNetSync(MoneydanceGUI.java:2179)
at com.moneydance.apps.md.controller.uri.Dispatcher$UIDispatcher.run(Dispatcher.java:135)
at com.moneydance.apps.md.controller.uri.Dispatcher$UIDispatcher.invoke(Dispatcher.java:84)
at com.moneydance.apps.md.controller.uri.Dispatcher.invoke(Dispatcher.java:58)
at com.moneydance.apps.md.controller.Main.showURL(Main.java:1021)
at com.moneydance.apps.md.controller.BackgroundOpsThread$DownloadAllTask.run(BackgroundOpsThread.java:183)
at com.moneydance.apps.md.controller.BackgroundOpsThread.run(BackgroundOpsThread.java:125)
Found 1 deadlock.
Thanks!
Darin
Comments are currently closed for this discussion. You can start a new one.
Support Staff 2 Posted by Jessica Little on 07 Jan, 2010 06:43 PM
Hi Darin,
Is this a repeatable crash, or has it just happened once? Also, we've released an update to Moneydance 2010. If you upgrade to the latest version (available on our website), do you still have this problem?
Jessica Little
Moneydance Support
3 Posted by darin on 09 Jan, 2010 06:50 PM
On they day I reported this, it happened consistently. I even tried it from 2 different computers and had the same results. However, since then, it seems to be fine. I have upgraded to the latest version of Moneydance and have used it for the past several days with no issues. When I made my original post, it would lockup during the online bank sync. Perhaps there was an issue with my bank that caused the deadlock to occur. (?) Thankfully, everything is working smoothly now.
Thank you for the help. And, as always, thanks for such a great piece of software that I can use on Linux!
Cheers,
Darin
Support Staff 4 Posted by Ben Spencer on 09 Jan, 2010 07:00 PM
Hi Darin
Thank you for getting back to us. Please let us know if the problem occurs again and we will investigate further.
Sincerely
Ben Spencer
5 Posted by ronroberts on 29 Jan, 2010 04:32 AM
I am running Mac 10.6.2 and have downloaded the Moneydance 2010 and it just froze up on me. I had to force quit but it did shut it down. I restarted and it is working fine for now.
When it froze on me, I was making a master asset account in which to store my individual investment homes. I never made it to the save part.
Any suggestions?
Thanks,
Ron Roberts
Support Staff 6 Posted by Ben Spencer on 29 Jan, 2010 02:35 PM
Hi Ron
It seems that the problem you are experiencng is not the same as the one described in the above conversation. The above user was experiencing a crash while downloading online transactions and this seems to have been resolved by updating to the latest build of the software.
Would you be willing to post again in a new thread. Please include the version of java you are running and the build of Moneydance you are using (select Help->About Moneydance) to get this information. Also the operating system you are running Moneydance on. If there are repeatable steps that can be take to reproduce the problem please also include a description of those steps.
I am sorry for the trouble this is causing you.
Sincerely
Ben Spencer
7 Posted by ronroberts on 30 Jan, 2010 03:21 AM
I will repost on Saturday. Thank you for your reply. I do have one question for you:
I have set up a credit card account which is in actuality a line of credit account. On my sidebar I see the balance of the account, but I would also like to see what the balance of the available credit is. This will keep me from having to look at my financial institution's online account to compare. Is this possible?
Ron Roberts
Support Staff 8 Posted by Jon Hoover on 30 Jan, 2010 03:37 PM
Ron,
Try setting it up as a bank account instead of a credit card. I have heard from users that this works but have not had opportunity to try it myself yet, so please let me know if it does.
Jon Hoover, Moneydance Support
9 Posted by ronroberts on 30 Jan, 2010 05:55 PM
I have repeatedly tried to set the account up as a bank account, but somewhere in the process the software changes the account number of the bank account that I am creating for my line of credit to one of my other bank accounts, and when I download the transactions it downloads the transactions of the other account. I am totally at a loss.
Ron Roberts
10 Posted by ronroberts on 30 Jan, 2010 06:21 PM
Well,
I just figured out why the software was replacing my account information. When setting the account up for online banking, after putting in the user id and password info for the particular account, the software sort of pauses while it is accessing your account information in order for you to select the account that you are setting up for online banking. I was not waiting and clicking OK at the screen, and not waiting for my accounts to come up for me to select. I believe that maybe moneydance could have an short explanation telling the user to wait for the account options to pop up. This may seem minor but I literally spent 30 minutes on this until I paused to take a drink of my smoothie, then it all became clear as to why it was switching my account number.
Now, what I have is two bank accounts titled:
A- Line of Credit
B- Line of Credit
Under my credit card accounts, I have the same:
A- Line of Credit
B- Line of Credit
When I click on the A and B accounts under Bank Accounts and choose download, the account transactions automatically populate into my A and B accounts under the Credit Card accounts. This works for me. Now, I have a total picture on my home page of all of my:
Bank Accounts
Credit Card Accounts
Assets
Mortgage
If anyone has any ideas I would appreciate it.
Ron Roberts
Support Staff 11 Posted by Ben Spencer on 30 Jan, 2010 08:41 PM
I have passed your suggestion on to the developers about a notification window asking the user to wait before proceeding.
Do you need any further assistance?
Ben
12 Posted by ronroberts on 31 Jan, 2010 12:09 PM
Hi Ben,
Can you tell me how to determine which version of Java my Mac is running?
Ron
13 Posted by jbnyt on 31 Jan, 2010 03:35 PM
To see what MD recognizes as your Java version go to Help > Console Window.
14 Posted by L R on 01 Feb, 2010 05:17 AM
I had the same issue tonight. I found MD would not load when I tried to open the program. This happened repeatedly and I had to force quit it. I have a Mac with latest operating system. Maybe it is by coincidence but I just registered and upgraded today, from the trial version, before this problem occurred. Any ideas? Thanks.
LR
ps just tried to open it again and same issue, won't load....here is part of the error message:
Date/Time: 2010-01-31 22:15:22 -0700
OS Version: 10.6.2 (Build 10C540)
Architecture: x86_64
Report Version: 6
Command: Moneydance
Path: /Applications/Moneydance.app/Contents/MacOS/JavaApplicationStub
Version: 2010 Beta (2010 Beta)
Parent: launchd [76]
PID: 220
Event: hang
Duration: 4.31s (sampling started after 2 seconds)
Steps: 23 (100ms sampling interval)
Pageins: 22
Pageouts: 0
Process: JavaApplicationStub [220]
Path: /Applications/Moneydance.app/Contents/MacOS/JavaApplicationStub
UID: 501
15 Posted by ronroberts on 01 Feb, 2010 05:29 AM
LR,
Thanks for adding to this discussion. I have not upgraded and am still on the trial version. I truly love this software. It does everything that I need a piece of software to do. But, I would like to have a few things added to the home page like:
- Different types of assets that I have an option of not having included in my net worth calculation
- Fields for Maximum Credit, and Availability Credit for credit accounts such as line of credit
Other than that, I will be buying the software and expect to be a long time user. I plan on using the trial version for as long as I can to try to work any and all kinks out, so that once I download the registered version I will have a heavier hand on the do's and don'ts, and the limitations of the software. I can't imagine why it would freeze up. I will say that the support team at MoneyDance has been phenomenal in their replies and earnest attempts to help. Personally, I believe it is a MoneyDance/Java thing but one that could take place with any software. Just come to my office where I have been a practicing PC user for years and you will see logs and logs of my PC freezing up using different software. I must say I love my MAC.
Ron Roberts
16 Posted by L R on 01 Feb, 2010 05:47 AM
Hi Ron,
It is a strange thing and has not happened before today. I found that if I go to my applications and open it from there, it works. So that is what I will do. I fully relate to loving the software on my Mac (I am totally converted!) and it is very convenient. My uses are pretty simple so I am happy as it stands. I too tried it out for a while and transferred all my files over a period of time, with some learning happening but I finally got it all working like a charm.
Are you aware of the deal for joining their facebook group? I joined and saved 20% today on the software purchase. Not bad. It was an offer expiring today, but I bet there will be another offer.
LR
17 Posted by darin on 06 Feb, 2010 02:17 PM
The deadlock is happening again. It happened last night and again this morning and it happens every time I stop/restart Moneydance. Once again, it happens during the download of transactions from my bank (1st Bank in Colorado).
Platform: Linux liszt 2.6.32-ARCH #1 SMP PREEMPT Thu Jan 7 22:28:29 CET 2010 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ AuthenticAMD GNU/Linux
Java Version: java version "1.6.0_17" Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)
Moneydance Version: Moneydance 2010r2 (735)
Stack trace from jstack:
Support Staff 18 Posted by Jessica Little on 06 Feb, 2010 07:29 PM
Hi darin,
I'm sorry to hear that you're experiencing a freeze again. We've recently released a new version of Moneydance that has a number of fixes for memory problems. Would you be willing to update to build 740 to see if it fixes the problem you are having? You can download it from our website at http://moneydance.com/trac/wiki/Moneydance2010Beta.
If you still receive deadlocks once you've updated to 740, could you please email your errlog.txt file to me? You can find this file in your Moneydance preferences folder, which is usually ~/.moneydance on Linux machines.
Jessica Little
Moneydance Support
Angie Rauscher closed this discussion on 24 Jul, 2011 07:25 PM.