Me and Mikhail reached a consensus in improvement of the patch for https://issues.apache.org/jira/browse/HARMONY-2982. While working on the patch I found another bug described in https://issues.apache.org/jira/browse/HARMONY-3207 and Mikhail provided a patch for it.
We need these patches to be committed now. Could anyone of committers take a look at them? Thanks, Elena On 2/14/07, Elena Semukhina <[EMAIL PROTECTED]> wrote:
On 2/8/07, Tim Ellison <[EMAIL PROTECTED]> wrote: > > 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'? I'm not sure that we have a "lower" synchronization problem here. The deadlock happens somewhere in internal classes when many threads try to find the same file while it needs to be found once. Synchronization on an upper level helps avoiding this. Thanks, Elena 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 > >> >> > >> >> > >> > >> > > > > >
