KNX Falcon SDK DisposeAsync seems to have a deadlock
I have an issue within the Falcon SDK 6.1.6264.
When the bus connection (ip tunneling secure) is interrupted and broken, in can happen that the AutoReconnect does not work at all, and when I try to Dispose the Connection, that the DisposeAsync call never gets returned - seems to be a deadlock somewhere.
Any ideas? Do you need more insights?
[17:19:55 DBG] knxfalcon: [#1 [::ffff:192.168.8.110]:3671#16 OPEN_IDLE] SendDis
[17:19:55 DBG] knxfalcon: [#1 [::ffff:192.168.8.110]:3671#16 OPEN_IDLE] Send DISCONNECT_REQUEST CH=16
[17:19:55 DBG] knxfalcon: Send(tcp:[::ffff:192.168.8.110]:3671): SECURE_WRAPPER ssid=0001 seq=00000000002f ser=00FA:200C78DC tag=0000 inner=DISCONNECT_REQUEST CH=16 isAuth=True
[17:19:55 ERR] knxfalcon: Send(tcp:[::ffff:192.168.8.110]:3671) failed: Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host..
[17:19:55 ERR] knxfalcon: [#1 [::ffff:192.168.8.110]:3671#16 OPEN_IDLE] Processing > DISCONNECT_REQUEST CH=16 fails with exception: System.IO.IOException: Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host..
---> System.Net.Sockets.SocketException (10054): An existing connection was forcibly closed by the remote host.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.SendAsyncForNetworkStream(Socket socket, CancellationToken cancellationToken)
at System.Net.Sockets.NetworkStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
at at.z(bc A_0)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at at.z(bc A_0)
at ar.a(an A_0, bc A_1)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at ar.a(an A_0, bc A_1)
at ar.d.h(bc A_0)
at aw.a(bc A_0)
at aw.d(aw A_0, bc A_1)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at aw.d(aw A_0, bc A_1)
at gp.a(a A_0, c A_1, d A_2)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at gp.a(a A_0, c A_1, d A_2)
at aw.a(Trigger A_0, bc A_1)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at aw.a(Trigger A_0, bc A_1)
at aw.ah(g1 A_0)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at aw.ah(g1 A_0)
at gz.e()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
--- End of stack trace from previous location ---
--- End of inner exception stack trace ---
at at.z(bc A_0)
at ar.a(an A_0, bc A_1)
at aw.d(aw A_0, bc A_1)
at gp.a(a A_0, c A_1, d A_2)
at aw.a(Trigger A_0, bc A_1)
at aw.ah(g1 A_0)
at gz.e()
[17:19:58 WRN] knxfalcon: Falcon.KnxIp.Connection: Timeout waiting for Disconnect response
[17:19:58 WRN] knxfalcon: Falcon.KnxIp.Connection: Timeout waiting for Disconnect response
[17:19:58 DBG] knxfalcon: [#1 [::ffff:192.168.8.110]:3671#16 OPEN_IDLE] Complete
[17:19:58 INF] knxfalcon: [#1 [::ffff:192.168.8.110]:3671#16 OPEN_IDLE] Terminates
[17:19:58 DBG] knxfalcon: [#1 [::ffff:192.168.8.110]:3671#16 OPEN_IDLE] Complete
[17:20:46 DBG] knxfalcon: Disposed session on tcp:[::ffff:192.168.8.110]:3671
[17:20:46 DBG] knxfalcon: Disposed session on tcp:[::ffff:192.168.8.110]:3671
Commenti
0 commenti
Accedi per aggiungere un commento.