Details
-
Bug
-
Resolution: Fixed
-
P2
-
1.4.2_19, 6u10, 6u12
-
b05
-
generic, x86, sparc
-
linux_redhat_6.2, solaris, solaris_10, windows_2000
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2190551 | 7 | Chris Hegarty | P3 | Closed | Fixed | b89 |
JDK-2173292 | 6u14 | Robert Mckenna | P2 | Closed | Fixed | b02 |
JDK-2190716 | OpenJDK6 | Chris Hegarty | P3 | Resolved | Fixed | b19 |
JDK-2192917 | 5.0u25 | Robert Mckenna | P2 | Closed | Fixed | b02 |
JDK-2172903 | 5.0u24-rev | Robert Mckenna | P2 | Closed | Fixed | b08 |
JDK-2192862 | 1.4.2_27 | Robert Mckenna | P2 | Closed | Fixed | b02 |
JDK-2187221 | 1.4.2_26-rev | Robert Mckenna | P2 | Closed | Fixed | b08 |
Description
When 1.6.0_10 is installed in /usr/jdk , smpatch fails with an error "Unconnected sockets not implemented".
I did some searching and found:
http://www.nabble.com/CXF-and-Java-6-Update-10-td19463818.html
Which is talking about another program that also gets this error when 1.6.0_10 is used. They say:
"I was able to reproduce this. Fortunately, it's an easy fix (3 lines added to
our SSLSocketFactoryWrapper class).
Basically, older JDK's called the "createSocket" methods that take parameters
and create connected sockets. The newer JDK seems to call the createSocket()
method (no params) and then connects it later. However, we were not
forwarding that call into the wrapped socketfactory. Once I add that, our
https tests pass.
I'm going to run the full test suite and if OK, I'll get it committed and
merged down through so the next releases should be fine. "
-----
... For smpatch, it works fine with java 1.5.0_16, and works with 1.6.0_07
It fails as soon as 1.6.0_10 is installed.
I suspect it's related to the above change to the JVM.
This would mean that older programs that ran fine on 1.6.0_07 and 1.5 may not work on 1.6.0_10 and above - it makes certain programs like smpatch no longer compatible...
It seems some software out there is dealing with this by changing their source code, but they shouldn't have to if this is indeed a bug in 1.6.0_10.
reference to the smpatch code regarding creating of sockets:
http://opengrok.sfbay/source/xref/SWPatchTools-br_100/src/bundled/app/ppro/sw/classes/com/sun/patchpro/util/CustomSSLSocketFactory.java
http://opengrok.sfbay/source/xref/SWPatchTools-br_100/src/bundled/app/ppro/sw/classes/com/sun/patchpro/security/SSLTunnelSocketFactory.java
From a cursory look, these exist primarily to allow for custom timeouts on the connections we make with them.
What I don't see is any no argument createSocket() constructors in these classes.
Matthew: If the no-arg createSocket() is what is being called then wouldn't the superclass implementation in java.net.ssl.SSLSocketFactory be used? Are you suggesting that we override the no argument implementation of SSLSocketFactory in our SocketFactory classes?
Or is it that we should be changing the sequencing somehow in the usage of the the Socket (I assume we need to keep the sequence open a connection and then set the socket factory?)
I'd like to be clear that since the same code is used by clients with earlier JVMs as well as new ones, any solution we put in place needs to work simultaneously on older (Java 5) and new JVMs.
For reference the most obvious clients of these Socket Factories:
http://opengrok.sfbay/source/xref/SWPatchTools-br_100/src/bundled/app/ppro/sw/classes/com/sun/patchpro/util/Downloader.java
http://opengrok.sfbay/source/xref/SWPatchTools-br_100/src/bundled/app/ppro/sw/classes/com/sun/patchpro/server/ServerPatchServiceProvider.java
http://opengrok.sfbay/source/xref/SWPatchTools-br_100/src/bundled/app/ppro/sw/classes/com/sun/patchpro/server/UnifiedServerPatchServiceProvider.java
Attachments
Issue Links
- backported by
-
JDK-2190716 createSocket() - smpatch fails using 1.6.0_10 because of "Unconnected sockets not implemented"
- Resolved
-
JDK-2172903 createSocket() - smpatch fails using 1.6.0_10 because of "Unconnected sockets not implemented"
- Closed
-
JDK-2173292 createSocket() - smpatch fails using 1.6.0_10 because of "Unconnected sockets not implemented"
- Closed
-
JDK-2187221 createSocket() - smpatch fails using 1.6.0_10 because of "Unconnected sockets not implemented"
- Closed
-
JDK-2192862 createSocket() - smpatch fails using 1.6.0_10 because of "Unconnected sockets not implemented"
- Closed
-
JDK-2192917 createSocket() - smpatch fails using 1.6.0_10 because of "Unconnected sockets not implemented"
- Closed
-
JDK-2190551 createSocket() - smpatch fails using 1.6.0_10 because of "Unconnected sockets not implemented"
- Closed
- duplicates
-
JDK-6790841 Connection fails in 1.6 update 11
- Closed
-
JDK-6771237 java.net.SocketException: Unconnected sockets not implemented thrown by Tomcat on jdk1.6.0_u10
- Closed
-
JDK-2154580 HttpsURLConnection not using the set SSLSocketFactory for creating all its Sockets
- Closed
- relates to
-
JDK-6614957 HttpsURLConnection not using the set SSLSocketFactory for creating all its Sockets
- Resolved
-
JDK-2154579 HttpsURLConnection not using the set SSLSocketFactory for creating all its Sockets
- Resolved