Greg,  It's not exactly deadlock, but you may find this interesting:

https://lampsvn.epfl.ch/trac/scala/ticket/1999

-Erik

On Tue, May 19, 2009 at 5:34 PM, Meredith Gregory
<lgreg.mered...@gmail.com>wrote:

> David,
>
> Bravo! That sounds to be some gnarly sleuthing-n-hacking. BTW, have you run
> into any deadlock issues when you replace the scheduler?
>
> Best wishes,
>
> --greg
>
> On Mon, May 18, 2009 at 2:43 PM, David Pollak <
> feeder.of.the.be...@gmail.com> wrote:
>
>> Folks,
>>
>> As you all may or may not know, I've been battling memory retention issues
>> with the Scala Actor libraries for 6 or so months now.  I believe that I've
>> finally nailed the complete issues.
>>
>> They are as follows:
>>
>>    - There is an object called ActorGC that keeps track of all the actors
>>    in the system.  Due to the implementation as some other bugs in the Actor
>>    library, the ActorGC code retains references to all Actors that have been
>>    created until there is significant pressure on the garbage collector, then
>>    the references may or may not be released.  In order to combat this, I 
>> wrote
>>    code that uses reflection to look through the ActorGC retained references
>>    and I unretain the references for all Actors that have exited.
>>    - The Actor library sits on top of a modified version of Doug Lea's
>>    ForkJoin library.  Due to bugs in the library or bugs in the enhancements,
>>    the library retains references to a substantial number of messages that 
>> have
>>    ever been sent from one Actor to another.  I've replaced the default
>>    scheduler with a scheduler based on the java.util.concurrent library with 
>> a
>>    default of 10 worker threads.  If you want to use the standard Scala Actor
>>    scheduler, in Boot, set ActorSchedulerFixer.performFix = false
>>
>> I've been running a stress test against the new code that in the past
>> would result in retaining 32MB of memory over a 30 minute period.  Over the
>> last 30 minutes it has not retained any memory.
>>
>> I've started a thread on the Scala internals list and I hope that we'll be
>> able to get the Actors fixed up for the 2.8 release.
>>
>> The above fixes will only impact you if you rely on particular facits of
>> the existing Actor scheduling or ActorGC classes.
>>
>> Thanks,
>>
>> David
>>
>> --
>> Lift, the simply functional web framework http://liftweb.net
>> Beginning Scala http://www.apress.com/book/view/1430219890
>> Follow me: http://twitter.com/dpp
>> Git some: http://github.com/dpp
>>
>>
>>
>
>
> --
> L.G. Meredith
> Managing Partner
> Biosimilarity LLC
> 1219 NW 83rd St
> Seattle, WA 98117
>
> +1 206.650.3740
>
> http://biosimilarity.blogspot.com
>
>
> >
>


-- 
http://erikengbrecht.blogspot.com/

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to