Skip to content

Exception: System.ArgumentOutOfRangeException - powershell inside code-insiders #1174

Closed

Description

This happend in powershell inside code-insiders

Environment data

PS version: 5.1.18362.145
PSReadline version: 2.0.0-beta2
os: 10.0.18362.1 (WinBuild.160101.0800)
PS file version: 10.0.18362.1 (WinBuild.160101.0800)
HostName: ConsoleHost
BufferWidth: 92
BufferHeight: 33

Steps to reproduce or exception report

Last 200 Keys:
... 
Enter
 UpArrow UpArrow UpArrow UpArrow Enter
 Ctrl+l

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 name: top
Actual value was -69.
   at System.Console.SetCursorPosition(Int32 left, Int32 top)
   at Microsoft.PowerShell.PSConsoleReadLine.ProcessOneKey(ConsoleKeyInfo key, Dictionary`2 
dispatchTable, Boolean ignoreIfNoAction, Object arg)
   at Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
   at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics)

Activity

  1. daxian-dbw commented on Nov 12, 2019

    @daxian-dbw
    Member

    A few variants of the ArgumentOutOfRangeException was fixed in 2.0.0-beta5 version of PSReadLine. Can you try it from PowerShellGallery?

  2. wqsa commented on Nov 13, 2019

    @wqsa

    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)
    
  3. msftrncs commented on Nov 14, 2019

    @msftrncs
    Collaborator

    Yates (@wqsa), Theres a good chance this is fixed by #1146, but this is different than Test Automation (robotframework) (@testautomation)'s exception report. It'd take the command you were editing, and the size of your buffer, to see if it falls under the fix in #1146.

  4. msftrncs commented on Nov 14, 2019

    @msftrncs
    Collaborator

    I take that back, Yates (@wqsa)'s exception is occurring in AcceptLineImpl(), which does not use MoveCursor() so I don't think this is covered by #1146, AcceptLineImpl() and any others, should probably be changed to use MoveCursor() for better future handling of multiline editing. I'll look in to this in a bit.

  5. daxian-dbw commented on Nov 15, 2019

    @daxian-dbw
    Member

    Close via #1182. Thanks Carl Morris (@msftrncs) for the fix. The fix is included in the 2.0.0-beta6 version, which has been published to PowerShellGallery.

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