| I'm running Xen 4.0.1-rc1-pre (21122:7d1d4abd8b44). 
In this version, and in all other Xen 3.5-unstable + versions that I've looked 
at, is this function in XendDomainInfo.py:
     def 
getStubdomDomid(self):dom_list = 
xstransact.List('/local/domain')
 for d in 
dom_list:
 target = xstransact.Read('/local/domain/' + d + 
'/target')
 if target is not None and int(target) is self.domid 
:
 return int(d)
 return 
None
 
 The bolded line has a bug in it, 
unfortunately. This function is used in domain destruction, and destruction 
works properly when a domain has a stubdom, but only until it reaches a domid of 
around 257. Past that, it breaks. This can be easily seen by 
simply starting a bunch of HVMs with stubdoms (I tested by creating + 
destroying the same one, over and over).   What's interesting is that the function works at 
all -- "is" really does not seem to be the right comparator to use 
here.   The fix is to change that line to 
read:
             if 
target is not None and int(target) == self.domid :
 I have patched all of my existing Xen installs, and 
tested the fix. This might make a good candidate for inclusion in 4.0.1, as well 
as xen-unstable (if it has the same piece of code).   -John Weekes |