[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] fix error handler index in xm
CL> I've reverted this check-in because with the change applied, the CL> error messages are incorrect: Ok, so the problem is rooted in the way the args list is manipulated in the subcommand handlers. As it stands now (without the patch), some commands give a good error message, while others dump a stack trace if the domain doesn't exist: # xm destroy foo Error: Domain 'foo' not found when running 'xm destroy' # xm domid foo Traceback (most recent call last): File "/usr/sbin/xm", line 10, in ? main.main(sys.argv) File "/usr/lib/python/xen/xm/main.py", line 671, in main handle_xend_error(argv[1], args[1], ex) IndexError: list index out of range This is because destroy adds "bogus" into the args list at index 0, but domid does not. I've attached a new patch that checks for this condition, and removes the "bogus" entry from the list if the subcommand added it. This makes the call to handle_xend_error() work in both situations: # xm destroy foo Error: Domain 'foo' not found when running 'xm destroy' # xm domid foo Error: Domain 'foo' not found when running 'xm domid' Is that an acceptable solution for now? Perhaps a cleanup of the inconsistent subcommand handler behavior is in order. I can do that when I start work on the remaining interface changes. diff -r b74c15e4dd4f tools/python/xen/xm/main.py --- a/tools/python/xen/xm/main.py Wed Aug 24 16:15:42 2005 +++ b/tools/python/xen/xm/main.py Wed Aug 24 09:36:32 2005 @@ -665,8 +665,10 @@ err("Most commands need root access. Please try again as root") sys.exit(1) except XendError, ex: + if args[0] == "bogus": + args.remove("bogus") if len(args) > 0: - handle_xend_error(argv[1], args[1], ex) + handle_xend_error(argv[1], args[0], ex) else: print "Unexpected error:", sys.exc_info()[0] print -- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms@xxxxxxxxxx _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |