xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Michal Novotny <minovotn@redhat.com>
To: Keir Fraser <keir.fraser@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: Re: Xen-unstable save error
Date: Mon, 21 Jun 2010 15:37:01 +0200	[thread overview]
Message-ID: <4C1F6AFD.8070805@redhat.com> (raw)
In-Reply-To: <C8452690.180FC%keir.fraser@eu.citrix.com>

On 06/21/2010 03:24 PM, Keir Fraser wrote:
> On 21/06/2010 14:18, "Michal Novotny"<minovotn@redhat.com>  wrote:
>
>    
>> So there's no xs_suspend_evtchn_port (or anything xs_*) function being
>> exported by /usr/lib64/libxenctrl.so (which is the symlink to
>> /usr/lib64/libxenctrl.so.4.0.0), therefore:
>>
>> #objdump -x /usr/lib64/libxenctrl.so.4.0.0 | grep xs_
>> #objdump -x /xen-unstable.hg/tools/libxc/libxenctrl.so.4.0.0  | grep xs_
>>      
> Libxenstore, libxenstore, libxen**STORE**.
>
> #nm /my/path/to/libxenstore.so.3.0.0 | grep xs_sus
> 000000000000346a T xs_suspend_evtchn_port
>
>   -- Keir
>
>
>    
Oh, sorry for that and thanks for noticing my mistake. I overlooked this 
one, nevertheless it's still not working:

[2010-06-21 17:27:39 4305] DEBUG (XendCheckpoint:126) [xc_save]: 
/usr/lib64/xen/bin/xc_save 56 1 0 0 4
[2010-06-21 17:27:39 4305] INFO (XendCheckpoint:410) xc_save: failed to 
get the suspend evtchn port
[2010-06-21 17:27:39 4305] INFO (XendCheckpoint:410)
[2010-06-21 17:27:39 4305] DEBUG (XendCheckpoint:381) suspend
[2010-06-21 17:27:39 4305] DEBUG (XendCheckpoint:129) In 
saveInputHandler suspend
[2010-06-21 17:27:39 4305] DEBUG (XendCheckpoint:131) Suspending 1 ...
[2010-06-21 17:27:39 4305] DEBUG (XendDomainInfo:521) 
XendDomainInfo.shutdown(suspend)
[2010-06-21 17:27:39 4305] DEBUG (XendDomainInfo:1877) 
XendDomainInfo.handleShutdownWatch
[2010-06-21 17:27:39 4305] INFO (XendDomainInfo:538) HVM save:remote 
shutdown dom 1!
[2010-06-21 17:27:39 4305] INFO (XendCheckpoint:137) Domain 1 suspended.
[2010-06-21 17:27:39 4305] INFO (XendDomainInfo:2074) Domain has 
shutdown: name=migrating-rhel5-32fv-stubdom id=1 reason=suspend.
[2010-06-21 17:27:40 4305] INFO (image:538) signalDeviceModel:restore dm 
state to running
[2010-06-21 17:27:40 4305] DEBUG (XendCheckpoint:146) Written done
[2010-06-21 17:27:46 4305] DEBUG (XendDomainInfo:3067) 
XendDomainInfo.destroy: domid=1
[2010-06-21 17:27:46 4305] DEBUG (XendDomainInfo:2397) Destroying device 
model
[2010-06-21 17:27:47 4305] INFO (image:615) migrating-rhel5-32fv-stubdom 
device model terminated


# ls -al rhel5-32fv.sav
-rwxr-xr-x 1 root root 54657427 Jun 21 17:27 rhel5-32fv.sav

# xm restore rhel5-32fv.sav
Error: /usr/lib64/xen/bin/xc_restore 4 2 2 3 1 1 1 0 failed
Usage: xm restore <CheckpointFile> [-p]

Restore a domain from a saved state.
   -p, --paused                   Do not unpause domain after restoring it

# tail /var/log/xen/xend.log
[2010-06-21 17:29:21 4305] INFO (image:822) Need to create platform 
device.[domid:2]
[2010-06-21 17:29:21 4305] DEBUG (XendCheckpoint:273) 
restore:shadow=0x9, _static_max=0x40000000, _static_min=0x0,
[2010-06-21 17:29:21 4305] DEBUG (XendCheckpoint:292) [xc_restore]: 
/usr/lib64/xen/bin/xc_restore 4 2 2 3 1 1 1 0
[2010-06-21 17:29:22 4305] INFO (XendCheckpoint:410) xc: error: Error 
when reading batch size (0 = Success): Internal error
[2010-06-21 17:29:22 4305] INFO (XendCheckpoint:410) xc: error: error 
when buffering batch, finishing (0 = Success): Internal error
[2010-06-21 17:29:22 4305] INFO (XendCheckpoint:410) xc: error: error 
zeroing magic pages (22 = Invalid argument): Internal error
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:3067) 
XendDomainInfo.destroy: domid=2
[2010-06-21 17:29:22 4305] ERROR (XendDomainInfo:3081) 
XendDomainInfo.destroy: domain destruction failed.
Traceback (most recent call last):
   File "usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", 
line 3074, in destroy
     xc.domain_pause(self.domid)
Error: (3, 'No such process')
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:2402) No device model
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:2404) Releasing devices
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:2410) Removing vif/0
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:1272) 
XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:2410) Removing vbd/768
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:1272) 
XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/768
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:2410) Removing vbd/2048
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:1272) 
XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/2048
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:2410) Removing vfb/0
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:1272) 
XendDomainInfo.destroyDevice: deviceClass = vfb, device = vfb/0
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:2410) Removing console/0
[2010-06-21 17:29:22 4305] DEBUG (XendDomainInfo:1272) 
XendDomainInfo.destroyDevice: deviceClass = console, device = console/0
[2010-06-21 17:29:22 4305] ERROR (XendCheckpoint:344) 
/usr/lib64/xen/bin/xc_restore 4 2 2 3 1 1 1 0 failed
Traceback (most recent call last):
   File "/usr/lib64/python2.4/site-packages/xen/xend/XendCheckpoint.py", 
line 296, in restore
     forkHelper(cmd, fd, handler.handler, True)
   File "/usr/lib64/python2.4/site-packages/xen/xend/XendCheckpoint.py", 
line 398, in forkHelper
     raise XendError("%s failed" % string.join(cmd))
XendError: /usr/lib64/xen/bin/xc_restore 4 2 2 3 1 1 1 0 failed
[2010-06-21 17:29:22 4305] ERROR (XendDomain:1182) Restore failed
Traceback (most recent call last):
   File "usr/lib64/python2.4/site-packages/xen/xend/XendDomain.py", line 
1166, in domain_restore_fd
     dominfo = XendCheckpoint.restore(self, fd, paused=paused, 
relocating=relocating)
   File "/usr/lib64/python2.4/site-packages/xen/xend/XendCheckpoint.py", 
line 345, in restore
     raise exn
XendError: /usr/lib64/xen/bin/xc_restore 4 2 2 3 1 1 1 0 failed

So now it seems to be linked with the correct library but it can't get 
the suspend port by now:
 >> xc_save: failed to get the suspend evtchn port

This is being called from xc_save.c (snippet from line 192):
...
        port = xs_suspend_evtchn_port(si.domid);

         if (port < 0)
             warnx("failed to get the suspend evtchn port\n");
         else {
             ... suspend...
         }

I had a look at the code for xenstore/xs.c I saw it's reading the value at:

/local/domain/%d/device/suspend/event-channel

but when I try to get it using:

xenstore-ls /local/domain/3/device/suspendupstream

where 3 is my domid I saw nothing, I saw just:

# xenstore-ls /local/domain/3/device
vfb = ""
  0 = ""
   state = "1"
   backend-id = "0"
   backend = "/local/domain/0/backend/vfb/3/0"
vbd = ""
  768 = ""
   backend-id = "0"
   virtual-device = "768"
   device-type = "disk"
   state = "1"
   backend = "/local/domain/0/backend/vbd/3/768"
  2048 = ""
   backend-id = "0"
   virtual-device = "2048"
   device-type = "disk"
   state = "1"
   backend = "/local/domain/0/backend/vbd/3/2048"
vif = ""
  0 = ""
   state = "1"
   backend-id = "0"
   backend = "/local/domain/0/backend/vif/3/0"
console = ""
  0 = ""
   state = "1"
   backend-id = "0"
   backend = "/local/domain/0/backend/console/3/0"
#

My guest is RHEL-5 i386 guest but this seems that the suspend port is 
missing. AFAIK, you started using the SUSPEND_CANCEL some time ago which 
requires the modified kernel.

Isn't it possible that's the issue or how is it with the SUSPEND_CANCEL 
functionality?

Thanks,
Michal

-- 
Michal Novotny<minovotn@redhat.com>, RHCE
Virtualization Team (xen userspace), Red Hat

  reply	other threads:[~2010-06-21 13:37 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-21 11:15 Xen-unstable save error Michal Novotny
2010-06-21 12:05 ` Keir Fraser
2010-06-21 12:38   ` Michal Novotny
2010-06-21 12:44     ` Keir Fraser
2010-06-21 12:47       ` Michal Novotny
2010-06-21 12:56         ` Keir Fraser
2010-06-21 13:10           ` Michal Novotny
2010-06-21 13:11             ` Keir Fraser
2010-06-21 12:57       ` Michal Novotny
2010-06-21 13:08         ` Keir Fraser
2010-06-21 13:18           ` Michal Novotny
2010-06-21 13:24             ` Keir Fraser
2010-06-21 13:37               ` Michal Novotny [this message]
2010-06-21 13:45                 ` Keir Fraser
2010-06-21 14:02                   ` Michal Novotny
2010-06-21 14:06                     ` Keir Fraser
2010-06-21 14:09                       ` Michal Novotny
2010-06-21 14:50                       ` Michal Novotny
2010-06-21 17:57                         ` Keir Fraser
2010-06-22  5:38                           ` Michal Novotny
2010-06-22  5:58                             ` Keir Fraser
2010-06-22  6:23                               ` Michal Novotny
2010-06-22  6:48                                 ` Jan Beulich
2010-06-22  6:51                                   ` Keir Fraser
2010-06-22  7:12                                     ` Jan Beulich
2010-06-22  7:36                                       ` Keir Fraser
2010-06-22  7:38                                   ` Michal Novotny
2010-06-22 10:01                                   ` Keir Fraser
2010-06-22 10:05                                     ` Michal Novotny
2010-06-22 10:23                                       ` Keir Fraser
2010-06-22 10:53                                         ` Michal Novotny

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=4C1F6AFD.8070805@redhat.com \
    --to=minovotn@redhat.com \
    --cc=keir.fraser@eu.citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).