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 not painting until resize #34554

Closed
chrisdias opened this issue Sep 17, 2017 · 12 comments
Closed

terminal not painting until resize #34554

chrisdias opened this issue Sep 17, 2017 · 12 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug candidate Issue identified as probable candidate for fixing in the next release important Issue identified as high-priority terminal General terminal issues that don't fall under another label verified Verification succeeded

Comments

@chrisdias
Copy link
Member

Windows
1.17.0-insider
b0c063

The docker extension creates a lot of terminals when running docker commands. I'm finding that the content of the terminal is not painting until i resize the terminal window. It looks like the tool is hung, then you resize, then you can see the content.

Here's the docker build command running:

image

Then resize, and now you can see the terminal:

image

@chrisdias chrisdias added this to the September 2017 milestone Sep 17, 2017
@vscodebot vscodebot bot added the terminal General terminal issues that don't fall under another label label Sep 17, 2017
@Tyriar
Copy link
Member

Tyriar commented Sep 17, 2017

@chrisdias any errors in the devtools console?

@Tyriar Tyriar added the info-needed Issue requires more information from poster label Sep 17, 2017
@chrisdias
Copy link
Member Author

@Tyriar no.

@ghost
Copy link

ghost commented Sep 19, 2017

@Tyriar i encountered the issue(some error in the devtools console)
1.17.0-insider 3339ad8

@Tyriar Tyriar modified the milestones: September 2017, October 2017 Sep 26, 2017
@Tyriar
Copy link
Member

Tyriar commented Sep 26, 2017

@chrisdias are the terminals created in the background and the rendering is not working when first moved to the foreground?

@liuliangsir what's the error?

@vscodebot vscodebot bot closed this as completed Oct 3, 2017
@vscodebot
Copy link

vscodebot bot commented Oct 3, 2017

This issue has been closed automatically because it needs more information and has not had recent activity. Please refer to our guidelines for filing issues. Thank you for your contributions.

@egamma
Copy link
Member

egamma commented Oct 11, 2017

(reopening)
This issue also affects the npm-script-runner extension.
To reproduce the problem:

  • yo code to create an extension
  • replace activate function with the following code:
export function activate(context: vscode.ExtensionContext) {

    let disposable = vscode.commands.registerCommand('extension.sayHello', () => {
        let terminal = vscode.window.createTerminal('test');
	terminal.show();
        terminal.sendText('echo hello');
    });
    context.subscriptions.push(disposable);
}
  • run the extension by executing the "Hello World" command.

What you will observe on Windows is that the terminal most of the times remains blank. Resizing will make the contents appear.

@kieferrm kieferrm added bug Issue identified by VS Code Team member as probable bug candidate Issue identified as probable candidate for fixing in the next release important Issue identified as high-priority and removed info-needed Issue requires more information from poster labels Oct 11, 2017
@Tyriar Tyriar closed this as completed in b4de6e8 Oct 12, 2017
Tyriar added a commit that referenced this issue Oct 12, 2017
This fixes an issue where background terminals were created while not
visible. This caused the internal charMeasure object to have 0 width and
height so nothing would render.

Fixes #34554
@Tyriar
Copy link
Member

Tyriar commented Oct 12, 2017

Fix pushed to master and release/1.17

@Tyriar Tyriar added this to the September Recovery 2017 milestone Oct 12, 2017
@Tyriar
Copy link
Member

Tyriar commented Oct 12, 2017

For the interested, I believe this was caused by a race condition that only seemed to happen on Windows for some reason. The terminal would perform a layout before the terminal instance was visible, this caused the element which measured the character to return 0 width and 0 height which prevents all rendering.

The fix was to force a layout whenever visibility of the terminal was set to true.

@egamma
Copy link
Member

egamma commented Oct 12, 2017

@Tyriar I failed to repro this on Mac, glad we have a fix, thanks!

@OriginalEXE
Copy link

I am getting the same bug on:
Ubuntu 16.04
Version 1.17.0
Commit be377c0
Date 2017-10-04T23:33:45.303Z
Shell 1.7.7
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64

Resizing the terminal area fixes the issue.

@fabiospampinato
Copy link
Contributor

@Tyriar This is very much not fixed yet. I'm running v1.17.1 under macOS 10.13.

This is how to reproduce it:

  • Open a random folder
  • Install Terminals
  • Run Terminals: Edit configuration and save the file
  • Open a terminal
  • Run Terminals: Run Single
  • Select Single and hit enter
  • The newly create terminal is completely blank

Also when doing this everything except the window control buttons moves very annoyingly up about a couple of pixels. Only if the statusbar is hidden 😕

sandy081 pushed a commit that referenced this issue Oct 16, 2017
This fixes an issue where background terminals were created while not
visible. This caused the internal charMeasure object to have 0 width and
height so nothing would render.

Fixes #34554
@chrmarti chrmarti added the verified Verification succeeded label Oct 17, 2017
@chrmarti
Copy link
Collaborator

@fabiospampinato This fix will be in the upcoming 1.17.2.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug candidate Issue identified as probable candidate for fixing in the next release important Issue identified as high-priority terminal General terminal issues that don't fall under another label verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

7 participants