All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Egger <Christoph_Egger@gmx.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: libxl: cannot start guest
Date: Tue, 22 May 2012 15:18:32 +0200	[thread overview]
Message-ID: <4FBB9228.70001@gmx.de> (raw)
In-Reply-To: <1337691225.10118.114.camel@zakaz.uk.xensource.com>

On 05/22/12 14:53, Ian Campbell wrote:

> On Tue, 2012-05-22 at 13:35 +0100, Christoph Egger wrote:
>> On 05/21/12 17:57, Ian Campbell wrote:
>>
>>>> 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
>>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>>   Loader:        0000000000100000->000000000019bd04
>>>>   TOTAL:         0000000000000000->00000000ff800000
>>>>   ENTRY ADDRESS: 0000000000100000
>>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>>   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.
>>
>>
>> It starts failing in libxl__build_post() right after
>> xs_introduce_domain().
> 
> What method did you use to determine that?




What you said:

"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"

 > So at the xs_transaction_end right before that ctx->xsh is valid, but

> right after...
>         xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
> ...it is invalid? i.e. before the free(vmpath) it is already corrupt?




Yes, you got it.

> 
> (Aside: why isn't vmpath in the gc, instead of done manually,
> nevermind...)
> 
> Does the xs_introduce_domain itself succeed?




No, it fails.

> Or do you mean that the next use of xsh after this fails

> (where is that, somewhere back up the callchain? store_libxl_entry
> perhaps?)

> 
> xs_introduce_domain doesn't seem to do much which is untoward with the
> handle.



I thinkIn xs_talkv() something must fail.

> The only thing which springs to mind is that it may generate an
> @IntroduceDomain watch event. However xl is single threaded so we won't
> process that event until we unwind to whichever point we do an event
> loop iteration, in which case the corruption would have to happen later
> than right after xs_introduce_domain().
> 
> Did you manage to determine if "Bad file descriptor" was due to it being
> closed vs. the value being corrupted?

My suspicion is that

   if (msg.type != type)

in xs_talkv() is true.

Christoph





-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

  parent reply	other threads:[~2012-05-22 13:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-18 13:17 libxl: cannot start guest Christoph Egger
2012-05-18 13:30 ` Ian Campbell
2012-05-18 14:23   ` Christoph Egger
2012-05-18 15:51     ` Christoph Egger
2012-05-18 15:58       ` Ian Campbell
2012-05-21 10:26         ` Christoph Egger
2012-05-21 12:15           ` Ian Campbell
2012-05-21 13:10             ` Christoph Egger
2012-05-21 13:49               ` Ian Campbell
2012-05-21 15:43                 ` Christoph Egger
2012-05-21 15:44                 ` Christoph Egger
2012-05-21 15:57                   ` Ian Campbell
2012-05-21 16:11                     ` Ian Jackson
2012-05-22 12:35                     ` Christoph Egger
2012-05-22 12:53                       ` Ian Campbell
2012-05-22 13:17                         ` Christoph Egger
2012-05-22 13:18                         ` Christoph Egger [this message]
2012-05-22 13:21                           ` Ian Campbell
2012-05-22 14:03                             ` Christoph Egger
2012-05-22 14:20                               ` Ian Campbell
2012-05-22 15:16                                 ` Christoph Egger
2012-05-22 15:21                                   ` Ian Campbell
2012-05-22 15:32                                     ` Christoph Egger
2012-05-23 10:11                                       ` Ian Campbell
2012-05-24  9:44                                         ` Christoph Egger
2012-05-25 14:56                                           ` Roger Pau Monne
2012-05-25 15:42                                             ` Ian Campbell
2012-05-29 10:02                                         ` Ian Jackson
2012-05-29 10:13                                           ` Ian Campbell
2012-05-22 13:21                           ` Christoph Egger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FBB9228.70001@gmx.de \
    --to=christoph_egger@gmx.de \
    --cc=Ian.Campbell@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.