Skip to content

PSConsoleReadLine crashes with System.ArgumentOutOfRangeException when typing path #5153

Description

@AxelViet

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

While typing a path in PowerShell, PSConsoleReadLine crashes with an exception related to cursor positioning.

Screenshot

Image

Environment data

PS Version: 5.1.19041.6456
PS HostName: ConsoleHost
PSReadLine Version: 2.0.0-beta2
PSReadLine EditMode: Windows
OS: 10.0.19041.4522 (WinBuild.160101.0800)
BufferWidth: 145
BufferHeight: 32

Steps to reproduce

  1. Open PowerShell

  2. Start typing a path similar to:

& Space C : \ U s e r s
3. Exception occurs during input rendering

Expected behavior

Console input should render normally without crashing.

Actual behavior

PSConsoleReadLine throws the following exception:
System.ArgumentOutOfRangeException: Значение должно быть больше или равно нулю и меньше, чем размер буфера в данной размерности.
Фактическое значение было -2.

в System.Console.SetCursorPosition(Int32 left, Int32 top)
в Microsoft.PowerShell.Internal.VirtualTerminal.set_CursorLeft(Int32 value)
в Microsoft.PowerShell.PSConsoleReadLine.ReallyRender(RenderData renderData, String defaultColor)
в Microsoft.PowerShell.PSConsoleReadLine.ForceRender()
в Microsoft.PowerShell.PSConsoleReadLine.Insert(Char c)
в Microsoft.PowerShell.PSConsoleReadLine.SelfInsert(Nullable1 key, Object arg) в Microsoft.PowerShell.PSConsoleReadLine.ProcessOneKey(ConsoleKeyInfo key, Dictionary2 dispatchTable, Boolean ignoreIfNoAction, Object arg)
в Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
в Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions