Problem with Moneydance locking up and freezing

darin's Avatar

darin

06 Jan, 2010 05:54 AM via web

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

  1. Support Staff 2 Posted by Jessica Little on 07 Jan, 2010 06:43 PM

    Jessica Little's Avatar

    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

  2. 3 Posted by darin on 09 Jan, 2010 06:50 PM

    darin's Avatar

    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

  3. Support Staff 4 Posted by Ben Spencer on 09 Jan, 2010 07:00 PM

    Ben Spencer's Avatar

    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

  4. 5 Posted by ronroberts on 29 Jan, 2010 04:32 AM

    ronroberts's Avatar

    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

  5. Support Staff 6 Posted by Ben Spencer on 29 Jan, 2010 02:35 PM

    Ben Spencer's Avatar

    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

  6. 7 Posted by ronroberts on 30 Jan, 2010 03:21 AM

    ronroberts's Avatar

    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

  7. Support Staff 8 Posted by Jon Hoover on 30 Jan, 2010 03:37 PM

    Jon Hoover's Avatar

    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

  8. 9 Posted by ronroberts on 30 Jan, 2010 05:55 PM

    ronroberts's Avatar

    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

  9. 10 Posted by ronroberts on 30 Jan, 2010 06:21 PM

    ronroberts's Avatar

    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

  10. Support Staff 11 Posted by Ben Spencer on 30 Jan, 2010 08:41 PM

    Ben Spencer's Avatar

    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

  11. 12 Posted by ronroberts on 31 Jan, 2010 12:09 PM

    ronroberts's Avatar

    Hi Ben,

    Can you tell me how to determine which version of Java my Mac is running?

    Ron

  12. 13 Posted by jbnyt on 31 Jan, 2010 03:35 PM

    jbnyt's Avatar

    To see what MD recognizes as your Java version go to Help > Console Window.

  13. 14 Posted by L R on 01 Feb, 2010 05:17 AM

    L R's Avatar

    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

  14. 15 Posted by ronroberts on 01 Feb, 2010 05:29 AM

    ronroberts's Avatar

    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

  15. 16 Posted by L R on 01 Feb, 2010 05:47 AM

    L R's Avatar

    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

  16. 17 Posted by darin on 06 Feb, 2010 02:17 PM

    darin's Avatar

    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:

    2010-02-06 07:06:53                                                                                                                                                            
    Full thread dump Java HotSpot(TM) 64-Bit Server VM (14.3-b01 mixed mode):                                                                                                      
    
    "Attach Listener" daemon prio=10 tid=0x0000000041664800 nid=0x389e waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE                                                                         
    
    "DestroyJavaVM" prio=10 tid=0x000000004109f800 nid=0x3863 waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE                                                                
    
    "TimerQueue" daemon prio=10 tid=0x00007fb090173000 nid=0x3876 in Object.wait() [0x00007fb08f309000]
       java.lang.Thread.State: WAITING (on object monitor)                                             
        at java.lang.Object.wait(Native Method)                                                        
        - waiting on <0x00007fb09c4147e0> (a javax.swing.TimerQueue)                                   
        at javax.swing.TimerQueue.run(TimerQueue.java:232)                                             
        - locked <0x00007fb09c4147e0> (a javax.swing.TimerQueue)                                       
        at java.lang.Thread.run(Thread.java:619)                                                       
    
    "AWT-EventQueue-0" prio=10 tid=0x00007fb090179800 nid=0x3875 waiting for monitor entry [0x00007fb08f53a000]
       java.lang.Thread.State: BLOCKED (on object monitor)                                                     
        at com.moneydance.apps.md.model.Account.setPreference(Account.java:951)                                
        - waiting to lock <0x00007fb09c8dd7f0> (a com.moneydance.apps.md.model.BankAccount)                    
        at com.moneydance.apps.md.model.Account.setPreference(Account.java:934)                                
        at com.moneydance.apps.md.model.Account.checkBalanceListeners(Account.java:1569)                       
        at com.moneydance.apps.md.model.Account.checkBalanceListeners(Account.java:1579)                       
        at com.moneydance.apps.md.model.RootAccount.refreshAccountBalances(RootAccount.java:410)               
        - locked <0x00007fb09c8f6380> (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:92)
        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=0x00007fb090151000 nid=0x3874 in Object.wait() [0x00007fb08f8ba000]
       java.lang.Thread.State: WAITING (on object monitor)                                        
        at java.lang.Object.wait(Native Method)                                                   
        - waiting on <0x00007fb09c2cd7d8> (a java.lang.Object)                                    
        at java.lang.Object.wait(Object.java:485)                                                 
        at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)                                  
        - locked <0x00007fb09c2cd7d8> (a java.lang.Object)                                        
        at java.lang.Thread.run(Thread.java:619)                                                  
    
    "Thread-2" prio=10 tid=0x00007fb090119000 nid=0x3873 waiting for monitor entry [0x00007fb08f9ba000]
       java.lang.Thread.State: BLOCKED (on object monitor)                                             
        at com.moneydance.apps.md.model.RootAccount.refreshAccountBalances(RootAccount.java:407)       
        - waiting to lock <0x00007fb09c8f6380> (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:1497)               
        at com.moneydance.apps.md.model.Account.setParameter(Account.java:973)                         
        - locked <0x00007fb09c8dd7f0> (a com.moneydance.apps.md.model.BankAccount)                     
        at com.moneydance.apps.md.model.Account.setParameter(Account.java:928)                         
        - locked <0x00007fb09c8dd7f0> (a com.moneydance.apps.md.model.BankAccount)                     
        at com.moneydance.apps.md.model.Account.setParameter(Account.java:918)                         
        at com.moneydance.apps.md.model.Account.setOnlineLedgerBalance(Account.java:392)               
        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:3179)
        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:2148)                                
        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:1025)                                                  
        at com.moneydance.apps.md.controller.BackgroundOpsThread$DownloadAllTask.run(BackgroundOpsThread.java:182)         
        at com.moneydance.apps.md.controller.BackgroundOpsThread.run(BackgroundOpsThread.java:125)                         
    
    "AWT-XAWT" daemon prio=10 tid=0x00000000414ec000 nid=0x386f runnable [0x00007fb08fffe000]
       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=0x0000000041486800 nid=0x386e in Object.wait() [0x00007fb094762000]
       java.lang.Thread.State: WAITING (on object monitor)                                                  
        at java.lang.Object.wait(Native Method)                                                             
        - waiting on <0x00007fb09c406d88> (a java.lang.ref.ReferenceQueue$Lock)                             
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)                                     
        - locked <0x00007fb09c406d88> (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=0x00007fb090002000 nid=0x386c runnable [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE                                                                 
    
    "CompilerThread1" daemon prio=10 tid=0x0000000041127000 nid=0x386b waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE                                                                         
    
    "CompilerThread0" daemon prio=10 tid=0x0000000041124800 nid=0x386a waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE                                                                         
    
    "Signal Dispatcher" daemon prio=10 tid=0x0000000041122800 nid=0x3869 runnable [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE                                                               
    
    "Finalizer" daemon prio=10 tid=0x0000000041100000 nid=0x3868 in Object.wait() [0x00007fb0963e6000]
       java.lang.Thread.State: WAITING (on object monitor)                                            
        at java.lang.Object.wait(Native Method)                                                       
        - waiting on <0x00007fb09c3517a0> (a java.lang.ref.ReferenceQueue$Lock)                       
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)                               
        - locked <0x00007fb09c3517a0> (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=0x00000000410fe000 nid=0x3867 in Object.wait() [0x00007fb0964e7000]
       java.lang.Thread.State: WAITING (on object monitor)                                                    
        at java.lang.Object.wait(Native Method)                                                               
        - waiting on <0x00007fb09c351718> (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 <0x00007fb09c351718> (a java.lang.ref.Reference$Lock)                                        
    
    "VM Thread" prio=10 tid=0x00000000410f7800 nid=0x3866 runnable 
    
    "GC task thread#0 (ParallelGC)" prio=10 tid=0x00000000410a9800 nid=0x3864 runnable 
    
    "GC task thread#1 (ParallelGC)" prio=10 tid=0x00000000410ab800 nid=0x3865 runnable 
    
    "VM Periodic Task Thread" prio=10 tid=0x00007fb090005000 nid=0x386d waiting on condition 
    
    JNI global references: 1456
    
    
    Found one Java-level deadlock:
    ============================= 
    "AWT-EventQueue-0":           
      waiting to lock monitor 0x0000000041105050 (object 0x00007fb09c8dd7f0, a com.moneydance.apps.md.model.BankAccount),
      which is held by "Thread-2"
    "Thread-2":
      waiting to lock monitor 0x000000004149cbe0 (object 0x00007fb09c8f6380, 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:951)
        - waiting to lock <0x00007fb09c8dd7f0> (a com.moneydance.apps.md.model.BankAccount)
        at com.moneydance.apps.md.model.Account.setPreference(Account.java:934)
        at com.moneydance.apps.md.model.Account.checkBalanceListeners(Account.java:1569)
        at com.moneydance.apps.md.model.Account.checkBalanceListeners(Account.java:1579)
        at com.moneydance.apps.md.model.RootAccount.refreshAccountBalances(RootAccount.java:410)
        - locked <0x00007fb09c8f6380> (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:92)
        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 <0x00007fb09c8f6380> (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:1497)
        at com.moneydance.apps.md.model.Account.setParameter(Account.java:973)
        - locked <0x00007fb09c8dd7f0> (a com.moneydance.apps.md.model.BankAccount)
        at com.moneydance.apps.md.model.Account.setParameter(Account.java:928)
        - locked <0x00007fb09c8dd7f0> (a com.moneydance.apps.md.model.BankAccount)
        at com.moneydance.apps.md.model.Account.setParameter(Account.java:918)
        at com.moneydance.apps.md.model.Account.setOnlineLedgerBalance(Account.java:392)
        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:3179)
        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:2148)
        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:1025)
        at com.moneydance.apps.md.controller.BackgroundOpsThread$DownloadAllTask.run(BackgroundOpsThread.java:182)
        at com.moneydance.apps.md.controller.BackgroundOpsThread.run(BackgroundOpsThread.java:125)
    
    Found 1 deadlock.
    
  17. Support Staff 18 Posted by Jessica Little on 06 Feb, 2010 07:29 PM

    Jessica Little's Avatar

    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

  18. Angie Rauscher closed this discussion on 24 Jul, 2011 07:25 PM.

Comments are currently closed for this discussion. You can start a new one.