| Summary: | [terminal][local] Local Terminal sometimes doesn't display a prompt on Linux | ||
|---|---|---|---|
| Product: | [Tools] Target Management | Reporter: | Martin Oberhuber <mober.at+eclipse> |
| Component: | Terminal | Assignee: | dsdp.tm.core-inbox <tm.core-inbox> |
| Status: | RESOLVED WONTFIX | QA Contact: | Martin Oberhuber <mober.at+eclipse> |
| Severity: | normal | ||
| Priority: | P3 | CC: | eclipse, mirko, uwe.st |
| Version: | 3.2 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux-GTK | ||
| Whiteboard: | |||
|
Description
Martin Oberhuber
In one case, it even happened to me that when initially connecting / launching the Terminal, no output or prompt was shown. Probably related to a race condition with multiple open Local Terminals and opening a Console at the same time (see bug 314607). Which makes this even more nasty. (In reply to comment #1) > Probably related to a race > condition with multiple open Local Terminals and opening a Console at the same > time (see > bug 314607). It looks like your suspicion is spot on, at least when this happens at the very beginning of a terminal session it seems to be indeed a side effect of bug 314607. When I debugged through the variable contents for the stack trace from bug 314607 comment #6 I noticed that the string that was written to IOConsoleOutputStream.write(String) was actually my "bash-3.2$" prompt. Clearly, this should have already been intercepted and sent to the terminal instead. I'll investigate why it was still sent to the regular console. When the missing prompt problem occurs after the session is already established I think you are correct that there is a second, partially overlapping issue that has to do with the PTY flushing. It may also have to do with the coordination of stdout versus stderr (the prompt is actually sent to stderr, at least for bash). (In reply to comment #2) > coordination of stdout versus stderr (the prompt is actually sent to > stderr, at least for bash). Interesting, this is in line with another observation I made: As part of my experiements on Windows, I created a Launch to call the following "program": Location = C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe Arguments = -l moberhuber -i "D:/home/.ssh/id_dsa.ppk" build.eclipse.org The idea here was along the lines of what I documented in bug 314827. The connection itself worked, although running vi on the remote or terminal resizing failed (since don't have a proper Windows PTY, as per bug 314193 comment 2; but what I found interesting was that in this experiment, I saw each prompt being printed twice. Probably that was one for stdout and the other for stderr. Implementation replaced |