hg: jdk8/tl/jdk: 7188755: Crash due to missing synchronization on gconf_client in DefaultProxySelector.c

2012-08-12 Thread chris . hegarty
Changeset: e7d125f2575b
Author:chegar
Date:  2012-08-12 22:56 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e7d125f2575b

7188755: Crash due to missing synchronization on gconf_client in 
DefaultProxySelector.c
Reviewed-by: chegar
Contributed-by: Christian Schulte 

! src/share/classes/sun/net/spi/DefaultProxySelector.java
+ test/java/net/ProxySelector/MultiThreadedSystemProxies.java



Re: Crash due to missing synchronization on 'gconf_client' in 'jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c'

2012-08-12 Thread Chris Hegarty

To close the loop on this one, here is a link to the jdk8 changeset:
  http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e7d125f2575b

I'll propose a backport to jdk7u-dev once this has bake for a little in 
8 first.


While the changes actually ended up being quite small, this issue has 
haunted us for a while now. It gets mentioned on many forums. Hopefully, 
this will be an end to it.


Christian, thanks for debugging and resolve this issue for us.

-Chris.

On 10/08/12 21:52, Christian Schulte wrote:

Am 08/10/12 18:10, schrieb Chris Hegarty:

Christian,

I finally got back to this.

Since init() is only ever called from the class initializer it is
implicitly single threaded, so we only need to add the synchronized
keyword to getSystemProxy().

I also added a test for completeness. Here is the final webrev that I
intend to push ( listing 'Christian Schulte ' as the
contributor ).

http://cr.openjdk.java.net/~chegar/7188755/webrev.00/webrev/

-Chris.



Thank you.


Regards,