On Tue, Sep 22, 2020 at 11:15:39AM -0500, Eric Blake wrote: > When using nbdsh for scripting, it is convenient to let nbdsh fail > with status 1 when encountering an API failure. However, doing so by > letting the nbd.Error exception leak all the way causes ABRT (at least > on Fedora 32 with abrt-python3-handler installed) to assume the > program crashed from a programming error, and needlessly complicates > clients to have to add try: blocks. Better is if nbdsh itself handles > the problem, and only prints a stack trace when debugging is in > effect, but otherwise just prints the error message. In this way, the > user is not presented with a wall of python stack trace, and ABRT does > not think that the exception was unhandled. > > See https://github.com/libguestfs/nbdkit/commit/e13048fd9 for an > example of client cleanup made more verbose if we don't patch libnbd. > --- > > On IRC, we decided that printing the stack trace can be useful when > debugging (if -c triggers calls through some deeply-nested python > code), but generally gets in the way for default behavior. > > python/nbdsh.py | 20 ++++++++++++++++---- > sh/test-error.sh | 23 ++++++++++++++++++++++- > 2 files changed, 38 insertions(+), 5 deletions(-)
Reviewed-by: Daniel P. Berrangé <[email protected]> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
