Open brunorijsman opened 1 year ago
Hey Bruno, thanks for opening the issue!
Point 2: We currently have a fix for this issue mostly in-place (see closed PR here) - we're just waiting on pushing it to PyPI. Should be resolved by the end of the week.
Point 1: Though the exception is now thrown & printed (see above), it will still hang. In normal usage, one can Ctrl+C once they see an appropriate exception printed, but this will be a problem for scripts. Unfortunately, this is an issue deeper in the actual simulator code, so we cannot fix it in QNE-ADK. We will try and fix the core issue, but there's no guarantees that this will be soon. I will see if I can find a workaround (maybe by looking at stderr
).
Point 3: I'll open an internal ticket for this, shouldn't be too difficult to fix.
One more thing: if the application throws an exception, the log files are not produced. In other words, any messages written to an app_logger don't appear in any log file. This (combined with the fact that the output of print statements don't appear anywhere) makes it nearly impossible to debug the sequence of events that lead up to the exception.
qne experiment run
does not handle exceptions thrown by the application well:The experiment does not terminate immediately when the application throws the exception; instead the experiment run hangs for 60 seconds and then terminates with a
TimeoutExpired
exceptionThe output of
qne experiment run
(which actually does contain the call stack of the root cause exception hidden inside of it) is very difficult to read because all newlines have been replaced by/n
(see example output below)In the case of an error, the
qne experiment run
command still returns status code$?
zero, instead of a non-zero status code. This makes it difficult to check for failures in scriptsTo reproduce: throw some exception (e.g.
x = 1/0
in the application code)Example output: