Unexpected System.ArgumentOutOfRangeException
还没有人认领这个 Issue。
评估
调研方向
Start with the stack trace in Microsoft.PowerShell.PSConsoleReadLine, especially CalculateWhereAndWhatToRender and ReallyRender, and investigate the reported Windows Terminal resize or display-scaling conditions. Reproduce with a 120x41 buffer if possible and determine why the cursor top exceeds the console buffer. Done means the reported interaction no longer raises ArgumentOutOfRangeException.
由索引模型根据 Issue 内容生成。
描述
Prerequisites
- Write a descriptive title.
- Make sure you are able to repro it on the latest released version
- Search the existing issues, especially the pinned issues.
Exception report
Oops, something went wrong.
Please report this bug with ALL the details below, including both the 'Environment' and 'Exception' sections.
Please report on GitHub: https://github.com/PowerShell/PSReadLine/issues/new?template=Bug_Report.yaml
Thank you!
### Environment
PSReadLine: 2.4.5
PowerShell: 7.6.6
OS: Microsoft Windows 10.0.26200
BufferWidth: 120
BufferHeight: 41
Last 200 Keys:
; o u t p u t S c h e m a = h t t p : / / w w w . i s o t c 2 1 1 . o r g / 2 0 0 5 / g m d & a m p ; e l e m e n t S e t N a m e = f u l l & a m p ; i d = 6 6 b 8 1 e a 6 - 3 0 5 6 - 4 6 d 0 - 8 7 3 f - 7 a 7 7 3 a 9 3 2 6 b c ' Enter
c d Spacebar N R C Tab Enter
l s Enter
c d Spacebar G e o Tab Tab Tab Tab Tab Tab Tab Tab Enter
l s Enter
l s Ctrl+c Ctrl+c c d Spacebar . . Enter
f z f Enter
w m s - p r o x y - l a m b d a - r u s t \ s r c \ m a i n . r s Home l e s s Spacebar Enter
c
### Exception
System.ArgumentOutOfRangeException: The value must be greater than or equal to zero and less than the console's buffer size in that dimension. (Parameter 'top')
Actual value was 43.
at System.ConsolePal.SetCursorPosition(Int32 left, Int32 top)
at Microsoft.PowerShell.PSConsoleReadLine.CalculateWhereAndWhatToRender(Boolean cursorMovedToInitialPos, RenderData renderData, LineInfoForRendering& lineInfoForRendering)
at Microsoft.PowerShell.PSConsoleReadLine.ReallyRender(RenderData renderData, String defaultColor)
at Microsoft.PowerShell.PSConsoleReadLine.ForceRender()
at Microsoft.PowerShell.PSConsoleReadLine.Insert(Char c)
at Microsoft.PowerShell.PSConsoleReadLine.SelfInsert(Nullable`1 key, Object arg)
at Microsoft.PowerShell.PSConsoleReadLine.ProcessOneKey(PSKeyInfo key, Dictionary`2 dispatchTable, Boolean ignoreIfNoAction, Object arg)
at Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics, CancellationToken cancellationToken, Nullable`1 lastRunStatus)
Screenshot
Environment data
PS Version: 7.6.6
PS HostName: ConsoleHost (Windows Terminal)
PSReadLine Version: 2.4.5
PSReadLine EditMode: Windows
OS: 10.0.26100.1 (WinBuild.160101.0800)
BufferWidth: 120
BufferHeight: 41
Steps to reproduce
Not sure if it is related: I unplugged my USB dock (with DisplayPort) and HDMI cable, so the Windows 11 Display Settings > Scale may have changed from 100% to 125%? I see the PowerShell terminal font size was changed as I switched tabs. It happened quite some time after I unplugged my laptop though, though I wasn't actively using that Windows Terminal tab until I switched to it, and the exception happened in front of my eyes. I forgot if I pressed any keys just before it happened though.
Expected behavior
No exception
Actual behavior
The above exception happens
- 主要语言
- C#
- 星标
- 4.4k
- 派生
- 341
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
PowerShell/PSReadLine 的其他 Issue
-
Needs-Triage :mag:
难度 2/5 1-3 小时 新手友好度 78/100
PowerShell/PSReadLine#5205 ·
-
Needs-Triage :mag:
难度 2/5 1-3 小时 新手友好度 68/100
PowerShell/PSReadLine#5195 ·
-
Needs-Triage :mag:
难度 2/5 1-3 小时 新手友好度 72/100
PowerShell/PSReadLine#5121 ·
-
Needs-Triage :mag:
难度 2/5 1-3 小时 新手友好度 64/100
PowerShell/PSReadLine#5045 ·
-
Area-CommandHelp Issue-Enhancement
难度 1/5 1 小时以内 新手友好度 68/100
PowerShell/PSReadLine#3470 · 3 个 reaction ·
查看 PowerShell/PSReadLine 的全部 Issue
相似的 Issue
-
bug
难度 1/5 1 小时以内 新手友好度 90/100
-
Type: enhancement
难度 2/5 1-3 小时 新手友好度 65/100
apache/arrow-adbc#4809 ·
-
type/automation type/tech-debt
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 65/100
microsoft/vscode-azurefunctions#5197 · 1 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 85/100
microsoft/microsoft-ui-reactor#1274 ·