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
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel