You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 15, 2019. It is now read-only.
If any unhandled exception occurs during BoardRunner.run, it will of course print a stacktrace and kill the subprocess, without calling make_safe.
A minimal solution to this would be to wrap the whole lot in a try block, with a finally: self.board.make_safe(). Even better, it could log the exception and attempt to continue running.
Note that currently exceptions can occur as a result of invalid input from the socket - for example, MotorBoard.command will throw a ValueError if any of the speed values are out of range. If this is the ideal response, then it is even more important that the BoardRunner be made resistant to exceptions.
This almost certainly applies to the master process (haven't checked though).
The text was updated successfully, but these errors were encountered:
On 27 July 2017 at 11:32, Alistair Lynn ***@***.***> wrote:
I'm not necessarily in favour of limping on in case of all exceptions.
Definite 👍 to not dying horribly when it's just a decoding issue from
the control socket.
Definite 👍 to always calling mark_safe.
As to if it's actually thrown another exception, I think it might be
better for the process to die and for the master process to re-start it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#13 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAznVIjwqDo-k-ZcXvLjIpwODFKqbcvYks5sSGcrgaJpZM4OjC-b>
.
If any unhandled exception occurs during
BoardRunner.run
, it will of course print a stacktrace and kill the subprocess, without callingmake_safe
.A minimal solution to this would be to wrap the whole lot in a try block, with a
finally: self.board.make_safe()
. Even better, it could log the exception and attempt to continue running.Note that currently exceptions can occur as a result of invalid input from the socket - for example,
MotorBoard.command
will throw aValueError
if any of the speed values are out of range. If this is the ideal response, then it is even more important that theBoardRunner
be made resistant to exceptions.This almost certainly applies to the master process (haven't checked though).
The text was updated successfully, but these errors were encountered: