-
Reason is always the same:
[01:30:24] : [Step 3/5] 2020-07-08 22:30:24 | ErrorEvent{condition=null, …, caught=javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake}
[2020-07-09 17:58:56:054] [FINER ] [ in_2-c2s ] ClientConnectionManager.processCommand(): Starting TLS for connection: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280, type: accept, Socket: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], jid: null [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] ClientTrustManagerFactory.getManager(): Creating new TrustManager for VHost localhost [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] ClientTrustManagerFactory.getManager(): CA cert path=null for VHost localhost [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] ClientTrustManagerFactory.getManager(): Creating new TrustManager for VHost localhost [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] ClientTrustManagerFactory.getManager(): CA cert path=null for VHost localhost [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] ClientConnectionManager.processCommand(): TLS: wantClientAuth=false, needClientAuth=false, trustManagers=null; for connection c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280, type: accept, Socket: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], jid: null [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] XMPPIOService.processWaitingPackets(): c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280, type: accept, Socket: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], jid: null, Sending packet: from=null, to=null, DATA=<proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>, SIZE=50, XMLNS=urn:ietf:params:xml:ns:xmpp-tls, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=null [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] IOService.writeData() : Socket: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], Writing data (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/> [2020-07-09 17:58:56:054] [FINER ] [ in_2-c2s ] SocketIO.write() : SOCKET - Writing data, remaining: 50, c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222] [2020-07-09 17:58:56:054] [FINER ] [ in_2-c2s ] SocketIO.write() : Wrote to channel 50 bytes, c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222] [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] IOService.writeData() : Socket: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], wrote: 50 [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] XMPPIOService.processWaitingPackets(): c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280, type: accept, Socket: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], jid: null, SENT: <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/> [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] IOService.isConnected() : Socket: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], Connected: true, id: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] IOService.startTLS() : c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280, type: accept, Socket: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], jid: null, Starting TLS for domain: localhost [2020-07-09 17:58:56:054] [FINEST ] [ in_2-c2s ] SSLContextContainer.getSSLContext(): Using SSLHolder: SSLHolder{domainCertificate=subject: *.localhost, altNames: [], issuer: CN=*.localhost, EMAILADDRESS=admin@tigase.org, OU=XMPP Service, O=Tigase.org, sslContext=javax.net.ssl.SSLContext@5b3f7956, tms=[tigase.io.CertificateContainer$FakeTrustManager@59bee480]} [2020-07-09 17:58:56:055] [INFO ] [ in_2-c2s ] SSLContextContainer.getHardenedMode(): Using hardened-mode: secure for domain: localhost [2020-07-09 17:58:56:055] [INFO ] [ in_2-c2s ] SSLContextContainer.getHardenedMode(): Using hardened-mode: secure for domain: localhost [2020-07-09 17:58:56:055] [FINE ] [ in_2-c2s ] JcaTLSWrapper.<init>() : Created server TLSWrapper. Protocols: [TLSv1.2, TLSv1.1, TLSv1, SSLv2Hello]; Ciphers: [TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]; Session cipher: SSL_NULL_WITH_NULL_NULL [2020-07-09 17:58:56:055] [FINER ] [ in_2-c2s ] TLSIO.<init>() : TLS Socket created: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222] [2020-07-09 17:58:56:055] [FINEST ] [ in_2-c2s ] SocketThread.addSocketServicePriv(): Adding to waiting: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280, type: accept, Socket: TLS: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], jid: null [2020-07-09 17:58:56:054] [FINEST ] [ socketReadThread-0 ] SocketThread.addAllWaiting() : ADDED OP_READ: 127.0.0.1_5222_127.0.0.1_36280 [2020-07-09 17:58:56:055] [FINER ] [ socketReadThread-0 ] SocketThread.addAllWaiting() : Forcing stopping the service: 127.0.0.1_5222_127.0.0.1_36280 java.nio.channels.CancelledKeyException at java.base/sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:71) at java.base/sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:96) at java.base/java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:217) at tigase.net.SocketThread.addAllWaiting(SocketThread.java:341) at tigase.net.SocketThread.run(SocketThread.java:265) at java.base/java.lang.Thread.run(Thread.java:834) [2020-07-09 17:58:56:055] [FINEST ] [ socketReadThread-0 ] StreamManagementIOProcessor.serviceStopped(): c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280, type: accept, Socket: TLS: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], jid: null, service stopped - StreamManagement disabled [2020-07-09 17:58:56:055] [FINER ] [ socketReadThread-0 ] IOService.forceStop() : Socket: TLS: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222], Force stop called... [2020-07-09 17:58:56:055] [FINER ] [ socketReadThread-0 ] IOService.forceStop() : Calling stop on: TLS: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222] [2020-07-09 17:58:56:055] [FINEST ] [ socketReadThread-0 ] TLSIO.stop() : Stop called...TLS: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222] [2020-07-09 17:58:56:055] [FINEST ] [ socketReadThread-0 ] SocketIO.stop() : Stop called c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[addr=/127.0.0.1,port=36280,localport=5222] [2020-07-09 17:58:56:055] [FINER ] [ socketReadThread-0 ] IOService.forceStop() : Calling stop on the listener: tigase.server.xmppclient.ClientConnectionManager@6befbb12 [2020-07-09 17:58:56:055] [FINEST ] [ socketReadThread-0 ] ConnectionManager$ServiceConnectedTimer.cancel(): Missing service connected timer task: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280, type: accept, Socket: TLS: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[unconnected], jid: null [2020-07-09 17:58:56:055] [FINER ] [ socketReadThread-0 ] ConnectionManager.serviceStopped(): [[c2s]] Connection stopped: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280, type: accept, Socket: TLS: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 Socket[unconnected], jid: null [2020-07-09 17:58:56:055] [FINER ] [ socketReadThread-0 ] ClientConnectionManager.xmppStreamClosed(): Stream closed: c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280 [2020-07-09 17:58:56:055] [FINE ] [ socketReadThread-0 ] ClientConnectionManager.xmppStreamClosed(): Service stopped, sending packet: from=c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280, to=sess-man@9585556aacac, DATA=<iq type="set" to="sess-man@9585556aacac" delay="120" id="4824ee9b-dfeb-4ffc-808d-1b1797dd3368" from="c2s@9585556aacac/127.0.0.1_5222_127.0.0.1_36280" retryCount="15"><command node="STREAM_CLOSED" xmlns="http://jabber.org/protocol/commands"/></iq>, SIZE=247, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
I'd guess that something in this change https://github.com/tigase/tigase-server/commit/da3b2916c6c1a76c694d3ef821588e4ccac09c42 is throwing an exception (NPE?) that kills the connection, but at the same time, there is no relevant ST. Question is - what, and why only sometimes and randomly? I'll continue tomorrow...
@andrzej.wojcik - anything comes to mind?
-
Just a while guess, but what if we would use BouncyCastle as a TLS provider? Why? Because I'm not sure right now what is Jaxmpp using. It used to use JCA but there were some works with BouncyCastle to provide SASL (SCRAM-*-PLUS) and I'm not sure what is being used. It could be the some combination of BC and JCA is causing the issue ie. due to some error.
Please also look at
SSLContextContainerAbstract:133
:if (log.isLoggable(Level.FINEST)) { log.log(Level.FINEST, "Created new SSLHolder: {0} for domain: {1} (with alias: {2})", new String[]{String.valueOf(sslHolder), hostname, alias, String.valueOf(clientMode)}); }
Do we have here an invalid number of arguments? more arguments then we use in the template?
The same issue is in line 165.
Moreover, I do see a weird thing. In
ClientTrustManagerFactory
in methodgetManagers()
I do see that you have replacedvhost
withvhsot.getKey()
in logs and then added above the following line:final String vhostKey = vHost != null ? vHost.getKey() : "null";
It looks to me that for some reason
vhost
was passed asNULL
which should not happen and shouldn't be allowed! Later on in that method vhost is used as a key fortrustManagers
property which is of typeConcurrentHashMap
and according to the JavaDocNULL
is not allowed to be a key there!NullPointerException - if the specified key or value is null
It looks to me that the root cause is
ClientConnectionManager::getVHostItem()
which is returning NULL and that is not supported. The question here is Why it returnsnull
?Maybe vhost repository is not loaded or there was an issue with loading a vhost. We've made a few changes in the
vhost-man
not so long ago and that could cause this issue. -
Just a while guess, but what if we would use BouncyCastle as a TLS provider? Why? Because I'm not sure right now what is Jaxmpp using. It used to use JCA but there were some works with BouncyCastle to provide SASL (SCRAM-*-PLUS) and I'm not sure what is being used. It could be the some combination of BC and JCA is causing the issue ie. due to some error.
It's using JCA in TTS-NG. Probably need configuring BC (same as in Tigase)
Please also look at SSLContextContainerAbstract:133: Do we have here an invalid number of arguments? more arguments then we use in the template? The same issue is in line 165.
Yes we do (I'll correct it) but this should not matter - it would case IndexOutOfBound exception if we had more references than items in array AFAIR (in current case it would simply not use last item)
Moreover, I do see a weird thing. In ClientTrustManagerFactory in method getManagers() I do see that you have replaced vhost with vhsot.getKey() in logs and then added above the following line: final String vhostKey = vHost != null ? vHost.getKey() : "null";
I made this change to somewhat limit debug verbosity (information about vhost details were already available, in this case we only care about vhost name) though the change itself (even with above line to prevent accidental NPE) should not matter in this case.
It looks to me that for some reason vhost was passed as NULL which should not happen and shouldn't be allowed! Later on in that method vhost is used as a key for trustManagers property which is of type ConcurrentHashMap and according to the JavaDoc NULL is not allowed to be a key there! It looks to me that the root cause is ClientConnectionManager::getVHostItem() which is returning NULL and that is not supported. The question here is Why it returns null?
Yes, this should not happen (having NULL here) and it's most likely not happening (haven't reviewed the logs yet) and before this commit (I assume) it was not happening so we could assume that there wasn't any NPE in this place. I just made a couple of changes that could prevent possible NPEs but tests are still failing.
(it's kinda annoying that there is no detail with why the connection is broken)
Maybe vhost repository is not loaded or there was an issue with loading a vhost. We've made a few changes in the vhost-man not so long ago and that could cause this issue.
Yes, but it was working just fine before so previous VHost changes should at least be manifested before.
-
Looking at the summary page, it seems that the problem started with build
8.1.0-SNAPSHOT-b10795
from 2020-07-06 with this comit:componentInfo{Title=Tigase XMPP Server, Version=8.1.0-SNAPSHOT-b5623/33e78a65, Class=tigase.server.XMPPServer}
so the commit in question seems to be unrelated.
There were two others:
- in jaxmpp, also with debugging (and slight change in SASL, but we are not getting near that code as it fails during TLS): https://github.com/tigase/jaxmpp/commit/d89bd37837c378cfa2e5102c909b3c8cc916ede6#diff-475b6864cb42ac3fd4ec4bd65c39609dL1078
- in tts-ng: fix for two-way-tls and slightly changed registration in AccountManager (to allow registering the accounts from tests): https://github.com/tigase/tigase-tts-ng/commit/d03076702e53d62b1d378ee87e1a4497a2a01c39#diff-0542e49e4a69cce1f08daec7a6e85f7fL150
Given that all those failures/skipped tests are related to failure in TLS during registration I'd say the second one would be the most likely cause. I reverted the commit from the jaxmpp and it seems number of this type of failures dropped significantly. I'm starting to suspect that this is some sort of concurrency issue in jaxmpp (can't reproduce it locally)...
-
It seems it boils down changes in TTS-NG; commits up to 2a64a551 works fine so far.
-
StackTrace:
2020-07-14 12:49:13 | two-way-tsl-user-OK :: two-way-tsl-user-OK_c6maip0001@a.localhost >> <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/> 2020-07-14 12:49:13 | tigase.jaxmpp.j2se.connectors.socket.SocketConnector.printLog: [scid=5 thread=51] Proceeding TLS 2020-07-14 12:49:13 | tigase.jaxmpp.j2se.connectors.socket.SocketConnector.printLog: [scid=5 thread=51] Start handshake 2020-07-14 12:49:13 | tigase.jaxmpp.j2se.connectors.socket.SocketConnector.printLog: [scid=5 thread=51] Can't establish encrypted connection 2020-07-14 12:49:13 | tigase.jaxmpp.j2se.connectors.socket.Worker.interrupt: Worker Interrupted 2020-07-14 12:49:13 | tigase.jaxmpp.j2se.Jaxmpp.onException: Catching exception 2020-07-14 12:49:13 | tigase.jaxmpp.j2se.connectors.socket.Worker.interrupt: Worker Interrupted 2020-07-14 12:49:13 | tigase.jaxmpp.j2se.connectors.socket.SocketConnector.printLog: [scid=5 thread=49] Connector state changed: connected->disconnecting 2020-07-14 12:49:13 | tigase.jaxmpp.j2se.connectors.socket.SocketConnector.printLog: [scid=5 thread=51] Connector state changed: disconnecting->disconnected 2020-07-14 12:49:13 | tigase.jaxmpp.j2se.connectors.socket.SocketConnector.printLog: [scid=5 thread=49] Stream terminate not sent, because of connection state==disconnected 2020-07-14 12:49:13 | tigase.jaxmpp.j2se.connectors.socket.Worker.interrupt: Worker Interrupted tigase.jaxmpp.core.client.exceptions.JaxmppException: tigase.jaxmpp.core.client.exceptions.JaxmppException: java.net.SocketException: Broken pipe (Write failed) at tigase.jaxmpp.j2se.Jaxmpp.waitForLoginFinish(Jaxmpp.java:154) at tigase.jaxmpp.j2se.Jaxmpp.login(Jaxmpp.java:249) at tigase.tests.utils.AccountsManager.unregisterAccount(AccountsManager.java:244) at tigase.tests.server.TestTwoWayTLS.registerAccount(TestTwoWayTLS.java:225) at tigase.tests.server.TestTwoWayTLS.testConnectionWithCertificate(TestTwoWayTLS.java:119) 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:566) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124) at org.testng.internal.Invoker.invokeMethod(Invoker.java:583) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) at org.testng.TestRunner.privateRun(TestRunner.java:648) at org.testng.TestRunner.run(TestRunner.java:505) at org.testng.SuiteRunner.runTest(SuiteRunner.java:455) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) at org.testng.SuiteRunner.run(SuiteRunner.java:364) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208) at org.testng.TestNG.runSuitesLocally(TestNG.java:1137) at org.testng.TestNG.runSuites(TestNG.java:1049) at org.testng.TestNG.run(TestNG.java:1017) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:112) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:99) at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) Caused by: tigase.jaxmpp.core.client.exceptions.JaxmppException: java.net.SocketException: Broken pipe (Write failed) at tigase.jaxmpp.core.client.connector.AbstractSocketXmppSessionLogic.processConnectorErrors(AbstractSocketXmppSessionLogic.java:185) at tigase.jaxmpp.core.client.connector.AbstractSocketXmppSessionLogic$1.onError(AbstractSocketXmppSessionLogic.java:89) at tigase.jaxmpp.core.client.Connector$ErrorHandler$ErrorEvent.dispatch(Connector.java:314) at tigase.jaxmpp.core.client.Connector$ErrorHandler$ErrorEvent.dispatch(Connector.java:299) at tigase.jaxmpp.j2se.eventbus.ThreadSafeEventBus$2.run(ThreadSafeEventBus.java:81) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.net.SocketException: Broken pipe (Write failed) at java.base/java.net.SocketOutputStream.socketWrite0(Native Method) at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150) at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeChangeCipherSpec(SSLSocketOutputRecord.java:221) at java.base/sun.security.ssl.OutputRecord.changeWriteCiphers(OutputRecord.java:162) at java.base/sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecProducer.produce(ChangeCipherSpec.java:118) at java.base/sun.security.ssl.Finished$T12FinishedProducer.onProduceFinished(Finished.java:395) at java.base/sun.security.ssl.Finished$T12FinishedProducer.produce(Finished.java:379) at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436) at java.base/sun.security.ssl.ServerHelloDone$ServerHelloDoneConsumer.consume(ServerHelloDone.java:182) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:183) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1144) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1055) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:395) at tigase.jaxmpp.j2se.connectors.socket.SocketConnector.proceedJCETLS(SocketConnector.java:1126) at tigase.jaxmpp.j2se.connectors.socket.SocketConnector.proceedTLS(SocketConnector.java:758) at tigase.jaxmpp.j2se.connectors.socket.SocketConnector.onTLSStanza(SocketConnector.java:224) at tigase.jaxmpp.j2se.connectors.socket.SocketConnector.processElement(SocketConnector.java:254) at tigase.jaxmpp.j2se.connectors.socket.SocketConnector$1.processElement(SocketConnector.java:425) at tigase.jaxmpp.j2se.connectors.socket.Worker$1.nextElement(Worker.java:52) at tigase.jaxmpp.j2se.connectors.socket.XMPPDomBuilderHandler.endElement(XMPPDomBuilderHandler.java:149) at tigase.xml.SimpleParser.parse(SimpleParser.java:302) at tigase.jaxmpp.j2se.connectors.socket.Worker.run(Worker.java:115)
Type |
Bug
|
Priority |
Normal
|
Assignee | |
Version |
tigase-server-8.1.0
|