You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@plc4x.apache.org by "Łukasz Dywicki (Jira)" <ji...@apache.org> on 2022/02/17 17:13:00 UTC

[jira] [Created] (PLC4X-334) SocketCAN transport disconnections

Łukasz Dywicki created PLC4X-334:
------------------------------------

             Summary: SocketCAN transport disconnections
                 Key: PLC4X-334
                 URL: https://issues.apache.org/jira/browse/PLC4X-334
             Project: Apache PLC4X
          Issue Type: Bug
          Components: Driver-CANopen, PLC4J
    Affects Versions: 0.8.0
            Reporter: Łukasz Dywicki
            Assignee: Łukasz Dywicki


SocketCAN transport can silently die due to swallowed exceptions:

{code}
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) [?:?]
{code}
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.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)