-
-
Notifications
You must be signed in to change notification settings - Fork 205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
isotp error handler not propagated to uds connection #233
Comments
In general i might be that the protocol._stop_receiving() or _stop_sending() call is not propagated to the listener. not all error_handler calls abort the reception. |
Did the following hack to work around it:
Then hook that transport error into the isotp.CanStack.
But it gets ugly due to when and how the transport_error is registered. Maybe the recv() function of isotp should be changed to propagate these exceptions? In my case it's usually been "FlowControlTimeoutError: Reception of FlowControl timed out. Stopping transmission" that causes issues. |
Thanks, I see what you mean. The error should be reported to the upper layer. |
When a isotp error occurs, it triggers a call to a callback, that one can supply to the constructor of the isotp stack called
error_handler
. The default of this callback is to just log an message to log.The uds stack should be informed of this error and abort on-going requests in PythonIsoTpConnection.specific_wait_frame. With log request timeouts, it can take a long time for the request to abort. It also aborts with a TimeoutException instead of the actual low level fault.
The text was updated successfully, but these errors were encountered: