[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] "xm save" trouble -- deadlock?
On Tue, Nov 01, 2005 at 06:15:27PM +0100, Gerd Knorr wrote: > >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? The code that does this is in XendCheckpoint.py:forkHelper. It's using select.poll() and file.readline() to read from both the stdout and the stderr. This is a pretty daft thing to do -- there's definitely potential for deadlock here. I'll rewrite this to use a separate thread to pull the data from stderr, which should solve the problem. Thanks for your diagnostic efforts, Ewan. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |