microsoft/Terminal

Tab exits with code 1 when Console.SetBufferSize has been modified and you maximize window

Open

#7,581 opened on 2020年9月9日

GitHub で見る
 (3 comments) (0 reactions) (0 assignees)C++ (3,212 forks)batch import
Area-OutputArea-ServerHelp WantedIssue-BugPriority-2Product-ConptySeverity-Crash

Repository metrics

Stars
 (35,764 stars)
PR merge metrics
 (平均マージ 27d 19h) (30d で 24 merged PRs)

説明

Possibly related to #1461. I understand the text rendering errors, but the process exiting is different.

When I set the console buffer size to maximum height and run my code from Windows Terminal (in non-maximized, 'windowed' mode), everything appears to work correctly. Windows Terminal honors the buffer-size that I've set, and I can scroll back in history appropriately.

If I maximize that window after running the program, the tab process exits with code 1.

A small C# program that reproduces this issue:

    static void Main(string[] args)
    {
      Console.SetBufferSize(Console.BufferWidth, 32766);
      Console.WriteLine("Buffer size changed.");

      // 100 lines is roughly the minimum it takes to crash the tab. Small behavior changes
      // depending on my initial window size. 
      for (int i = 0; i < 100; i++)
      {
        Console.WriteLine("Line");
      }
    }

image

Windows Version 2004, OS Build 19041.450 Windows Terminal Version 1.2.2381.0

コントリビューターガイド