Summary: | luit hangs (100% cpu) on process exit | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Geir Ove Myhr <gomyhr> | ||||||||
Component: | App/luit | Assignee: | Xorg Project Team <xorg-team> | ||||||||
Status: | CLOSED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||
Severity: | normal | ||||||||||
Priority: | medium | CC: | jch | ||||||||
Version: | git | ||||||||||
Hardware: | Other | ||||||||||
OS: | All | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | i915 features: | ||||||||||
Attachments: |
|
Description
Geir Ove Myhr
2010-02-02 05:23:50 UTC
Created attachment 33002 [details]
Output of strace
Trimmed 73 MB of
poll([{fd=0, events=POLLIN}, {fd=3, events=POLLIN}], 2, -1) = 1 ([{fd=3, revents=POLLHUP}])
from the file.
From the Debian bug report (Antti-Juhani Kaijanaho):
The immediate cause is that luit is not checking for POLLHUP for the pty in
waitForInput. Instead it seems to be expecting a POLLIN with zero read.
Created attachment 33003 [details]
backtrace from gdb
Btw, I'm aware that the ssh password is visible in clear-text in the strace file. It was changed before and after the test. Created attachment 33004 [details] [review] check for POLLERR|POLLHUP in WaitForInput Attached patch indeed fixes this for me. It would probably make sense to do the same in waitForOutput. Or just make the check 'if (pfd[i].revents)'... commit b7af1cef38d1995289acd1f2c13580b378ec0fc9 Author: Julien Cristau <jcristau@debian.org> Date: Tue Feb 2 14:45:17 2010 +0100 poll: check for POLLERR|POLLHUP in WaitForInput X.Org bug#26383 <http://bugs.freedesktop.org/26383> Acked-by: Juliusz Chroboczek <jch@pps.jussieu.fr> Signed-off-by: Julien Cristau <jcristau@debian.org> |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.