microsoft / microsoft/terminal
Resizing window when running python TUI app results in crash
- Dominant language
- C++
- Stars
- 105k
- Forks
- 9.6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 29
Description
### Windows Terminal version
1.16.2641.0
### Windows build number
10.0.190044.1889
### Other Software
python 3.10.6
prompt_toolkit 3.0.30
### Steps to reproduce
In my prompt_toolkit python app, if I vigorously resize the terminal window it eventually crashes. This only happens with Atlas Engine enabled in settings. Attaching Visual Studio points to a memory related issue.
Iv'e had trouble making my python program smaller and still exhibit the problem, so I am unable to share it at the moment. I can reproduce it easily though. It does use an emoji (), but nothing special as far as I know other than that.
Attached a few different backtraces:
[bt1.txt](https://github.com/microsoft/terminal/files/9646551/bt1.txt)
[bt2.txt](https://github.com/microsoft/terminal/files/9646552/bt2.txt)
[bt3.txt](https://github.com/microsoft/terminal/files/9646553/bt3.txt)
[bt4.txt](https://github.com/microsoft/terminal/files/9646554/bt4.txt)
[bt5.txt](https://github.com/microsoft/terminal/files/9646555/bt5.txt)
The small program I tried to reproduce this bug with is here, it does not quite do it though but should be close:
https://gist.github.com/sandos/fc1ae1d5abf0e9609228b18766a49612
### Expected Behavior
No crash on resizing window.
### Actual Behavior
Windows Terminal Preview crashes silently.
Contributor guide
Research direction
Start by reviewing the attached bt1.txt through bt5.txt backtraces and the linked gist reproduction, then try reproducing the crash while vigorously resizing a Windows Terminal window with Atlas Engine enabled. Done means identifying and fixing the memory-related crash so resizing no longer terminates Windows Terminal.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- cli, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100