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
- 分支
- 342
- PR 合併指標
- 30 天內沒有已合併 PR
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
PowerShell/PSReadLine 的其他 Issue
-
Get-PSReadLineOption emits the ListView window-size warning, so prompt modules trigger it on every shell start可能已有人在做 @thc1006 於 42 天前認領。 未關閉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
-
enhancement
難度 2/5 1-3 小時 新手友好度 62/100
維護者通常 1 天內回覆
-
area:re1 bounty help wanted needs-game
難度 2/5 1-3 小時 新手友好度 68/100
-
難度 2/5 1-3 小時 新手友好度 68/100
StackExchange/StackExchange.Redis#3274 ·
維護者通常 1 天內回覆
-
affected/v17 affected/v18 area/frontend type/bug
難度 2/5 1-3 小時 新手友好度 82/100
umbraco/Umbraco-CMS#24186 ·
維護者通常 2 天內回覆
-
難度 2/5 1-3 小時 新手友好度 88/100
維護者通常 3 天內回覆