On Thursday 10 March 2005 03:13 am, Gerd Knorr wrote:

> Ouch.  I've never seen that myself though, works perfectly fine for me.
> Could be somehow related to the scrambled compiler logs reported a few
> weeks ago, maybe the tty/line buffer handling is broken ...

I've done some more debugging on that, and I can reproduce it at will on any 
machine now.  The problem is that if the process that is on the other end of 
UML's output pipe gets stopped (like the Xterm consuming the UML output), its 
retry logic is borked.

I have a more detailed analysis with debug info on another machine (I'll try 
to dig that up later tonight), but really briefly, find out the PID of the 
xterm you're running in, I.E. the parent process of the shell you're going to 
run it under ("ps" followed by "ps l" should do it).  Then set up a dumb 
little script ala

while /bin/true
do
        kill -STOP $PID
        sleep 1
        kill -CONT $PID
        sleep 1
done

And now run UML and do and extract a tarball under it or something, and watch 
the output go bananas.

The requeue logic handling -EAGAIN requeues the data that's already on the 
buffer, not the new data that should go ON the buffer.  That's why the 
stuttering.  (What happens when the 4k buffer fills up is anybody's guess.  I 
think data just gets dropped.)

Rob


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to