Quote:
Originally posted by marvin_arnold (some minutes later)
it has frozen again after i did the "find new sources" trick again.
Well, at least the user interface has, as downloads continue
(but none of those i wanted to resume)
M:A: |
There is indeed a way to produce a deadlock by pressing the resume button. I just had the same and did a kill -QUIT lime_pid on Mac OS X which does a stack dump of all processes and does a deadlock analysis and there is deadlock via these code paths:
Code:
"TimerRunner":
at com.limegroup.gnutella.downloader.ManagedDownloader.getRemainingStateTime(ManagedDownloader.java:3459)
- waiting to lock <0x62ff2da8> (a com.limegroup.gnutella.downloader.ManagedDownloader)
at com.limegroup.gnutella.DownloadManager$2.run(DownloadManager.java:195)
- locked <0x62cb7180> (a com.limegroup.gnutella.DownloadManager)
at com.limegroup.gnutella.util.SimpleTimerTask.runAndReschedule(SimpleTimer.java:196)
at com.limegroup.gnutella.util.SimpleTimer$TimerRunnerThread.managedRun(SimpleTimer.java:119)
at com.limegroup.gnutella.util.ManagedThread.run(ManagedThread.java:49)
"AWT-EventQueue-0":
at com.limegroup.gnutella.DownloadManager.sendQuery(DownloadManager.java:881)
- waiting to lock <0x62cb7180> (a com.limegroup.gnutella.DownloadManager)
at com.limegroup.gnutella.downloader.ManagedDownloader.sendRequery(ManagedDownloader.java:807)
at com.limegroup.gnutella.downloader.ManagedDownloader.resume(ManagedDownloader.java:1489)
- locked <0x62ff2da8> (a com.limegroup.gnutella.downloader.ManagedDownloader)