ArgumentOutOfRange Exception if command accepted when last line of buffer is full · Issue #1181 · PowerShell/PSReadLine · GitHub
Skip to content

ArgumentOutOfRange Exception if command accepted when last line of buffer is full #1181

Closed

Description

@msftrncs

Originally posted by Yates (@wqsa) in #1174 (comment)

2.0.0-beta5 still have this problem.

Environment

PSReadLine: 2.0.0-beta5
PowerShell: 7.0.0-preview.4
OS: Microsoft Windows 10.0.17763
Last 200 Keys

 DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow p c d n Spacebar s t a r t Spacebar - d a t a d i r Spacebar p e e r 1 Spacebar - c o n f i g Spacebar p c d n . c o n f Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 Ctrl+c UpArrow Enter
 UpArrow Enter
 Ctrl+c UpArrow Enter
 UpArrow DownArrow Ctrl+c UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow UpArrow DownArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow UpArrow DownArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 Ctrl+c UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Enter
 UpArrow Home d l v Spacebar e x e Spacebar Spacebar Backspace Backspace c Spacebar RightArrow RightArrow RightArrow RightArrow RightArrow RightArrow RightArrow RightArrow RightArrow RightArrow RightArrow RightArrow RightArrow RightArrow RightArrow - - Spacebar Enter

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 9001.
   at System.ConsolePal.SetCursorPosition(Int32 left, Int32 top)
   at Microsoft.PowerShell.PSConsoleReadLine.AcceptLineImpl(Boolean validate)
   at Microsoft.PowerShell.PSConsoleReadLine.AcceptLine(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)

Activity

  1. msftrncs commented on Nov 14, 2019

    @msftrncs
    CollaboratorAuthor

    It appears this happens when the last line of the buffer is completely full, but the cursor is not at the end, and then ENTER is used to accept the line.

  2. added 2 commits that reference this issue on Nov 14, 2019
    72d2f6d
    96e6909
  3. daxian-dbw commented on Nov 14, 2019

    @daxian-dbw
    Member

    Thanks for hunting this down! I'm able to repro in beta5.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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