System.InvalidOperationException: Queue empty when using PSReadLine in VSCode
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- C#
- Étoiles
- 4.4k
- Forks
- 341
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de PowerShell/PSReadLine
-
Needs-Triage :mag:
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
PowerShell/PSReadLine#5205 ·
-
Needs-Triage :mag:
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
PowerShell/PSReadLine#5195 ·
-
Needs-Triage :mag:
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
PowerShell/PSReadLine#5121 ·
-
Needs-Triage :mag:
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
PowerShell/PSReadLine#5045 ·
-
Area-CommandHelp Issue-Enhancement
Difficulté 1/5 Moins d'une heure Accessibilité débutants 68/100
PowerShell/PSReadLine#3470 · 3 réactions ·
Toutes les issues de PowerShell/PSReadLine
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
nightscout/nocturne#1425 ·
-
【Bug】dotnet版本多行输出解析不兼容(含AI解决办法) Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
RayWangQvQ/BiliBiliToolPro#1137 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100