JDK-8215102 (Follow-up)
Jaikiran Pai
jai.forums2013 at gmail.com
Tue Jan 22 12:44:46 UTC 2019
FWIW - I don't think this is related to WildFly server. So I decided to
try and reproduce this in a trivial standalone program and I was able to
reproduce this. Here's the code to reproduce this issue:
import java.sql.*;
public class ConnectionCloseTest {
public static void main(final String[] args) throws Exception {
final String url = "jdbc:mysql://localhost/?requireSSL=true";
final String user = "youruser"; // set the right user
final String pass = "yourpassword"; // set the right password
Class.forName("com.mysql.jdbc.Driver");
final Connection conn = DriverManager.getConnection(url, user,
pass);
System.out.println("Got connection");
conn.close();
System.out.println("Closed connection");
}
}
It's important to start the MySQL server with ssl enabled. For that I
just had to set:
[mysqld]
ssl=1
in my MySQL server configuration. On the client side you will need the
mysql JDBC driver jar in the classpath. The one I used for this test was
mysql-connector-java-5.1.43.jar.
Running this with Java 8 doesn't throw any exceptions or WARN logs.
However, running it against Java 11 and even Java 12 latest EA build,
throws an exception, which gets logged as a WARN by the driver (and
things move on) on connection close:
WARN: Caught while disconnecting...
EXCEPTION STACK TRACE:
** BEGIN NESTED EXCEPTION **
javax.net.ssl.SSLException
MESSAGE: closing inbound before receiving peer's close_notify
STACKTRACE:
javax.net.ssl.SSLException: closing inbound before receiving peer's
close_notify
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:307)
at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263)
at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:254)
at
java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:650)
at
java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:629)
at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:2246)
at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4234)
at com.mysql.jdbc.ConnectionImpl.close(ConnectionImpl.java:1472)
at ConnectionCloseTest.main(ConnectionCloseTest.java:13)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at jdk.compiler/com.sun.tools.javac.launcher.Main.execute(Main.java:415)
at jdk.compiler/com.sun.tools.javac.launcher.Main.run(Main.java:192)
at jdk.compiler/com.sun.tools.javac.launcher.Main.main(Main.java:132)
** END NESTED EXCEPTION **
-Jaikiran
On 22/01/19 7:43 AM, Dennis Gesker wrote:
> Hi Severing:
>
> I'll post the generic error when I get to the office. It seems to
> throw the complaints when it closes a connection.
>
> Here is the thing...
>
> 1. I'm glad this found its way to you (being Red Hat guy) as we first
> noticed it in WildFly 15.0.1. (But, wasn't looking for it before as
> we only need it for a few XA migration transactions.)
>
> 2. It MIGHT be the driver as we use PostgreSQL driver mostly -- in the
> same container -- and no errors there on WildFly 15.0.1 and JDK 11.
>
> 3. I will also try to fall back to JDK 8 and see if it continues in
> WildFly 15.0.1.
>
> 4. The error occurs -- it would seem -- as the pool closes idle
> connections.
>
> 5. I'll post the pool/data source config in WildFly as well -- it
> seems correct and seems to work OK in my application.
>
> Oh, yeah...
>
> And, I found the form to be a contributor (not comitter) and will fill
> that out tomorrow as well and submit it to you directly.
>
> --drg
>
> On Mon, Jan 21, 2019, 09:23 Severin Gehwolf <sgehwolf at redhat.com
> <mailto:sgehwolf at redhat.com> wrote:
>
> On Mon, 2019-01-21 at 07:57 -0700, Dennis Gesker wrote:
> >
> > Pasted:
> >
> > https://paste.fedoraproject.org/paste/vEvp9RwN2rVvIKGiC0IvEQ
>
> Is this the full trace? I don't see any exceptions happening in the
> log. Am I missing something?
>
> Thanks,
> Severin
>
> > On Mon, Jan 21, 2019 at 2:10 AM Severin Gehwolf
> <sgehwolf at redhat.com <mailto:sgehwolf at redhat.com>>
> > wrote:
> > > Hi Dennis,
> > >
> > > On Sat, 2019-01-19 at 12:08 -0700, Dennis Gesker wrote:
> > > > Hi Severin:
> > > >
> > > > A link to the txt file via Google Drive his here.
> > >
> > > "Sorry, the file you have requested does not exist."
> > >
> > > Could you please upload it somewhere less restricted? Maybe
> > > https://paste.fedoraproject.org/ or something similar?
> > >
> > > I guess if you include me directly, a file attachment would work
> > > too...
> > > It's the mailing lists which strip attachments.
> > >
> > > > I appreciate you and Alan taking a look. Especially, information
> > > > submitted from someone who is not a part of openjdk project.
> > > > I do hope the debug info helps. Let me know anything else you
> > > need
> > > > and I will do my best to provide it.
> > >
> > > Sure. I'll be mostly doing the intermediary work: getting the info
> > > added to the bug, though.
> > >
> > > > And, should your team decide to open a new ticket or reopen this
> > > > original ticket in the JIRA could you add me to the ticket?
> > >
> > > You'd have to become OpenJDK author for this[1]. It's not terribly
> > > difficult, but it's somewhat of an entry barrier I understand.
> > >
> > > > BTW, (off topic), would your recommend submitting a contributor
> > > > application to the openjdk project so bug reports can be
> > > submitted
> > > > directly?
> > >
> > > If you intend to submit the occasional bug report and fix it's
> > > easier
> > > for you long-term to attempt to become OpenJDK author (which
> > > requires
> > > signing the OCA[2]).
> > >
> > > > The dev group at my company is VERY small (and this message to
> > > your
> > > > group at the project is from my personal email) but I'd be glad
> > > to
> > > > submit bug reports as we come across them in our day to day use
> > > of
> > > > Java.
> > >
> > > If there are good reproducers for bugs this would be very welcome.
> > > Thanks for investing some time in this!
> > >
> > > Cheers,
> > > Severin
> > >
> > > [1] http://openjdk.java.net/bylaws#author
> > > http://openjdk.java.net/projects/#project-author
> > > [2] http://oss.oracle.com/oca.pdf
> > >
> > > > Cordially,
> > > > Dennis
> > > > dennis at gesker.com <mailto:dennis at gesker.com>
> > > >
> > > > On Fri, Jan 18, 2019 at 10:07 AM Severin Gehwolf <
> > > sgehwolf at redhat.com <mailto:sgehwolf at redhat.com>
> > > > > wrote:
> > > > > On Thu, 2019-01-17 at 10:00 -0700, Dennis Gesker wrote:
> > > > > [...]
> > > > > > Added the -Djavax.net.debug=all option to my Wildfly
> startup
> > > and
> > > > > > waited for the pool to close a connection to MySql at AWS.
> > > > > >
> > > > > > TXT file attached.
> > > > > >
> > > > > > javac 11.0.1
> > > > > > mysql jdbc driver 8.0.13
> > > > > > wildfly 15.0.1
> > > > > >
> > > > > > --drg
> > > > >
> > > > > Unfortunately the txt file got stripped by the mailing list.
> > > Would
> > > > > you
> > > > > be able to upload it somewhere and post a link?
> > > > >
> > > > > Thanks,
> > > > > Severin
> > > > >
> > > >
> > > >
> > >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/security-dev/attachments/20190122/4f10036e/attachment.htm>
More information about the security-dev
mailing list