WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] why xenstore-* hangs if xenstored is not started

To: Yu Zhiguo <yuzg@xxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] why xenstore-* hangs if xenstored is not started
From: Vincent Hanquez <vincent.hanquez@xxxxxxxxxxxxx>
Date: Tue, 22 Jun 2010 08:44:50 +0100
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 22 Jun 2010 00:45:39 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4C206713.6030508@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4C206713.6030508@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100515 Icedove/3.0.4
On 22/06/10 08:32, Yu Zhiguo wrote:
  Running xenstore-* when xenstored is not started, it will hang and
cannot accept any signal, e.g. SIGINT.
  I seems that the process is blocked at accessing '/proc/xen/xenbus'.

  # mount -t xenfs xenfs /proc/xen/
  # xenstore-ls

  call trace:
  do_ls() ->  xs_directory() ->  xs_talkv() ->  xs_write_all() ->  write()

  BLOCK is no problem but why process cannot accept signal, Any opinion?


  If start xenstored in other console, xenstore-ls executes and then
receive the signal, seems the signal is pended...


That's the common behavior of task stuck in a kernel operation (ps aux will show the task at D, and /proc/<pid>/wchan will tell you exactly where it's blocked in the kernel).

the write is going to wait for a xenstored reply in kernel mode since by default the xenstore-* tools use the kernel xenstore page to communicate with xenstored.

The unix socket operations doesn't have this "problems" (xenstore-* -s)

--
Vincent

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