On Mon, 2021-08-09 at 21:38 +0100, Julien Grall wrote: > On 09/08/2021 18:35, Julien Grall wrote: > > > > This implies that a pCPU may temporarily be assigned to two vCPUs > > and we > > expect to be fixed up afterwards. However, a domain may be > > destroyed > > before this is happening. > > > > So it looks like that unit_deassign() is not able to cope with this > > case. From a brief look, I think we may want to check if the pCPU > > is in > > the wait list. If it is, then we should bail out. > > Actually, I was wrong. It looks like null_unit_remove() is already > checking this condition. Also, the vCPU should be offline (and the > unit > as well) because they haven't come online yet: > That's what is currently puzzling me. I mean, the crash happens in unit_deassign(), called by null_unit_remove(), called by sched_destroy_vcpu(). And I agree that the unit should be offline, but null_unit_remove() calls unit_deassign() only if the unit *is* online, so... What's going on? :-/ Regards -- Dario Faggioli, Ph.D http://about.me/dario.faggioli Virtualization Software Engineer SUSE Labs, SUSE https://www.suse.com/ ------------------------------------------------------------------- <> (Raistlin Majere)