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

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



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


 


Rackspace

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