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

Re: [Xen-devel] libxl: cannot start guest

On Mon, 2012-05-21 at 16:44 +0100, Christoph Egger wrote:

> I reverted my local change and retried. See below.
>  > the only other exit path from that function is:
> >     dom_path = libxl__xs_get_dompath(gc, domid);
> >     if (!dom_path) {
> >         return ERROR_FAIL;
> >     }
> > which is consistent with the original errors you had (but if ERROR_FAIL,
> > not ERROR_INVAL). This doesn't really help me figure out what is going
> > on though :-/
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=hda spec.backend=unknown
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=hda, using backend phy
> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002
> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
> libxl_sched_credit_domain_set failed -6
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=hda spec.backend=phy
> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
> dompath for 7: Bad file descriptor

This is back to the original issue, I think the last couple of mails
have been something of a tangent since you weren't getting as far as
this failure.

I'm not really sure what to suggest here -- something is either closing
the fd or scribbling over the memory which contains it.

I suppose you could sprinkle calls to libxl__xs_get_dompath() around
between libxl__sched_set_params and libxl__device_disk_set_backend and
see where it starts failing -- that's going to be pretty tedious though.

If you've got the gdb-fu you might be able to set a write watch on the
location in the ctx with the fd -- could tell you something perhaps.

Otherwise perhaps bisection is the best bet?

> for path /local/domain/0/device-model/7/state: Bad file descriptor
> libxl: error: libxl_dm.c:1072:device_model_spawn_outcome: domain 7
> device model: spawn failed (rc=-3)
> assertion "ao->in_initiator" failed: file "libxl_event.c", line 1388,
> function "libxl__ao_complete_check_progress_reports"
> Abort (core dumped)
> (gdb) bt

Can you tell if the xs fd is still actually open at this point? On Linux
I would look in /proc/<ipd>/fds for the socket.

Also can you print out the xsh from the ctx (perhaps that's easier from
e.g. frame #7 below?)

Also the ao failure smells like bad error handling resulting from the
underlying issue, which might be worth someone investigating separately.

> #0  0x00007f7ff65059aa in _lwp_kill () from /usr/lib/libc.so.12
> #1  0x00007f7ff6505612 in abort () from /usr/lib/libc.so.12
> #2  0x00007f7ff65052dd in __assert13 () from /usr/lib/libc.so.12
> #3  0x00007f7ff742d114 in libxl__ao_complete_check_progress_reports (
>     egc=0x7f7fffffd140, ao=0x7f7ff7b210e0) at libxl_event.c:1388
> #4  0x00007f7ff742d2ec in egc_run_callbacks (egc=0x7f7fffffd140)
>     at libxl_event.c:971
> #5  libxl__egc_cleanup (egc=0x7f7fffffd140) at libxl_event.c:991
> #6  0x00007f7ff741890f in do_domain_create (ctx=0x7f7ff7b210b8,
>     d_config=<optimized out>, domid=<optimized out>,
> restore_fd=<optimized out>,
>     ao_how=<optimized out>, aop_console_how=0x7f7fffffffff) at
> libxl_create.c:905
> #7  0x00007f7ff741893e in libxl_domain_create_new (ctx=<optimized out>,
>     d_config=<optimized out>, domid=<optimized out>, ao_how=<optimized
> out>,
>     aop_console_how=<optimized out>) at libxl_create.c:926
> #8  0x000000000040c4d9 in create_domain (dom_info=0x7f7fffffd630)
>     at xl_cmdimpl.c:1760
> #9  0x0000000000410161 in main_create (argc=3, argv=<optimized out>)
>     at xl_cmdimpl.c:3730
> #10 0x0000000000406d86 in main (argc=3, argv=0x7f7fffffdba0) at xl.c:208
> Christoph

Xen-devel mailing list



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