Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2054650 | 1.4.2 | Mark Reinhold | P3 | Resolved | Fixed | mantis |
This bug happened during Sun ONE Message Queue QA testing after the test running
for > 20hrs (see below original bug report). The test has multiple threads each
creating connections then sending/receiving messages. The test run repeatly
again again. This NPE happened from java code on charset lookup for "UTF8"
- the call is originated from code like:
sometext.getBytes("UTF8")
which will be called on each connection creation.
java.lang.NullPointerException
at java.util.TreeMap.rotateLeft(TreeMap.java:1248)
at java.util.TreeMap.fixAfterInsertion(TreeMap.java:1315)
at java.util.TreeMap.put(TreeMap.java:477)
at sun.nio.cs.AbstractCharsetProvider.lookup(AbstractCharsetProvider.java:87)
at sun.nio.cs.AbstractCharsetProvider.charsetForName(AbstractCharsetProvider.java:100)
at java.nio.charset.Charset.lookup(Charset.java:380)
at java.nio.charset.Charset.isSupported(Charset.java:405)
at java.lang.StringCoding.lookupCharset(StringCoding.java:79)
at java.lang.StringCoding.encode(StringCoding.java:351)
at java.lang.String.getBytes(String.java:586)
at com.sun.messaging.jmq.util.MD5.getHashString(MD5.java:24)
at com.sun.messaging.jmq.jmsclient.auth.JMQDigestAuthenticationHandler.h
+++++++++++++++++++++++original bug report++++++++++++++++++++++++++++++++
Client throws Null Pointer Exception while connecting to the broker....
Exception Stack Trace:
JMS Exception
=============
javax.jms.JMSException: [C4003]: Error occurred on connection creation. - caught
java.lang.NullPointerException
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.getJMSException(Exce
ptionHandler.java:183)
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleException(Exce
ptionHandler.java:136)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.ja
va:392)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.
java:228)
at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedC
onnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConne
ctionImpl.java:32)
at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionF
actory.java:72)
at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionF
actory.java:57)
at Longevity.ConnectionsThread.doIt(ConnectionsThread.java:85)
at Longevity.ConnectionsThread.run(ConnectionsThread.java:65)
Linked Exception
================
java.lang.NullPointerException
at java.util.TreeMap.rotateLeft(TreeMap.java:1248)
at java.util.TreeMap.fixAfterInsertion(TreeMap.java:1315)
at java.util.TreeMap.put(TreeMap.java:477)
at sun.nio.cs.AbstractCharsetProvider.lookup(AbstractCharsetProvider.jav
a:87)
at sun.nio.cs.AbstractCharsetProvider.charsetForName(AbstractCharsetProv
ider.java:100)
at java.nio.charset.Charset.lookup(Charset.java:380)
at java.nio.charset.Charset.isSupported(Charset.java:405)
at java.lang.StringCoding.lookupCharset(StringCoding.java:79)
at java.lang.StringCoding.encode(StringCoding.java:351)
at java.lang.String.getBytes(String.java:586)
at com.sun.messaging.jmq.util.MD5.getHashString(MD5.java:24)
at com.sun.messaging.jmq.jmsclient.auth.JMQDigestAuthenticationHandler.h
andleRequest(JMQDigestAuthenticationHandler.java:58)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.authenticate(Protocol
Handler.java:661)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.hello(ProtocolHandler
.java:615)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.hello(ConnectionImpl.j
ava:232)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.openConnection(Connect
ionImpl.java:1463)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.ja
va:389)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.
java:228)
at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedC
onnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConne
ctionImpl.java:32)
at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionF
actory.java:72)
at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionF
actory.java:57)
at Longevity.ConnectionsThread.doIt(ConnectionsThread.java:85)
at Longevity.ConnectionsThread.run(ConnectionsThread.java:65)
mathi.manoharan@eng 2002-05-17
Test Scenario
=============
Test that was run on the machin: Longevity
(http://jpgserv/JMQFalcon/qa/testcases/Longevity_Testsuite.html)
Three brokers running on Windows Linux and Solaris are clustered. The exception
occured on the client running on the Windows machine trying to connect to the
broker running on the Linux machine
Machine Configurations
======================
Sparc (Solaris 8) - Ultra 60 (hostname: colorodo)
PC Server (Windows Advanced Server) - Dual processor (two 1MHz processors),
with 512 MB RAM (hostname power-edge-2500)
PC Workstation (Redhat Linux 7.1) - Dual Processor PC (two 400 MHz processors),
with 256 MB RAM
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
###@###.### 2003-03-07
This happens with both weblogic and websphere when using SUN and performing
Dynamic WebServices. Can this be fixed for 141_03 seems simple enough to get
and something lots of webservice users world wide will see.
Client Exception[with VM 1.4.1] :
=================================
java.lang.NullPointerException
at java.util.TreeMap.rotateLeft(TreeMap.java:1254)
at java.util.TreeMap.fixAfterInsertion(TreeMap.java:1293)
at java.util.TreeMap.put(TreeMap.java:477)
at
sun.nio.cs.AbstractCharsetProvider.lookup(AbstractCharsetProvider.java:102)
at
sun.nio.cs.AbstractCharsetProvider.charsetForName(AbstractCharsetProvider.ja
va:114)
at java.nio.charset.Charset.lookup(Charset.java:380)
at java.nio.charset.Charset.isSupported(Charset.java:405)
at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:67)
at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:82)
at com.sun.xml.rpc.util.xml.XmlWriter.<init>(XmlWriter.java:85)
at com.sun.xml.rpc.streaming.XMLWriterImpl.<init>(XMLWriterImpl.java:29)
at
com.sun.xml.rpc.streaming.XMLWriterFactoryImpl.createXMLWriter(XMLWriterFact
oryImpl.java:38)
at
com.sun.xml.rpc.streaming.XMLWriterFactoryImpl.createXMLWriter(XMLWriterFact
oryImpl.java:34)
at
com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:38
2)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:63)
at
com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:54)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:279)
at DynamicWebservicesClient.invokeMethod(DynamicWebservicesClient.java:146)
at DynamicWebservicesClient.run(DynamicWebservicesClient.java:85)
Also getting :
===============
java.lang.NullPointerException
at java.util.TreeMap.rotateRight(TreeMap.java:1265)
at java.util.TreeMap.fixAfterInsertion(TreeMap.java:1298)
at java.util.TreeMap.put(TreeMap.java:477)
at
sun.nio.cs.AbstractCharsetProvider.lookup(AbstractCharsetProvider.java:102)
at
sun.nio.cs.AbstractCharsetProvider.charsetForName(AbstractCharsetProvider.ja
va:114)
at java.nio.charset.Charset.lookup(Charset.java:380)
at java.nio.charset.Charset.isSupported(Charset.java:405)
at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:67)
at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:82)
at com.sun.xml.rpc.util.xml.XmlWriter.<init>(XmlWriter.java:85)
at com.sun.xml.rpc.streaming.XMLWriterImpl.<init>(XMLWriterImpl.java:29)
at
com.sun.xml.rpc.streaming.XMLWriterFactoryImpl.createXMLWriter(XMLWriterFact
oryImpl.java:38)
at
com.sun.xml.rpc.streaming.XMLWriterFactoryImpl.createXMLWriter(XMLWriterFact
oryImpl.java:34)
at
com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:38
2)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:63)
at
com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:54)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:279)
at DynamicWebservicesClient.invokeMethod(DynamicWebservicesClient.java:146)
at DynamicWebservicesClient.run(DynamicWebservicesClient.java:85)
for > 20hrs (see below original bug report). The test has multiple threads each
creating connections then sending/receiving messages. The test run repeatly
again again. This NPE happened from java code on charset lookup for "UTF8"
- the call is originated from code like:
sometext.getBytes("UTF8")
which will be called on each connection creation.
java.lang.NullPointerException
at java.util.TreeMap.rotateLeft(TreeMap.java:1248)
at java.util.TreeMap.fixAfterInsertion(TreeMap.java:1315)
at java.util.TreeMap.put(TreeMap.java:477)
at sun.nio.cs.AbstractCharsetProvider.lookup(AbstractCharsetProvider.java:87)
at sun.nio.cs.AbstractCharsetProvider.charsetForName(AbstractCharsetProvider.java:100)
at java.nio.charset.Charset.lookup(Charset.java:380)
at java.nio.charset.Charset.isSupported(Charset.java:405)
at java.lang.StringCoding.lookupCharset(StringCoding.java:79)
at java.lang.StringCoding.encode(StringCoding.java:351)
at java.lang.String.getBytes(String.java:586)
at com.sun.messaging.jmq.util.MD5.getHashString(MD5.java:24)
at com.sun.messaging.jmq.jmsclient.auth.JMQDigestAuthenticationHandler.h
+++++++++++++++++++++++original bug report++++++++++++++++++++++++++++++++
Client throws Null Pointer Exception while connecting to the broker....
Exception Stack Trace:
JMS Exception
=============
javax.jms.JMSException: [C4003]: Error occurred on connection creation. - caught
java.lang.NullPointerException
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.getJMSException(Exce
ptionHandler.java:183)
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleException(Exce
ptionHandler.java:136)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.ja
va:392)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.
java:228)
at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedC
onnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConne
ctionImpl.java:32)
at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionF
actory.java:72)
at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionF
actory.java:57)
at Longevity.ConnectionsThread.doIt(ConnectionsThread.java:85)
at Longevity.ConnectionsThread.run(ConnectionsThread.java:65)
Linked Exception
================
java.lang.NullPointerException
at java.util.TreeMap.rotateLeft(TreeMap.java:1248)
at java.util.TreeMap.fixAfterInsertion(TreeMap.java:1315)
at java.util.TreeMap.put(TreeMap.java:477)
at sun.nio.cs.AbstractCharsetProvider.lookup(AbstractCharsetProvider.jav
a:87)
at sun.nio.cs.AbstractCharsetProvider.charsetForName(AbstractCharsetProv
ider.java:100)
at java.nio.charset.Charset.lookup(Charset.java:380)
at java.nio.charset.Charset.isSupported(Charset.java:405)
at java.lang.StringCoding.lookupCharset(StringCoding.java:79)
at java.lang.StringCoding.encode(StringCoding.java:351)
at java.lang.String.getBytes(String.java:586)
at com.sun.messaging.jmq.util.MD5.getHashString(MD5.java:24)
at com.sun.messaging.jmq.jmsclient.auth.JMQDigestAuthenticationHandler.h
andleRequest(JMQDigestAuthenticationHandler.java:58)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.authenticate(Protocol
Handler.java:661)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.hello(ProtocolHandler
.java:615)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.hello(ConnectionImpl.j
ava:232)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.openConnection(Connect
ionImpl.java:1463)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.ja
va:389)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.
java:228)
at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedC
onnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConne
ctionImpl.java:32)
at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionF
actory.java:72)
at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionF
actory.java:57)
at Longevity.ConnectionsThread.doIt(ConnectionsThread.java:85)
at Longevity.ConnectionsThread.run(ConnectionsThread.java:65)
mathi.manoharan@eng 2002-05-17
Test Scenario
=============
Test that was run on the machin: Longevity
(http://jpgserv/JMQFalcon/qa/testcases/Longevity_Testsuite.html)
Three brokers running on Windows Linux and Solaris are clustered. The exception
occured on the client running on the Windows machine trying to connect to the
broker running on the Linux machine
Machine Configurations
======================
Sparc (Solaris 8) - Ultra 60 (hostname: colorodo)
PC Server (Windows Advanced Server) - Dual processor (two 1MHz processors),
with 512 MB RAM (hostname power-edge-2500)
PC Workstation (Redhat Linux 7.1) - Dual Processor PC (two 400 MHz processors),
with 256 MB RAM
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
###@###.### 2003-03-07
This happens with both weblogic and websphere when using SUN and performing
Dynamic WebServices. Can this be fixed for 141_03 seems simple enough to get
and something lots of webservice users world wide will see.
Client Exception[with VM 1.4.1] :
=================================
java.lang.NullPointerException
at java.util.TreeMap.rotateLeft(TreeMap.java:1254)
at java.util.TreeMap.fixAfterInsertion(TreeMap.java:1293)
at java.util.TreeMap.put(TreeMap.java:477)
at
sun.nio.cs.AbstractCharsetProvider.lookup(AbstractCharsetProvider.java:102)
at
sun.nio.cs.AbstractCharsetProvider.charsetForName(AbstractCharsetProvider.ja
va:114)
at java.nio.charset.Charset.lookup(Charset.java:380)
at java.nio.charset.Charset.isSupported(Charset.java:405)
at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:67)
at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:82)
at com.sun.xml.rpc.util.xml.XmlWriter.<init>(XmlWriter.java:85)
at com.sun.xml.rpc.streaming.XMLWriterImpl.<init>(XMLWriterImpl.java:29)
at
com.sun.xml.rpc.streaming.XMLWriterFactoryImpl.createXMLWriter(XMLWriterFact
oryImpl.java:38)
at
com.sun.xml.rpc.streaming.XMLWriterFactoryImpl.createXMLWriter(XMLWriterFact
oryImpl.java:34)
at
com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:38
2)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:63)
at
com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:54)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:279)
at DynamicWebservicesClient.invokeMethod(DynamicWebservicesClient.java:146)
at DynamicWebservicesClient.run(DynamicWebservicesClient.java:85)
Also getting :
===============
java.lang.NullPointerException
at java.util.TreeMap.rotateRight(TreeMap.java:1265)
at java.util.TreeMap.fixAfterInsertion(TreeMap.java:1298)
at java.util.TreeMap.put(TreeMap.java:477)
at
sun.nio.cs.AbstractCharsetProvider.lookup(AbstractCharsetProvider.java:102)
at
sun.nio.cs.AbstractCharsetProvider.charsetForName(AbstractCharsetProvider.ja
va:114)
at java.nio.charset.Charset.lookup(Charset.java:380)
at java.nio.charset.Charset.isSupported(Charset.java:405)
at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:67)
at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:82)
at com.sun.xml.rpc.util.xml.XmlWriter.<init>(XmlWriter.java:85)
at com.sun.xml.rpc.streaming.XMLWriterImpl.<init>(XMLWriterImpl.java:29)
at
com.sun.xml.rpc.streaming.XMLWriterFactoryImpl.createXMLWriter(XMLWriterFact
oryImpl.java:38)
at
com.sun.xml.rpc.streaming.XMLWriterFactoryImpl.createXMLWriter(XMLWriterFact
oryImpl.java:34)
at
com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:38
2)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:63)
at
com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:54)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:279)
at DynamicWebservicesClient.invokeMethod(DynamicWebservicesClient.java:146)
at DynamicWebservicesClient.run(DynamicWebservicesClient.java:85)
- backported by
-
JDK-2054650 (cs) Charset.{forName,isSupported} not thread-safe
-
- Resolved
-
- relates to
-
JDK-4954023 missing/dropped character in zh_CN.GB18030 locale
-
- Closed
-
-
JDK-6898310 (cs) Charset cache lookups should be synchronized
-
- Closed
-