Crash due to missing synchronization on 'gconf_client' in 'jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c' (original) (raw)
Andrew Hughes ahughes at redhat.com
Thu Aug 2 08:47:28 PDT 2012
- Previous message: Crash due to missing synchronization on 'gconf_client' in 'jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c'
- Next message: Crash due to missing synchronization on 'gconf_client' in 'jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c'
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
----- Original Message -----
Thanks for the cross post David. Yes, net-dev is the best place to discuss this issue ( bcc'ing off jdk7u-dev ).
Thanks for reporting this issue Christian. I haven't looked at the proposed patch yet, but I agree we may want to simplify this if possible ( handling the synchronization at the Java level ). We also need to add support for gnome3 system proxies in the near future. We need to ensure we don't further complicate that.
We already have support for GNOME3 system proxies (now actually at the Glib level) in IcedTea and I intend to post an upstream version of this in the next few weeks.
I filed CR 7188755: "Crash due to missing synchronization on gconfclient in DefaultProxySelector.c", to track this issue.
-Chris.
On 02/08/12 15:44, David Holmes wrote: > Hi Christian, > > Probably best to discuss this on the net-dev at openjdk.java.net list > (cc'd). > > Two comments from me (I'm not on net-dev): > > 1. CHECKNULL does a return so you will be leaving the monitor > locked if > you encounter any nulls. > > 2. Is it simpler to add synchronization at the Java level? (I don't > know > how this code is used) > > David Holmes > > On 2/08/2012 8:54 PM, Christian Schulte wrote: >> Hi, >> >> using the system property 'java.net.useSystemProxies', JDK 7 >> crashes on >> OpenBSD 5.2. >> >> $ /usr/local/jre-1.7.0/bin/java -version >> openjdk version "1.7.003" >> OpenJDK Runtime Environment (build 1.7.003-b04) >> OpenJDK Server VM (build 22.1-b02, mixed mode) >> >> $ /usr/local/jre-1.7.0/bin/java -cp . Crash >> 2538: assertion failed "allocator->lockloc == NULL" file >> "/usr/ports/pobj/dbus-1.6.2/dbus-1.6.2/dbus/dbus-dataslot.c" line >> 79 >> function dbusdataslotallocatoralloc >> 2538: assertion failed "allocator->lockloc == NULL" file >> "/usr/ports/pobj/dbus-1.6.2/dbus-1.6.2/dbus/dbus-dataslot.c" line >> 79 >> function dbusdataslotallocatoralloc >> 2538: assertion failed "allocator->lockloc == NULL" file >> "/usr/ports/pobj/dbus-1.6.2/dbus-1.6.2/dbus/dbus-dataslot.c" line >> 79 >> function dbusdataslotallocatoralloc >> 2538: assertion failed "allocator->lockloc == NULL" file >> "/usr/ports/pobj/dbus-1.6.2/dbus-1.6.2/dbus/dbus-dataslot.c" line >> 79 >> function dbusdataslotallocatoralloc >> D-Bus not compiled with backtrace support so unable to print a >> backtrace >> D-Bus not compiled with backtrace support so unable to print a >> backtrace >> >> $ /usr/local/jre-1.7.0/bin/java -cp . Crash >> 27421: assertion failed "!(connection)->haveconnectionlock" file >> "/usr/ports/pobj/dbus-1.6.2/dbus-1.6.2/dbus/dbus-connection.c" >> line 1133 >> function dbusconnectionacquireiopath >> D-Bus not compiled with backtrace support so unable to print a >> backtrace >> Abort trap (core dumped) >> >> Looking at >> 'openjdk/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c', >> there is a 'static void* gconfclient' which is initialized by >> calling >> 'gconfclientgetdefault' from 'libgconf-2'. Uses of that client >> are >> not protected against concurrent accesses by multiple threads >> although >> that gconf client is not thread-safe. Trying to add some >> protection >> myself resulted in the attached patch. Rebuilding JDK 1.7 with >> this >> patch applied, the 'gconf'/'dbus' related crashes no longer >> happen. >> >> Regards, >>
-- Andrew :)
Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com)
PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
- Previous message: Crash due to missing synchronization on 'gconf_client' in 'jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c'
- Next message: Crash due to missing synchronization on 'gconf_client' in 'jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c'
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]