Conversation
|
Doesn't it just die with the backtrace already? There's nothing else to catch the exception so by default it goes to stderr. |
|
I thought it should too :( I removed the try/catch and was seeing the stack trace in the stderr if I manually launched the node but it was not making it into the logs at all until I added this deliberate logging. Only other thing I know that might cause that would be if there was a separate worker thread spawning that threw the exception? Didn't think that was the case in |
|
If the exception were thrown on another thread, you wouldn't have been able to catch it here. Seems like this is a shortcoming of our logging setup we should try to solve at a different layer so we catch any such instance. I wonder if you could sic a coding agent on making a reduced test case, i.e., a container with a similar logging config as ours, that runs a bare minimum ROS node that just throws an exception? Or makes a url lib request to a non-existent page? |
|
This PR looks good to me. But yeah I agree that it'd be better if these errors were caught at a different level, so users don't have to write this boilerplate for every node. I wonder if any other existing nodes could silently fail in a similar manner. |
rgov
left a comment
There was a problem hiding this comment.
I think we should close this in favor of a solution that addresses missing logs across all ROS nodes.
|
Instead of closing this, can we merge it and create an issue to look for a more robust solution? This will bite again. |
|
I don't yet understand how it works. Is it possible the improvement seen in testing can be attributed to something else? |
DL node has been silently failing for me, need to explicitly log the traceback to see simple failures modes; e.g. bad IP