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

Re: [Xen-devel] "xm save" trouble -- deadlock?



xend in turn doesn't read from the pipe but is waiting for some lock:

  master-xen root /vm/ttylinux# strace -p6567
  Process 6567 attached - interrupt to quit
  futex(0x8087370, FUTEX_WAIT, 0, NULL <unfinished ...>
  Process 6567 detached

Oh, xend is multithreaded:

  master-xen root /vm/ttylinux# ls /proc/6567/task
  .  ..  6567  6568  6569  6570  6571  6581  7977

7977 seems to be responsible for the xc_save and does this:

  master-xen root /vm/ttylinux# strace -p7977
  Process 7977 attached - interrupt to quit
  read(20,  <unfinished ...>
  Process 7977 detached

fd 20 is the other end of the *stdout* pipe, whereas xc_save writes stuff to *stderr*. Hmm. Maybe xend causes the deadlock by simply reading from the wrong file handle?

Some of the other threads behave in a strange way as well:

  master-xen root /vm/ttylinux# strace -p6568
  Process 6568 attached - interrupt to quit
  select(4, [3], [], [], {0, 960000})     = 0 (Timeout)
  futex(0x80e53b8, FUTEX_WAKE, 1)         = 0
accept(3, 0x408193f8, [110]) = -1 EAGAIN (Resource temporarily unavailable)

There is no point in calling accept(3) unless select() flags file handle #3 as readable.

Looks like I'll go browse some python code tomorrow ...

  Gerd


_______________________________________________
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®.