locka99 / opcua

A client and server implementation of the OPC UA specification written in Rust
Mozilla Public License 2.0
480 stars 129 forks source link

Write bytes task is in error #179

Closed lovasoa closed 2 years ago

lovasoa commented 2 years ago

Since the latest update, when trying to connect to the opcua server from ignition (by inductive automation), the server logs the following error, and the connection fails. Nothing more is logged.

[2022-03-24T13:43:24.575Z ERROR opcua_server::comms::tcp_transport] Write bytes task is in error
locka99 commented 2 years ago

When you say latest update, which commit is that? I have updated the versions to 0.10 but there should be no changes to the code. However, one recent change requested was to loosen the tokio requirement from a specific version e.g. 1.18, to just 1.x.

lovasoa commented 2 years ago

The bug started appearing when upgrading from 0.8.1 to 0.9.0: https://crates.io/crates/opcua-server/versions

It may be a consequence of https://github.com/locka99/opcua/issues/182 , the error appears in the logs after the unsuccessful connection from the java client, (the packet dump of which is in https://github.com/locka99/opcua/issues/182 ). It seems that this server isn't able to properly close the connection after the failed connection.

lovasoa commented 2 years ago

You can reproduce it with a fresh milo client, for instance with https://hub.docker.com/r/inductiveautomation/ignition