question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

System.ArgumentOutOfRangeException PSReadLine: 2.1.0-beta1 PowerShell: 7.1.0-preview.2

See original GitHub issue

Environment

Name Value
PS version 7.1.0-preview.2
PSReadline version 2.1.0-beta1
os 10.0.19613.1000 (WinBuild.160101.0800)
PS file version 7.1.0.0
HostName ConsoleHost
BufferWidth 127
BufferHeight 1000

Last 200 Keys

 I n A r c h i v e F o r m a t ] : : X Z ) Ctrl+LeftArrow Ctrl+LeftArrow Ctrl+LeftArrow LeftArrow LeftArrow Shift+Ctrl+LeftArrow $ r . C o n t e n t Ctrl+z Escape # Backspace $ s RightArrow Spacebar RightArrow LeftArrow RightArrow Shift+Ctrl+LeftArrow Shift+Ctrl+LeftArrow Ctrl+RightArrow Ctrl+RightArrow RightArrow Spacebar LeftArrow LeftArrow Ctrl+LeftArrow Ctrl+LeftArrow Ctrl+LeftArrow Ctrl+LeftArrow Ctrl+LeftArrow Ctrl+LeftArrow LeftArrow Shift+LeftArrow Shift+LeftArrow Shift+LeftArrow Shift+LeftArrow Shift+LeftArrow Shift+LeftArrow Shift+LeftArrow Delete Delete Enter
 $ s e v Tab Enter
 UpArrow UpArrow Ctrl+a Ctrl+x N e w - O b j e c t Spacebar - T y p e N a m e Spacebar S e v e n Z i p E x t r a c t o r Spacebar - A r g u m e n t L i s t Spacebar @ ( $ s e v e n Z i p S t r e a m , [ S e v e n Z i p . I n A r c h i v e F o r m a t ] : : X Z ) Ctrl+LeftArrow Ctrl+LeftArrow Ctrl+LeftArrow Ctrl+LeftArrow Ctrl+RightArrow LeftArrow LeftArrow Ctrl+LeftArrow Ctrl+LeftArrow Ctrl+RightArrow [ ] Backspace Backspace Escape

Exception

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'length')
   at System.Text.StringBuilder.Remove(Int32 startIndex, Int32 length)
   at Microsoft.PowerShell.PSConsoleReadLine.EditItemInsertChar.Undo()
   at Microsoft.PowerShell.PSConsoleReadLine.RevertLine(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)

Steps to reproduce

Investigating…

Expected behavior

Actual behavior

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:5 (4 by maintainers)

github_iconTop GitHub Comments

3reactions
daxian-dbwcommented, May 1, 2020

I found the issue and also the consistent repro:

  1. in Windows edit mode, run Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord
  2. Type git checkout -b blah origin/nonexist and press <kbd>Enter</kbd>
  3. Type git ch, and press <kbd>Ctrl+f</kbd>, then press <kbd>Enter</kbd>
  4. Press <kbd>UpArrow</kbd>, then press <kbd>Escape</kbd>

The issue will be fixed in #1496 (the 2nd commit).

0reactions
daxian-dbwcommented, May 1, 2020

From @jhoneill

Another one here. Identical stack trace displayed to @daniel0x00 above. It seems to be be fairly common and easy to repro in VS Code integrated shell

Put in a long line at the last line in the window, press [ESC] and POW! Something seems to do its sums wrongly and think it should be removing stuff from a line after the end of the window. If I move the cursor to left of about 176 (even if the line is very long) all is OK. If I’m not on the last line, all is OK. but cursor to near the bottom right is what triggers it . Whilst very ugly it doesn’t do any real harm apart from displaying the error the session seems unaffected

PS version: 7.0.0
PSReadline version: 2.1.0-beta1'; ProjectUri = 'https://github.com/PowerShell/PSReadLine
os: 10.0.18362.1 (WinBuild.160101.0800)
PS file version: 7.0.0.0
HostName: Visual Studio Code Host
BufferWidth: 220
BufferHeight: 32
Read more comments on GitHub >

github_iconTop Results From Across the Web

Announcing PSReadLine 2.1+ with Predictive IntelliSense
PSReadLine 2.1.0 will ship with PowerShell 7.1. Supported PowerShell versions: Windows PowerShell 5.1; PowerShell 7.0+. Included in this version ...
Read more >
Changes.txt 2.2.2
Update PSReadLine corresponding to the prediction interface updates (#2225) ... Fix the `ArgumentOutOfRangeException` caused by trimming the command line ...
Read more >
about PSReadLine - PowerShell
PSReadLine maintains a history file containing all the commands and data you've entered from the command line. The history files are a file ......
Read more >
PSReadLine throw exception after upgrading to PS 7.2
You can fix this by upgrading to the latest 2.2.0-beta4 version of PSReadLine. Instructions for doing so: 1: stop all instances of pwsh....
Read more >
PSReadLine Module - PowerShell
In this article. The PSReadLine module contains cmdlets that let you customize the command-line editing environment in PowerShell.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found