Elena Semukhina wrote: > On 1/30/07, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote: >> >> I have a comment, that I'll bring out to the dev list - >> >> Is there any problem with some other thread adding the entry for >> currentURL while the if (jf==null) block is doing it's work? That's >> one difference I can see between sync-ing the block, vs just syncing >> the map. >> >> I don't know if it matters, though. > > > This remark is quite relevant. Each thread which gets jf == null for some > URL does the same job on openning connection, getting jar file and putting > it to a map. Block synchronization ensures that this job is done once for > each jar file.
In general we would allow the concurrent update of a cache, but in this case it sounds like the cost of a cache miss is very high, so that it may be worth synchronizing. > Moreover, I ran the classloader.StressLoader test on an unpatched build and > see stable hang on a Windows 2CPUx4core machine. Threads are deadlocked > while doing the same job somewhere in > org/apache/harmony/luni/internal/net/www/protocol/jar/JarURLConnection.findJarFile(). > > The patch resolves the issue. Does that imply that there is a synchronization problem 'lower down'? Regards, Tim > Mikhail, could you please add some more comments to > https://issues.apache.org/jira/browse/HARMONY-2982? > > Elena > > > geir >> >> On Jan 30, 2007, at 7:48 AM, Mikhail Markov wrote: >> >> > Elena, thanks for the patch! >> > I've reviewed it and posted the comment to this JIRA. >> > >> > Regards, >> > Mikhail >> > >> > >> > On 1/30/07, Elena Semukhina <[EMAIL PROTECTED]> wrote: >> >> >> >> The DRLVM smoke test classloader.StressLoader fails intermittently. >> >> Investigation revealed that java.net.URLClassLoader implementation >> >> does >> >> not >> >> take care of synchronizing on access to its IdentityHashMap field. I >> >> suggested a patch to fix the issue at >> >> https://issues.apache.org/jira/browse/HARMONY-2982. >> >> >> >> Could anyone please take a look and review the patch? >> >> >> >> -- >> >> Thanks, >> >> Elena >> >> >> >> >> >> > >
