"Martin Letenay" <mle@whitestein.com> wrote on 07/08/2005 03:20:27 AM:
> These multithreaded things are really fun to debug.
> Smells like quantum physics - just observing it changes its behaviour 
...
> (Like when I put some debug trace to stdout, the threads tend to 
synchronize
> and no deadlocks appear ...)
> 
> Anyway, the synchronized/deadlock problem seems to be caused by the
> SyncInfoSynchronizedAccessor#internalSetCachedSyncBytes method.
> It's calling a long running Synchronizer#setSyncInfo and then ...
> I think I was bit too paranoid putting the synchronized keyword there.
> Only methods which are accessing
> SyncInfoSynchronizedAccessor#pendingCacheWrites map should be 
synchronized.
> 
> So if you'll remove the synchronize keywords from 
internalSetCachedSyncBytes
> and internalGetCachedSyncBytes of SyncInfoSynchronizedAccessor,
> the deadlocks should not occur anymore ...
It seems to be working pretty well now.  I would like to commit it as is 
and then start working from this version for further refinements.  Would 
you mind emailing me a good commit message for this?  It is a pretty 
massive change so we ought to document it well.
After I commit this, I would like to see you remove the deprecated bits. I 
think you have made it possible to switch back to the old way in the 
preferences.  I do not think that is needed or even a very good idea. 
Let's just make everyone use this and do our best to get it right.  It 
already seems to be working very good.
Finally, for my own understanding, the serializing of the cache to disk is 
now removed.  Is this because the new unified cache is already serialized 
by Eclipse?  I just do not want to lose that feature in general as it has 
made a huge difference for me.  I also got an exception when I closed my 
runtime as it was trying to serialize the cache but couldn't because it 
wasn't serializable.  I am assuming that this is because of the mix of old 
and new code.
I am not going to a new release until mid to late next week because of our 
repository move.  So we have the time to clean up these remaining bits.  I 
do not think the Synch functionality really needs to be touched now. 
Thanks for all this.  I will commit when I get a message from you.
Mark
_____________________________________________________________________________
Scanned for SoftLanding Systems, Inc. by IBM Email Security Management Services powered by MessageLabs. 
_____________________________________________________________________________
Received on Fri Jul  8 22:41:42 2005