System.InvalidOperationException: Queue empty when using PSReadLine in VSCode
还没有人认领这个 Issue。
评估
调研方向
The stack trace points to Microsoft.PowerShell.PSConsoleReadLine.ReadKey and InputLoop; begin there and compare the key, history-navigation, and tab-completion sequence in the report. Reproduce it in the VSCode PowerShell terminal using the listed versions and steps; it is done when the sequence no longer throws Queue empty or causes the reported VSCode behavior.
由索引模型根据 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
Last 101 Keys:
pipmo ave<Tab>dap<Tab><Backspace><Enter>
get-mo<Tab><Enter>
pppppget-modules<Enter>
get-modu<Tab><Enter>
remove-mo<Tab> dap<Tab><Enter>
ppp<DownArrow><UpArrow><UpArrow><UpArrow><Enter>
pppppppppppppppppppppppp
Exception:
System.InvalidOperationException: Queue empty.
at System.Collections.Generic.Queue`1.ThrowForEmptyQueue()
at System.Collections.Generic.Queue`1.Dequeue()
at Microsoft.PowerShell.PSConsoleReadLine.ReadKey()
at Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics, CancellationToken cancellationToken, Nullable`1 lastRunStatus)
Screenshot
Environment:
PSReadLine: 2.4.0-beta0+923a890f2e7ea10465f3a80a2bc030121a1c2f68
PowerShell: 2025.0.0
OS: Microsoft Windows 11 Enterprise 24H2 (10.0.26100)
BufferWidth: 141
BufferHeight: 16
Locale : 0809
Manufacturer : Microsoft Corporation
MUILanguages : {en-GB, en-US}
Note: The keys that follow were not repeated / stuck keys but it seems to have key repetitions?
Last 101 Keys:
pipmo ave<Tab>dap<Tab><Backspace><Enter>
get-mo<Tab><Enter>
pppppget-modules<Enter>
get-modu<Tab><Enter>
remove-mo<Tab> dap<Tab><Enter>
ppp<DownArrow><UpArrow><UpArrow><UpArrow><Enter>
pppppppppppppppppppppppp
Exception:
System.InvalidOperationException: Queue empty.
at System.Collections.Generic.Queue`1.ThrowForEmptyQueue()
at System.Collections.Generic.Queue`1.Dequeue()
at Microsoft.PowerShell.PSConsoleReadLine.ReadKey()
at Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics, CancellationToken cancellationToken, Nullable`1 lastRunStatus)
Additional Context: This occurred during normal usage in VSCode. It seems to be related to command history navigation or tab completion. No custom PSReadLine configuration was applied.
Environment data
Inside VSCode terminal:
PS Version: 7.5.0
PS HostName: Visual Studio Code Host
PSReadLine Version: 2.4.0-beta0
PSReadLine EditMode: Windows
OS: 10.0.26100.1 (WinBuild.160101.0800)
BufferWidth: 195
BufferHeight: 11
Windows Terminal with Powershell 7:
PS Version: 7.5.1
PS HostName: ConsoleHost (Windows Terminal)
PSReadLine Version: 2.3.6
PSReadLine EditMode: Windows
OS: 10.0.26100.1 (WinBuild.160101.0800)
BufferWidth: 115
BufferHeight: 65
Steps to reproduce
- Open VSCode with PowerShell terminal.
- Run a series of commands involving pip, get-module, and remove-module.
- Use arrow keys to navigate command history.
- Observe crash.
Note: this seems to occur when using vscode with normal editor input, the workflow I was using on the day of the exception ran multiple pwsh instances because of pester test execution in the test extension. not sure if this was a contributing factor though.
Expected behavior
No exception, VSCode does not exhibit odd behaviors like starting a debugging session when any key on the keyboard is pressed
Actual behavior
VSCode starts running arbitrary debugging sessions (F5) and at some point the Exception occurs.
- 主要语言
- 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 小时以内 新手友好度 75/100
sillsdev/languageforge-lexbox#2665 ·
-
bug documentation frontend
难度 2/5 1-3 小时 新手友好度 72/100
azurenoops/spin_agent#975 ·
-
难度 2/5 1-3 小时 新手友好度 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
难度 2/5 1-3 小时 新手友好度 92/100
dotnet/AspNetCore.Docs#37699 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
SubtitleEdit/subtitleedit#15108 · 1 条评论 ·