Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Terminal skips layout when restoring from tmux #71078

Closed
joaomoreno opened this issue Mar 25, 2019 · 5 comments
Closed

Terminal skips layout when restoring from tmux #71078

joaomoreno opened this issue Mar 25, 2019 · 5 comments
Assignees
Labels
terminal General terminal issues that don't fall under another label upstream Issue identified as 'upstream' component related (exists outside of VS Code)
Milestone

Comments

@joaomoreno
Copy link
Member

I've had this issue for a while, just never created a ticket for it...

Very often, yet not always, when I reload my workbench, the terminal fails to relayout my tmux setup. I need to resize the terminal using the sash. Hiding and showing the terminal doesn't help. It's as if a layout call is missed somewhere.

Peek 2019-03-25 14-58

@joaomoreno joaomoreno added the terminal General terminal issues that don't fall under another label label Mar 25, 2019
@Tyriar Tyriar added bug Issue identified by VS Code Team member as probable bug help wanted Issues identified as good community contribution opportunities labels Mar 31, 2019
@Tyriar Tyriar added this to the Backlog milestone Mar 31, 2019
@Daniel-McCarthy
Copy link
Contributor

I have peeked at this a bit and started by setting up tmux with two panels as mentioned in the original post. I was able to reproduce this issue as well, however my experience was that when this occurred I was able to consistently make this occur repeatedly by closing the terminal with the X, then going to Terminal > New Terminal, where as reloading allowed it to display properly.

Each time I reproduced this issue successfully I also got this error:

ERR ioctl(2) failed.: Error: ioctl(2) failed. 

at UnixTerminal.resize (/home/user/Documents/vscode/node_modules/node-pty/lib/unixTerminal.js:216:13)

at TerminalProcess.resize (file:///home/user/Documents/vscode/out/vs/workbench/contrib/terminal/node/terminalProcess.js:152:30) 

at TerminalProcessManager.setDimensions (file:///home/user/Documents/vscode/out/vs/workbench/contrib/terminal/browser/terminalProcessManager.js:186:31) 

at _processManager.ptyProcessReady.then (file:///home/user/Documents/vscode/out/vs/workbench/contrib/terminal/browser/terminalInstance.js:1076:86)

In case this helps in finding the issue, I have shared this here as I am not yet sure how to resolve it.

This was referenced May 1, 2019
@Tyriar
Copy link
Member

Tyriar commented May 1, 2019

Upstream issue: microsoft/node-pty#220

@Tyriar Tyriar added the upstream Issue identified as 'upstream' component related (exists outside of VS Code) label May 1, 2019
@Tyriar
Copy link
Member

Tyriar commented May 10, 2019

The ioctl exception will give more detail on how it failed when #73597 is merged.

@Tyriar
Copy link
Member

Tyriar commented May 13, 2019

I looked into this and could repro without the ioctl errors. It really seems like an issue in tmux because the pty is initialized to the correct size, then another resize call is triggered with the same correct size, but tmux still renders wrong. Also strangely telling tmux to relayout fixes it (ctrl+b, r) which indicates to me the issue is in tmux.

@Tyriar Tyriar closed this as completed May 13, 2019
@Tyriar Tyriar removed bug Issue identified by VS Code Team member as probable bug help wanted Issues identified as good community contribution opportunities labels May 13, 2019
@vscodebot vscodebot bot locked and limited conversation to collaborators Jun 27, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
terminal General terminal issues that don't fall under another label upstream Issue identified as 'upstream' component related (exists outside of VS Code)
Projects
None yet
Development

No branches or pull requests

3 participants