[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Unable to start a domain with no disks



On Fri, 2012-10-12 at 16:50 +0100, Ian Campbell wrote:
> On Fri, 2012-10-12 at 16:45 +0100, Ian Campbell wrote:
> > Trying to start a very simple domain with no disk from:
> >         name="x"
> >         memory=128
> >         kernel="/scratch/debian/squeeze/amd64/vmlinuz"
> >         ramdisk="/scratch/debian/squeeze/amd64/initrd.gz"
> >         extra="console=hvc0"
> >         vcpus=1
> > Results in:
> >         xl: libxl_event.c:1522: libxl__ao_complete_check_progress_reports: 
> > Assertion `ao->in_initiator' failed.
> > if I try to autoconnnect the console (ie. xl cr -c).
> > 
> > If I don't try and auto connect to the console then everything is fine
> > and I can subsequently use "xl cons" to connect.
> 
> This makes the issue go away but since this function also free's the ao
> I think there must be a use after free somewhere.

valgrind shows a couple of these sorts of use after free:
==5986== Invalid read of size 4
==5986==    at 0x4079323: libxl__egc_cleanup (libxl_event.c:1091)
==5986==    by 0x405E088: do_domain_create (libxl_create.c:1204)
==5986==    by 0x405E13E: libxl_domain_create_new (libxl_create.c:1225)
==5986==    by 0x805C5A6: create_domain (xl_cmdimpl.c:1932)
==5986==    by 0x805DED1: main_create (xl_cmdimpl.c:3973)
==5986==    by 0x804D41D: main (xl.c:285)
==5986==  Address 0x42af134 is 28 bytes inside a block of size 1,780 free'd
==5986==    at 0x4024F99: free (vg_replace_malloc.c:446)
==5986==    by 0x406E5A4: libxl__free_all (libxl_internal.c:74)
==5986==    by 0x4077B31: libxl__ao__destroy (libxl_event.c:1472)
==5986==    by 0x4079881: libxl__ao_inprogress (libxl_event.c:1638)
==5986==    by 0x405E042: do_domain_create (libxl_create.c:1204)
==5986==    by 0x405E13E: libxl_domain_create_new (libxl_create.c:1225)
==5986==    by 0x805C5A6: create_domain (xl_cmdimpl.c:1932)
==5986==    by 0x805DED1: main_create (xl_cmdimpl.c:3973)
==5986==    by 0x804D41D: main (xl.c:285)

And a bunch of:
==5986== Invalid read of size 4
==5986==    at 0x4079378: libxl__egc_cleanup (libxl_event.c:1094)
==5986==    by 0x405E088: do_domain_create (libxl_create.c:1204)
==5986==    by 0x405E13E: libxl_domain_create_new (libxl_create.c:1225)
==5986==    by 0x805C5A6: create_domain (xl_cmdimpl.c:1932)
==5986==    by 0x805DED1: main_create (xl_cmdimpl.c:3973)
==5986==    by 0x804D41D: main (xl.c:285)
==5986==  Address 0x42aef60 is 8 bytes inside a block of size 56 free'd
==5986==    at 0x4024F99: free (vg_replace_malloc.c:446)
==5986==    by 0x4077B39: libxl__ao__destroy (libxl_event.c:1473)
==5986==    by 0x4079881: libxl__ao_inprogress (libxl_event.c:1638)
==5986==    by 0x405E042: do_domain_create (libxl_create.c:1204)
==5986==    by 0x405E13E: libxl_domain_create_new (libxl_create.c:1225)
==5986==    by 0x805C5A6: create_domain (xl_cmdimpl.c:1932)
==5986==    by 0x805DED1: main_create (xl_cmdimpl.c:3973)
==5986==    by 0x804D41D: main (xl.c:285)

The last of which is:
==5986== Invalid read of size 4
==5986==    at 0x40787BC: libxl__ao_complete_check_progress_reports 
(libxl_event.c:1521)
==5986==    by 0x407938A: libxl__egc_cleanup (libxl_event.c:1095)
==5986==    by 0x405E088: do_domain_create (libxl_create.c:1204)
==5986==    by 0x405E13E: libxl_domain_create_new (libxl_create.c:1225)
==5986==    by 0x805C5A6: create_domain (xl_cmdimpl.c:1932)
==5986==    by 0x805DED1: main_create (xl_cmdimpl.c:3973)
==5986==    by 0x804D41D: main (xl.c:285)
==5986==  Address 0x42aef80 is 40 bytes inside a block of size 56 free'd
==5986==    at 0x4024F99: free (vg_replace_malloc.c:446)
==5986==    by 0x4077B39: libxl__ao__destroy (libxl_event.c:1473)
==5986==    by 0x4079881: libxl__ao_inprogress (libxl_event.c:1638)
==5986==    by 0x405E042: do_domain_create (libxl_create.c:1204)
==5986==    by 0x405E13E: libxl_domain_create_new (libxl_create.c:1225)
==5986==    by 0x805C5A6: create_domain (xl_cmdimpl.c:1932)
==5986==    by 0x805DED1: main_create (xl_cmdimpl.c:3973)
==5986==    by 0x804D41D: main (xl.c:285)
==5986== 
xl: libxl_event.c:1522: libxl__ao_complete_check_progress_reports: Assertion 
`ao->in_initiator' failed.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.