All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jim Fehlig <jfehlig@novell.com>
To: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Cc: xen-devel <xen-devel@lists.xensource.com>
Subject: reports of xend not starting
Date: Thu, 04 Mar 2010 12:03:17 -0700	[thread overview]
Message-ID: <4B9003F5.5080601@novell.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1998 bytes --]

Hi Kan,

I've received several reports of xend not starting with the following
traceback

[2010-03-04 13:24:10 9096] ERROR (SrvDaemon:349) Exception starting xend ('044dde78-2896-cb88-2ada-3c03a73c35c1')
Traceback (most recent call last):
  File "/usr/lib64/python2.6/site-packages/xen/xend/server/SrvDaemon.py", line 341, in run
    servers = SrvServer.create()
  File "/usr/lib64/python2.6/site-packages/xen/xend/server/SrvServer.py", line 261, in create
    root.putChild('xend', SrvRoot())
  File "/usr/lib64/python2.6/site-packages/xen/xend/server/SrvRoot.py", line 40, in __init__
    self.get(name)
  File "/usr/lib64/python2.6/site-packages/xen/web/SrvDir.py", line 84, in get
    val = val.getobj()
  File "/usr/lib64/python2.6/site-packages/xen/web/SrvDir.py", line 52, in getobj
    self.obj = klassobj()
  File "/usr/lib64/python2.6/site-packages/xen/xend/server/SrvNode.py", line 30, in __init__
    self.xn = XendNode.instance()
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendNode.py", line 1187, in instance
    inst = XendNode()
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendNode.py", line 161, in __init__
    self._init_PSCSIs()
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendNode.py", line 339, in _init_PSCSIs
    saved_HBA_uuid = saved_pscsis[pscsi_uuid].get('HBA', None)
KeyError: '044dde78-2896-cb88-2ada-3c03a73c35c1'


All reported cases involve fresh installs of dom0, so
/var/lib/xend/state/ is empty.  I wasn't able to reproduce the issue
myself but a reporter was kind enough to try a debug patch. I found that
vscsi_util.get_all_scsi_devices() returns several records containing
same scsi_id.  With /var/lib/xend/state/pscsi.xml non-existent and
identical scsi_id, we access an element of saved_pscsis that does not
exist.  In fact, the list is empty.

The attached patch catches the exception and allows xend to start but
I'm not sure if this breaks other parts of the code.  It looks safe to
me but would like your review.

Regards,
Jim


[-- Attachment #2: xend-state-store.patch --]
[-- Type: text/x-patch, Size: 821 bytes --]

Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
===================================================================
--- xen-4.0.0-testing.orig/tools/python/xen/xend/XendNode.py
+++ xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
@@ -336,7 +336,10 @@ class XendNode:
                     pscsi_uuid = uuid.createString()
                     saved_pscsi_table[scsi_id] = pscsi_uuid
                 else:
-                    saved_HBA_uuid = saved_pscsis[pscsi_uuid].get('HBA', None)
+                    try:
+                        saved_HBA_uuid = saved_pscsis[pscsi_uuid].get('HBA', None)
+                    except KeyError:
+                        pass
 
                 physical_host = int(pscsi_record['physical_HCTL'].split(':')[0])
                 if pscsi_HBA_table.has_key(physical_host):

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

             reply	other threads:[~2010-03-04 19:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-04 19:03 Jim Fehlig [this message]
2010-03-05  6:05 ` reports of xend not starting Masaki Kanno
2010-03-05 15:23   ` Jim Fehlig
  -- strict thread matches above, loose matches on Subject: below --
2010-03-22 23:07 Jim Fehlig

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=4B9003F5.5080601@novell.com \
    --to=jfehlig@novell.com \
    --cc=kanno.masaki@jp.fujitsu.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 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.