plc4x icon indicating copy to clipboard operation
plc4x copied to clipboard

SocketCAN transport disconnections

Open ottlukas opened this issue 3 years ago • 2 comments

SocketCAN transport can silently die due to swallowed exceptions:


2022-02-16 18:28:11.134 [WARN ] [io.netty.channel.DefaultChannelPipeline] - An exceptionCaught() event
was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline
did not handle the exception.
tel.schich.javacan.linux.LinuxNativeOperationException: Unable to read
from the socket - errorNumber=100, errorMessage='Network is down'
    at tel.schich.javacan.SocketCAN.read(Native
Method)
    at tel.schich.javacan.AbstractCanChannel.readSocket(AbstractCanChannel.java:160)
    at
tel.schich.javacan.RawCanChannelImpl.readUnsafe(RawCanChannelImpl.java:82) 
    at org.apache.plc4x.java.transport.socketcan.netty.SocketCANChannel.lambda$doConnect$0(SocketCANChannel.java:118)
 
  at java.lang.Thread.run(Thread.java:834) [?:?]

This error happened within an hour of application start so its most likely related to some CAN instability, however what's important is lack of proper handling of error. The connection in theory was still alive, however there was no data coming over it any more.

Imported from Jira PLC4X-334. Original Jira may contain additional context. Reported by: ldywicki.

ottlukas avatar Nov 09 '22 10:11 ottlukas

@splatch Is this still an issue?

chrisdutz avatar Feb 06 '24 10:02 chrisdutz

I am afraid it is still an issue, I'd need to consult javacan if there is a way to spot shutdown of the interface.

splatch avatar Feb 06 '24 10:02 splatch