Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
all
-
None
-
Mac OS 10.12 Sierra, Netbeans 8.1/8.2
Description
There is a problem to establish connection to Mariadb using java connector. DriverManager.getConnection returns an exception java.sql.SQLNonTransientConnectionException: Could not connect to 'db server ip':3306: unexpected end of stream, read 0 bytes from 4. This error occurs only with Mac os Sierra.
I have no firewall or anti virus software launched.
I found found that importing mysql-connector to the project solves the problem, even if I load a mariadb driver (Class.forName("org.mariadb.jdbc.Driver").newInstance()
Edit:
After investigation, problem rely on use of ManagementFactory.getRuntimeMXBean().getName() to get process PID. Java execute a DNS query to get hostname. If DNS isn't well configured on server, DNS request may take more time than server permit, and server will close socket. New implementation rely on JNA if present to avoid this problem
Attachments
- mariadbException.pcapng
- 12 kB
- Lukasz Strzeszkowski
- ubuntu14_04LTS_log.txt
- 12 kB
- Lukasz Strzeszkowski
- ubuntu16_04LTS_log.txt
- 12 kB
- Lukasz Strzeszkowski
Activity
11:55:06,435 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
11:55:06,435 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
11:55:06,435 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/Users/lukaszstrzeszkowski/Desktop/TestConnector-1.0-SNAPSHOT-jar-with-dependencies.jar!/logback.xml]
11:55:06,445 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@29444d75 - URL [jar:file:/Users/lukaszstrzeszkowski/Desktop/TestConnector-1.0-SNAPSHOT-jar-with-dependencies.jar!/logback.xml] is not of type file
11:55:06,479 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
11:55:11,517 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
11:55:11,521 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
11:55:11,576 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - This appender no longer admits a layout as a sub-component, set an encoder instead.
11:55:11,576 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
11:55:11,576 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
11:55:11,576 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.mariadb] to TRACE
11:55:11,576 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.mariadb] to false
11:55:11,577 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[org.mariadb]
11:55:11,577 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to ERROR
11:55:11,577 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
11:55:11,577 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
11:55:11,578 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2280cdac - Registering current configuration as safe fallback point
2016-10-05 11:55:11.589 [main] DEBUG o.m.j.i.p.AbstractConnectProtocol - creating socket to server 192.168.0.5
2016-10-05 11:55:11.592 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - socket connect to 192.168.0.5:3306
2016-10-05 11:55:11.599 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - socket connected
2016-10-05 11:55:11.599 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - initializing reader
2016-10-05 11:55:11.601 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - initializing writer
2016-10-05 11:55:11.602 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - waiting for server "greeting" packet
2016-10-05 11:55:11.603 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet seq:0 length:98 data:0A352E352E352D31302E312E31382D4D6172696144422D317E74727573747900640100006F334D694B793F6F00FFF72102003FA015000000000000000000003144425E34286A5F7B6C3047006D7973716C5F6E61746976655F70617373776F726400
2016-10-05 11:55:11.603 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - received server "greeting" packet
2016-10-05 11:55:11.603 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - handling server "greeting" packet data
2016-10-05 11:55:11.604 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - finished handling server "greeting" packet data
2016-10-05 11:55:11.604 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - beginning handling driver login packet
2016-10-05 11:55:11.605 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - Sending "Login Request" packet
2016-10-05 11:55:11.605 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake
2016-10-05 11:55:11.605 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake buffer
2016-10-05 11:55:11.605 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake before encrypting password
2016-10-05 11:55:11.605 [main] DEBUG org.mariadb.jdbc.internal.util.Utils - encrypting SHA-1 password. password length:8 server seed length:20
2016-10-05 11:55:11.611 [main] DEBUG org.mariadb.jdbc.internal.util.Utils - MessageDigest for SHA-1 created
2016-10-05 11:55:11.611 [main] DEBUG org.mariadb.jdbc.internal.util.Utils - MessageDigest for SHA-1 digest 1
2016-10-05 11:55:11.611 [main] DEBUG org.mariadb.jdbc.internal.util.Utils - MessageDigest for SHA-1 reset 1
2016-10-05 11:55:11.611 [main] DEBUG org.mariadb.jdbc.internal.util.Utils - MessageDigest for SHA-1 digest 2
2016-10-05 11:55:11.611 [main] DEBUG org.mariadb.jdbc.internal.util.Utils - MessageDigest for SHA-1 reset 1
2016-10-05 11:55:11.611 [main] DEBUG org.mariadb.jdbc.internal.util.Utils - MessageDigest for SHA-1 update 1
2016-10-05 11:55:11.611 [main] DEBUG org.mariadb.jdbc.internal.util.Utils - MessageDigest for SHA-1 update 2
2016-10-05 11:55:11.611 [main] DEBUG org.mariadb.jdbc.internal.util.Utils - MessageDigest before scramble password
2016-10-05 11:55:11.611 [main] DEBUG org.mariadb.jdbc.internal.util.Utils - MessageDigest after scramble password
2016-10-05 11:55:11.611 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake after encrypting password
2016-10-05 11:55:11.611 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake writing client capabilities
2016-10-05 11:55:11.611 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake writing client capabilities second part
2016-10-05 11:55:11.611 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake writing user name for SSO
2016-10-05 11:55:11.611 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake writing PLUGIN_AUTH_LENENC_CLIENT_DATA
2016-10-05 11:55:11.611 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake writing CONNECT_WITH_DB
2016-10-05 11:55:11.611 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake writing PLUGIN_AUTH
2016-10-05 11:55:11.611 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake writing CONNECT_ATTRS
2016-10-05 11:55:11.612 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake end writing CONNECT_ATTRS
2016-10-05 11:55:11.612 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake writing to socket
2016-10-05 11:55:11.612 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake end writing to socket
2016-10-05 11:55:11.612 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake releasing buffer
2016-10-05 11:55:11.612 [main] DEBUG o.m.j.i.p.s.SendHandshakeResponsePacket - init Handshake buffer released
2016-10-05 11:55:11.612 [main] TRACE o.m.j.i.p.AbstractConnectProtocol - "Login Request" packet send
2016-10-05 11:55:11.614 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet seq:2 length:7 data:00000002000000
2016-10-05 11:55:11.615 [main] TRACE o.m.j.i.stream.PacketOutputStream - send packet seq:0 length:106 data:0353484F57205641524941424C4553205748455245205661726961626C655F6E616D6520696E2028276D61785F616C6C6F7765645F7061636B6574272C202773797374656D5F74696D655F7A6F6E65272C202774696D655F7A6F6E65272C202773716C5F6D6F
2016-10-05 11:55:11.618 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet seq:1 length:1 data:02
2016-10-05 11:55:11.618 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet seq:2 length:100 data:0364656612696E666F726D6174696F6E5F736368656D611153455353494F4E5F5641524941424C45531153455353494F4E5F5641524941424C45530D5661726961626C655F6E616D650D5641524941424C455F4E414D450C2100C0000000FD0100000000
2016-10-05 11:55:11.619 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet seq:3 length:93 data:0364656612696E666F726D6174696F6E5F736368656D611153455353494F4E5F5641524941424C45531153455353494F4E5F5641524941424C45530556616C75650E5641524941424C455F56414C55450C210000180000FD0100000000
2016-10-05 11:55:11.619 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet seq:4 length:5 data:FE00002200
2016-10-05 11:55:11.624 [main] TRACE o.m.j.i.s.MariaDbBufferedInputStream - read packet seq:5 length:29
2016-10-05 11:55:11.624 [main] TRACE o.m.j.i.q.r.MariaSelectResultSet - read packet data(part):0x24
2016-10-05 11:55:11.624 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):6D61785F616C6C6F7765645F7061636B6574
2016-10-05 11:55:11.624 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):323638343335343536
2016-10-05 11:55:11.624 [main] TRACE o.m.j.i.s.MariaDbBufferedInputStream - read packet seq:6 length:65
2016-10-05 11:55:11.624 [main] TRACE o.m.j.i.q.r.MariaSelectResultSet - read packet data(part):0x8
2016-10-05 11:55:11.624 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):73716C5F6D6F6465
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):49474E4F52455F53504143452C4E4F5F4155544F5F4352454154455F555345522C4E4F5F454E47494E455F535542535449545554494F4E
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.s.MariaDbBufferedInputStream - read packet seq:7 length:22
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.q.r.MariaSelectResultSet - read packet data(part):0x22
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):73797374656D5F74696D655F7A6F6E65
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):43455354
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.s.MariaDbBufferedInputStream - read packet seq:8 length:17
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.q.r.MariaSelectResultSet - read packet data(part):0x9
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):74696D655F7A6F6E65
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):53595354454D
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.s.MariaDbBufferedInputStream - read packet seq:9 length:5
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.q.r.MariaSelectResultSet - read packet data(part):0x596
2016-10-05 11:55:11.625 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):00002200
2016-10-05 11:55:11.625 [main] DEBUG o.m.j.i.p.AbstractConnectProtocol - server data max_allowed_packet : 268435456
2016-10-05 11:55:11.626 [main] DEBUG o.m.j.i.p.AbstractConnectProtocol - server data sql_mode : IGNORE_SPACE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
2016-10-05 11:55:11.626 [main] DEBUG o.m.j.i.p.AbstractConnectProtocol - server data system_time_zone : CEST
2016-10-05 11:55:11.626 [main] DEBUG o.m.j.i.p.AbstractConnectProtocol - server data time_zone : SYSTEM
2016-10-05 11:55:11.626 [main] TRACE o.m.j.i.stream.PacketOutputStream - send packet seq:0 length:112 data:037365742073657373696F6E206175746F636F6D6D69743D312C73716C5F6D6F64653D2749474E4F52455F53504143452C4E4F5F4155544F5F4352454154455F555345522C4E4F5F454E47494E455F535542535449545554494F4E2C5354524943545F5452414E535F544142
2016-10-05 11:55:11.627 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet seq:1 length:7 data:00000002000000
2016-10-05 11:55:11.636 [main] TRACE o.m.j.i.stream.PacketOutputStream - send packet seq:0 length:9 data:0353454C45
2016-10-05 11:55:11.637 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet seq:1 length:1 data:01
2016-10-05 11:55:11.637 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet seq:2 length:23 data:036465660000000131000C3F0001000000088100000000
2016-10-05 11:55:11.637 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet seq:3 length:5 data:FE00000200
2016-10-05 11:55:11.637 [main] TRACE o.m.j.i.s.MariaDbBufferedInputStream - read packet seq:4 length:2
2016-10-05 11:55:11.637 [main] TRACE o.m.j.i.q.r.MariaSelectResultSet - read packet data(part):0x1
2016-10-05 11:55:11.637 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):31
2016-10-05 11:55:11.638 [main] TRACE o.m.j.i.s.MariaDbBufferedInputStream - read packet seq:5 length:5
2016-10-05 11:55:11.638 [main] TRACE o.m.j.i.q.r.MariaSelectResultSet - read packet data(part):0x596
2016-10-05 11:55:11.638 [main] TRACE o.m.j.i.p.read.ReadPacketFetcher - read packet data(part):00000200
2016-10-05 11:55:11.638 [main] TRACE o.m.j.i.stream.PacketOutputStream - send packet seq:0 length:1 data:
37ms to connect. That's way better.
Ok, so correction has to be tested in all environment, but it's now identified.
Thats great. I checked the last jar on ubuntu 16.04 LTS and results are the same as on mac os 10.12, and the second one from ubuntu 14.04LTS.
The log file: ubuntu16_04LTS_log.txt
ubuntu14_04LTS_log.txt
Last debug point to the use of ManagementFactory.getRuntimeMXBean() to get current PID may take some time for getting localhost real name (depending to JVM implementation).
new JAR has been uploaded with correction.
Could you please run a last time to confirm correction?