From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Fehlig Subject: Re: [PATCH 00/12] libxl: fork: SIGCHLD flexibility Date: Thu, 23 Jan 2014 21:27:03 -0700 Message-ID: <52E1EB97.4080007@suse.com> References: <1389975845-1195-1-git-send-email-ian.jackson@eu.citrix.com> <52D9AECF.6050309@suse.com> <52DD678F.3070504@suse.com> <21214.37402.648941.864060@mariner.uk.xensource.com> <52DF57E2.2090602@suse.com> <52E09513.6060603@suse.com> <21216.62800.746512.422459@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <21216.62800.746512.422459@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Jackson Cc: xen-devel@lists.xensource.com, Ian Campbell List-Id: xen-devel@lists.xenproject.org Ian Jackson wrote: > Jim Fehlig writes ("Re: [Xen-devel] [PATCH 00/12] libxl: fork: SIGCHLD flexibility"): > >> It appears the timeout_modify callback is invoked on a previously >> deregistered timeout. I didn't notice the segfault when running >> libvirtd under valgrind, but did see >> > > Hmmm. This could be a libxl problem. I'll review the code again and > maybe think about adding some assertions. > BTW, I only see the crash when the save/restore script is running. I stopped the other scripts and domains, running only save/restore on a single domain, and see the crash rather quickly (within 10 iterations). > But I've slept on this and I had an idea about libvirt's rescheduling > timeouts. I'm not so thrilled with the timeout handling code in the libvirt libxl driver. The driver maintains a list of active timeouts because IIRC, there were cases when the driver received timeout deregistrations when calling libxl_ctx_free, at which point some of the associated structures were freed. The idea was to call libxl_osevent_occurred_timeout on any active timeouts before freeing libxlDomainObjPrivate and its contents. Regards, Jim