From: Yu Zhiguo Subject: Re: [PATCH] lowlevel: Fix Segmentation fault of xend Date: Tue, 22 Jun 2010 08:58:32 +0800 Message-ID: <4C200AB8.1090602@cn.fujitsu.com> References: <4C1C6245.9050402@cn.fujitsu.com> <19487.28964.896548.315319@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <19487.28964.896548.315319@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Jackson Cc: "xen-devel@lists.xensource.com" , Keir Fraser List-Id: xen-devel@lists.xenproject.org Hi Ian, Ian Jackson wrote: > > It is wrong to call xc_clear_last_error with a NULL xc_interface*. > If xend is doing this it is probably a bug in the python xc lowlevel > interface. Can you get a stack trace please so that we can fix the > call site ? > The stack trace is PyXc_init() -> pyxc_error_to_exception(0) -> xc_clear_last_error() So fix it in pyxc_error_to_exception(). Thanks for your reply. V2 is following. ----------------- If /proc/xen/privcmd cannot be opened, start xend occurs Segmentation fault. Add check to fix it. Signed-off-by: Yu Zhiguo diff -r 72c6228b5f0f -r bd3bf925f4ce tools/python/xen/lowlevel/xc/xc.c --- a/tools/python/xen/lowlevel/xc/xc.c Mon Jun 21 19:19:25 2010 +0100 +++ b/tools/python/xen/lowlevel/xc/xc.c Tue Jun 22 17:02:30 2010 +0800 @@ -72,7 +72,8 @@ else pyerr = Py_BuildValue("(is)", err->code, desc); - xc_clear_last_error(xch); + if (xch) + xc_clear_last_error(xch); if ( pyerr != NULL ) {