zivillian / ism7mqtt

GNU General Public License v3.0
49 stars 8 forks source link

Stuck on invalid login state / connection reset #87

Open binarybucks opened 7 months ago

binarybucks commented 7 months ago

Hi,

I noticed that my ism7 seems to get confused or temporarily disconnected from time to time and ism7mqtt stops sending data. There are no other tools connected to the ism7. It is connected to smartset though. Firmware and connection details see below: image

The following two errors occur every other day and are cleared by a restart of the ism7mqtt container and a fresh connection. Any idea what could be causing this or if it can be fixed?

<?xml version="1.0" encoding="utf-8"?><direct-logon-response state="pending" sid=""><installationname>WolfLink</installationname><serialnumber>408432191c03</serialnumber><ism-softwareversion>300.10.1.300.300.1</ism-softwareversion><ism-hardwareversion>3.0</ism-hardwareversion><type>WOLFLink</type></direct-logon-response>
System.IO.InvalidDataException: invalid login state
   at ism7mqtt.Ism7Client.OnAuthenticateAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 338
   at ism7mqtt.ResponseDispatcher.DispatchAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/ResponseDispatcher.cs:line 32
   at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 212
> <?xml version="1.0" encoding="utf-16"?><direct-logon-request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><password>xxx</password></direct-logon-request>
< <?xml version="1.0" encoding="utf-8"?><direct-logon-response state="pending" sid=""><installationname>WolfLink</installationname><serialnumber>408432191c03</serialnumber><ism-softwareversion>300.10.1.300.300.1</ism-softwareversion><ism-hardwareversion>3.0</ism-hardwareversion><type>WOLFLink</type></direct-logon-response>
System.IO.InvalidDataException: invalid login state
   at ism7mqtt.Ism7Client.OnAuthenticateAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 338
   at ism7mqtt.ResponseDispatcher.DispatchAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/ResponseDispatcher.cs:line 32
   at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 212
> <?xml version="1.0" encoding="utf-16"?><direct-logon-request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><password>xxx</password></direct-logon-request>
< <?xml version="1.0" encoding="utf-8"?><direct-logon-response state="pending" sid=""><installationname>WolfLink</installationname><serialnumber>408432191c03</serialnumber><date-time>2023-12-05T18:54:14</date-time><ism-softwareversion>300.10.1.300.300.1</ism-softwareversion><ism-hardwareversion>3.0</ism-hardwareversion><type>WOLFLink</type></direct-logon-response>
System.IO.InvalidDataException: invalid login state
   at ism7mqtt.Ism7Client.OnAuthenticateAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 338
   at ism7mqtt.ResponseDispatcher.DispatchAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/ResponseDispatcher.cs:line 32
   at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 212
System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer.
 ---> System.Net.Sockets.SocketException (104): Connection reset by peer
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
   at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](TIOAdapter adapter)
   at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](TIOAdapter adapter, Memory 1 buffer)
   at ism7mqtt.Ism7Client.FillPipeAsync(PipeWriter target, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 166
System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer.
 ---> System.Net.Sockets.SocketException (104): Connection reset by peer
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
   at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](TIOAdapter adapter)
   at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](TIOAdapter adapter, Memory 1 buffer)
   at ism7mqtt.Ism7Client.FillPipeAsync(PipeWriter target, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 166
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 190
zivillian commented 6 months ago

What happens before these error messages? There must be a disconnect or restart of ism7mqtt to send a new direct-logon-request.

binarybucks commented 6 months ago

Yes, generally there's a connection reset before that when the ism7 Module disconnects for $REASON. Mine seems to do that more or less daily between 6-8pm. In most cases ism7mqtt recovers that perfectly fine like below

 ---> System.Net.Sockets.SocketException (104): Connection reset by peer
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
   at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](TIOAdapter adapter)
   at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](TIOAdapter adapter, Memory`1 buffer)
   at ism7mqtt.Ism7Client.FillPipeAsync(PipeWriter target, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 166
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 190
> <?xml version="1.0" encoding="utf-16"?><direct-logon-request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><password>mKfippw0</password></direct-logon-request>
< <?xml version="1.0" encoding="utf-8"?><direct-logon-response state="ok" sid=""><installationname>WolfLink</installationname><serialnumber>408432191c03</serialnumber><date-time>2023-12-14T08:03:39</date-time><ism-softwareversion>300.10.1.300.300.1</ism-softwareversion><ism-hardwareversion>3.0</ism-hardwareversion><type>WOLFLink</type></direct-logon-response>
> <?xml version="1.0" encoding="utf-16"?><tbreq xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" bn="1" gw="1" ae="false" ty="pull"><ird in="0" se="" ba="0x00" /><ird in="0" se="" ba="0x00" /><ird in="0" se="" ba="0x00" /><ird in="0" se="" ba="0x00" /></tbreq>

Every few days, it gets stuck and only receives "invalid login state" in the direct-logon-response and loops until I restart the container.

I've restarted my docker host today hence I've no complete log of the issue occuring. I'll post a full one when it occurs again.

binarybucks commented 6 months ago

Interestingly it disconnected at 4:35am today, temporarily restored the connection and now than hang since then with SSL handshake errors.

publishing mqtt with topic 'Wolf/172.23.13.15/BM-2_0x35/Uhrzeit_BM2/330010' '"04:35:00"'
publishing mqtt with topic 'Wolf/172.23.13.15/DHK_BM-2_0x35/Vorlauftemperatur' '33.3'
> �
< �
> �
System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer.
 ---> System.Net.Sockets.SocketException (104): Connection reset by peer
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
   at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](TIOAdapter adapter)
   at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](TIOAdapter adapter, Memory`1 buffer)
   at ism7mqtt.Ism7Client.FillPipeAsync(PipeWriter target, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 166
System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer.
 ---> System.Net.Sockets.SocketException (104): Connection reset by peer
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
   at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](TIOAdapter adapter)
   at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](TIOAdapter adapter, Memory`1 buffer)
   at ism7mqtt.Ism7Client.FillPipeAsync(PipeWriter target, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 166
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 190
System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
 ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
 ---> Interop+Crypto+OpenSslCryptographicException: error:0A0000F4:SSL routines::unexpected message
   --- End of inner exception stack trace ---
   at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
   at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at ism7mqtt.Ism7Client.ConnectAsync(CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 86
   at ism7mqtt.Ism7Client.RunAsync(String password, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 50
   at ism7mqtt.Program.Main(String[] args) in /app/ism7mqtt/Program.cs:line 136
Unhandled exception. System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
 ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
 ---> Interop+Crypto+OpenSslCryptographicException: error:0A0000F4:SSL routines::unexpected message
   --- End of inner exception stack trace ---
   at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
   at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at ism7mqtt.Ism7Client.ConnectAsync(CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 86
   at ism7mqtt.Ism7Client.RunAsync(String password, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 50
   at ism7mqtt.Program.Main(String[] args) in /app/ism7mqtt/Program.cs:line 136
   at ism7mqtt.Program.<Main>(String[] args)
> <?xml version="1.0" encoding="utf-16"?><direct-logon-request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><password>mKfippw0</password></direct-logon-request>
< <?xml version="1.0" encoding="utf-8"?><direct-logon-response state="ok" sid=""><installationname>WolfLink</installationname><serialnumber>408432191c03</serialnumber><date-time>2023-12-23T04:37:22</date-time><ism-softwareversion>300.10.1.300.300.1</ism-softwareversion><ism-hardwareversion>3.0</ism-hardwareversion><type>WOLFLink</type></direct-logon-response>
> <?xml version="1.0" encoding="utf-16"?><tbreq xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" bn="1" gw="1" ae="false" ty="pull"><ird in="0" se="" ba="0x00" /><ird in="0" se="" ba="0x00" /><ird in="0" se="" ba="0x00" /><ird in="0" se="" ba="0x00" /></tbreq>
> <?xml version="1.0" encoding="utf-16"?><tbreq xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" bn="2" gw="1" ae="false" ty="pull"><ird in="10121" se="" ba="0x35" /><ird in="271" se="" ba="0x35" /><ird in="388" se="" ba="0x35" /><ird in="257" se="" ba="0x35" /><ird in="35" se="" ba="0x35" /><ird in="701" se="" ba="0x35" /><ird in="702" se="" ba="0x35" /><ird in="408" se="" ba="0x35" /><ird in="41" se="" ba="0x35" /><ird in="42" se="" ba="0x35" /><ird in="10141" se="" ba="0x35" /><ird in="10161" se="" ba="0x35" /><ird in="10160" se="" ba="0x35" /><ird in="10150" se="" ba="0x35" /><ird in="10145" se="" ba="0x35" /><ird in="10180" se="" ba="0x35" /><ird in="10117" se="" ba="0x35" /><ird in="10163" se="" ba="0x35" /><ird in="10162" se="" ba="0x35" /><ird in="10185" se="" ba="0x35" /><ird in="10165" se="" ba="0x35" /><ird in="10920" se="" ba="0x35" /><ird in="10912" se="" ba="0x35" /><ird in="10195" se="" ba="0x35" /><ird in="618" se="" ba="0x35" /><ird in="10812" se="" ba="0x35" /><ird in="10130" se="" ba="0x35" /><ird in="265" se="" ba="0x35" /><ird in="1443" se="" ba="0x35" /><ird in="10920" se="" ba="0x35" /><ird in="10130" se="" ba="0x35" /><ird in="10185" se="" ba="0x35" /><ird in="10151" se="" ba="0x35" /><ird in="10152" se="" ba="0x35" /><ird in="10153" se="" ba="0x35" /><ird in="10154" se="" ba="0x35" /><ird in="10161" se="" ba="0x35" /><ird in="10160" se="" ba="0x35" /><ird in="10146" se="" ba="0x35" /><ird in="10147" se="" ba="0x35" /><ird in="10148" se="" ba="0x35" /><ird in="10149" se="" ba="0x35" /><ird in="10161" se="" ba="0x35" /><ird in="10160" se="" ba="0x35" /><ird in="10164" se="" ba="0x35" /><ird in="10179" se="" ba="0x35" /><ird in="10155" se="" ba="0x35" /><ird in="10156" se="" ba="0x35" /><ird in="10113" se="" ba="0x35" /><ird in="278" se="" ba="0x35" /><ird in="279" se="" ba="0x35" /><ird in="10109" se="" ba="0x35" /><ird in="651" se="" ba="0x35" /><ird in="10119" se="" ba="0x35" /><ird in="10107" se="" ba="0x35" /><ird in="10110" se="" ba="0x35" /><ird in="10111" se="" ba="0x35" /><ird in="10108" se="" ba="0x35" /><ird in="10159" se="" ba="0x35" /><ird in="10165" se="" ba="0x35" /><ird in="10100" se="" ba="0x35" /><ird in="10165" se="" ba="0x35" /><ird in="10100" se="" ba="0x35" /><ird in="5266" se="" ba="0x35" /><ird in="10109" se="" ba="0x35" /><ird in="10109" se="" ba="0x35" /><ird in="10164" se="" ba="0x35" /><ird in="10838" se="" ba="0x35" /><ird in="10839" se="" ba="0x35" /><ird in="10840" se="" ba="0x35" /><ird in="10841" se="" ba="0x35" /><ird in="10842" se="" ba="0x35" /><ird in="10843" se="" ba="0x35" /><ird in="10844" se="" ba="0x35" /><ird in="10845" se="" ba="0x35" /><ird in="10846" se="" ba="0x35" /><ird in="10847" se="" ba="0x35" /><ird in="10848" se="" ba="0x35" /><ird in="10849" se="" ba="0x35" /><ird in="10850" se="" ba="0x35" /><ird in="10851" se="" ba="0x35" /><ird in="10852" se="" ba="0x35" /><ird in="9024" se="" ba="0x35" /><ird in="9007" se="" ba="0x35" /><ird in="9028" se="" ba="0x35" /><ird in="10134" se="" ba="0x35" /><ird in="10158" se="" ba="0x35" /><ird in="19" se="" ba="0x35" /><ird in="10101" se="" ba="0x35" /><ird in="19" se="" ba="0x35" /><ird in="10101" se="" ba="0x35" /><ird in="10853" se="" ba="0x35" /><ird in="10854" se="" ba="0x35" /><ird in="10855" se="" ba="0x35" /><ird in="10856" se="" ba="0x35" /><ird in="10857" se="" ba="0x35" /><ird in="10858" se="" ba="0x35" /><ird in="10859" se="" ba="0x35" /><ird in="10860" se="" ba="0x35" /><ird in="10861" se="" ba="0x35" /><ird in="10862" se="" ba="0x35" /><ird in="10863" se="" ba="0x35" /><ird in="10864" se="" ba="0x35" /><ird in="10865" se="" ba="0x35" /><ird in="10866" se="" ba="0x35" /><ird in="10867" se="" ba="0x35" /></tbreq>
> <?xml version="1.0" encoding="utf-16"?><tbreq xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" bn="3" gw="1" ae="false" ty="pull"><ird in="13081" se="" ba="0x8" /><ird in="13002" se="" ba="0x8" /><ird in="13004" se="" ba="0x8" /><ird in="13006" se="" ba="0x8" /><ird in="2" se="" ba="0x8" /><ird in="12" se="" ba="0x8" /><ird in="13" se="" ba="0x8" /><ird in="14" se="" ba="0x8" /><ird in="19" se="" ba="0x8" /><ird in="22" se="" ba="0x8" /><ird in="367" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="12409" se="" ba="0x8" /><ird in="410" se="" ba="0x8" /><ird in="13080" se="" ba="0x8" /><ird in="10040" se="" ba="0x8" /><ird in="551" se="" ba="0x8" /><ird in="550" se="" ba="0x8" /><ird in="553" se="" ba="0x8" /><ird in="552" se="" ba="0x8" /><ird in="554" se="" ba="0x8" /><ird in="6105" se="" ba="0x8" /><ird in="10007" se="" ba="0x8" /><ird in="10010" se="" ba="0x8" /><ird in="10006" se="" ba="0x8" /><ird in="13060" se="" ba="0x8" /><ird in="13061" se="" ba="0x8" /><ird in="13062" se="" ba="0x8" /><ird in="10071" se="" ba="0x8" /><ird in="10078" se="" ba="0x8" /><ird in="10800" se="" ba="0x8" /><ird in="10814" se="" ba="0x8" /><ird in="10815" se="" ba="0x8" /><ird in="12373" se="" ba="0x8" /><ird in="12375" se="" ba="0x8" /><ird in="13073" se="" ba="0x8" /><ird in="13075" se="" ba="0x8" /><ird in="12376" se="" ba="0x8" /><ird in="12379" se="" ba="0x8" /><ird in="12380" se="" ba="0x8" /><ird in="12383" se="" ba="0x8" /><ird in="12385" se="" ba="0x8" /><ird in="12389" se="" ba="0x8" /><ird in="12391" se="" ba="0x8" /><ird in="12392" se="" ba="0x8" /><ird in="12393" se="" ba="0x8" /><ird in="12394" se="" ba="0x8" /><ird in="12396" se="" ba="0x8" /><ird in="13057" se="" ba="0x8" /><ird in="12397" se="" ba="0x8" /><ird in="12398" se="" ba="0x8" /><ird in="12400" se="" ba="0x8" /><ird in="12399" se="" ba="0x8" /><ird in="12411" se="" ba="0x8" /><ird in="12410" se="" ba="0x8" /><ird in="12413" se="" ba="0x8" /><ird in="12412" se="" ba="0x8" /><ird in="12435" se="" ba="0x8" /><ird in="13070" se="" ba="0x8" /><ird in="13071" se="" ba="0x8" /><ird in="13076" se="" ba="0x8" /><ird in="13077" se="" ba="0x8" /><ird in="13000" se="" ba="0x8" /><ird in="13001" se="" ba="0x8" /><ird in="13002" se="" ba="0x8" /><ird in="13003" se="" ba="0x8" /><ird in="13004" se="" ba="0x8" /><ird in="13005" se="" ba="0x8" /><ird in="13006" se="" ba="0x8" /><ird in="13007" se="" ba="0x8" /><ird in="12009" se="" ba="0x8" /><ird in="13008" se="" ba="0x8" /><ird in="13009" se="" ba="0x8" /><ird in="12012" se="" ba="0x8" /><ird in="13010" se="" ba="0x8" /><ird in="12014" se="" ba="0x8" /><ird in="12015" se="" ba="0x8" /><ird in="13011" se="" ba="0x8" /><ird in="12017" se="" ba="0x8" /><ird in="13012" se="" ba="0x8" /><ird in="13013" se="" ba="0x8" /><ird in="12020" se="" ba="0x8" /><ird in="384" se="" ba="0x8" /><ird in="12022" se="" ba="0x8" /><ird in="13016" se="" ba="0x8" /><ird in="13017" se="" ba="0x8" /><ird in="13018" se="" ba="0x8" /><ird in="13019" se="" ba="0x8" /><ird in="13020" se="" ba="0x8" /><ird in="13021" se="" ba="0x8" /><ird in="13022" se="" ba="0x8" /><ird in="13063" se="" ba="0x8" /><ird in="13023" se="" ba="0x8" /><ird in="12052" se="" ba="0x8" /><ird in="13024" se="" ba="0x8" /><ird in="12057" se="" ba="0x8" /><ird in="13025" se="" ba="0x8" /><ird in="12060" se="" ba="0x8" /><ird in="12061" se="" ba="0x8" /><ird in="13026" se="" ba="0x8" /><ird in="13027" se="" ba="0x8" /><ird in="12006" se="" ba="0x8" /><ird in="13028" se="" ba="0x8" /><ird in="13029" se="" ba="0x8" /><ird in="13030" se="" ba="0x8" /><ird in="13031" se="" ba="0x8" /><ird in="13032" se="" ba="0x8" /><ird in="12089" se="" ba="0x8" /><ird in="13033" se="" ba="0x8" /><ird in="12091" se="" ba="0x8" /><ird in="13034" se="" ba="0x8" /><ird in="13035" se="" ba="0x8" /><ird in="13036" se="" ba="0x8" /><ird in="13037" se="" ba="0x8" /><ird in="13038" se="" ba="0x8" /><ird in="12103" se="" ba="0x8" /><ird in="13082" se="" ba="0x8" /><ird in="13039" se="" ba="0x8" /><ird in="13040" se="" ba="0x8" /><ird in="13042" se="" ba="0x8" /><ird in="13043" se="" ba="0x8" /><ird in="13044" se="" ba="0x8" /><ird in="12120" se="" ba="0x8" /><ird in="10873" se="" ba="0x8" /><ird in="13079" se="" ba="0x8" /><ird in="13078" se="" ba="0x8" /><ird in="410" se="" ba="0x8" /><ird in="10877" se="" ba="0x8" /><ird in="10878" se="" ba="0x8" /><ird in="10879" se="" ba="0x8" /><ird in="10880" se="" ba="0x8" /><ird in="13098" se="" ba="0x8" /><ird in="13099" se="" ba="0x8" /><ird in="13100" se="" ba="0x8" /><ird in="10888" se="" ba="0x8" /><ird in="10881" se="" ba="0x8" /><ird in="10882" se="" ba="0x8" /><ird in="10883" se="" ba="0x8" /><ird in="10884" se="" ba="0x8" /><ird in="10886" se="" ba="0x8" /><ird in="10885" se="" ba="0x8" /><ird in="10892" se="" ba="0x8" /><ird in="10891" se="" ba="0x8" /><ird in="10894" se="" ba="0x8" /><ird in="10893" se="" ba="0x8" /><ird in="10896" se="" ba="0x8" /><ird in="10895" se="" ba="0x8" /><ird in="10898" se="" ba="0x8" /><ird in="10897" se="" ba="0x8" /><ird in="10900" se="" ba="0x8" /><ird in="10899" se="" ba="0x8" /><ird in="13053" se="" ba="0x8" /><ird in="13056" se="" ba="0x8" /><ird in="13048" se="" ba="0x8" /><ird in="13049" se="" ba="0x8" /><ird in="13050" se="" ba="0x8" /></tbreq>
< <?xml version="1.0" encoding="utf-8"?><tbres bn="1" gw="" st="OK" ts="2023-12-23T04:37:22" emsg=""><irs se="0" ba="0x0" in="0" st="ER"/><irs se="0" ba="0x0" in="0" st="ER"/><irs se="0" ba="0x0" in="0" st="ER"/><irs se="0" ba="0x0" in="0" st="ER"/></tbres>
>
System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
 ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
 ---> Interop+Crypto+OpenSslCryptographicException: error:0A0000F4:SSL routines::unexpected message
   --- End of inner exception stack trace ---
   at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
   at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at ism7mqtt.Ism7Client.ConnectAsync(CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 86
   at ism7mqtt.Ism7Client.RunAsync(String password, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 50
   at ism7mqtt.Program.Main(String[] args) in /app/ism7mqtt/Program.cs:line 136
Unhandled exception. System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
 ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
 ---> Interop+Crypto+OpenSslCryptographicException: error:0A0000F4:SSL routines::unexpected message
   --- End of inner exception stack trace ---
   at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
   at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at ism7mqtt.Ism7Client.ConnectAsync(CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 86
   at ism7mqtt.Ism7Client.RunAsync(String password, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 50
   at ism7mqtt.Program.Main(String[] args) in /app/ism7mqtt/Program.cs:line 136
   at ism7mqtt.Program.<Main>(String[] args)
System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
 ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
 ---> Interop+Crypto+OpenSslCryptographicException: error:0A0000F4:SSL routines::unexpected message
   --- End of inner exception stack trace ---
   at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
   at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at ism7mqtt.Ism7Client.ConnectAsync(CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 86
   at ism7mqtt.Ism7Client.RunAsync(String password, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 50
   at ism7mqtt.Program.Main(String[] args) in /app/ism7mqtt/Program.cs:line 136
Unhandled exception. System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
 ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
 ---> Interop+Crypto+OpenSslCryptographicException: error:0A0000F4:SSL routines::unexpected message
   --- End of inner exception stack trace ---
   at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
   at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at ism7mqtt.Ism7Client.ConnectAsync(CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 86
   at ism7mqtt.Ism7Client.RunAsync(String password, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 50
   at ism7mqtt.Program.Main(String[] args) in /app/ism7mqtt/Program.cs:line 136
   at ism7mqtt.Program.<Main>(String[] args)

Restarting ism7mqtt and the connection was established instantly without handshake errors.

supported ciphers according to nmap match TLS_RSA_WITH_AES_256_CBC_SHA256 in the code

alexander@al:/home/alexander > nmap --script ssl-enum-ciphers -p 9092 172.23.13.15
Starting Nmap 7.80 ( https://nmap.org ) at 2023-12-23 10:20 CET
Nmap scan report for 172.23.13.15
Host is up (0.0025s latency).

PORT     STATE SERVICE
9092/tcp open  XmlIpcRegSvc
| ssl-enum-ciphers:
|   TLSv1.0:
|     ciphers:
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
ansysic commented 3 months ago

Same here. After I guess 24h the errors occur. A reboot of the container fixes the issue immediately.

ism7mqtt_1  | System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer.
ism7mqtt_1  |  ---> System.Net.Sockets.SocketException (104): Connection reset by peer
ism7mqtt_1  |    --- End of inner exception stack trace ---
ism7mqtt_1  |    at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
ism7mqtt_1  |    at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
ism7mqtt_1  |    at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](TIOAdapter adapter)
ism7mqtt_1  |    at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](TIOAdapter adapter, Memory`1 buffer)
ism7mqtt_1  |    at ism7mqtt.Ism7Client.FillPipeAsync(PipeWriter target, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 166
ism7mqtt_1  |    at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
ism7mqtt_1  |    at System.IO.Pipelines.Pipe.GetReadAsyncResult()
ism7mqtt_1  |    at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 190

Edit: Maybe these errors occur sporadically and the program continues to work afterwards. Will keep an eye on it.