Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Unexpected System.ArgumentOutOfRangeException

Ouverte
#5,213 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
À clarifier
Activité
Active
Stack technique
csharp
Domaine
cli

Piste de recherche

Start with the stack trace in Microsoft.PowerShell.PSConsoleReadLine, especially CalculateWhereAndWhatToRender and ReallyRender, and investigate the reported Windows Terminal resize or display-scaling conditions. Reproduce with a 120x41 buffer if possible and determine why the cursor top exceeds the console buffer. Done means the reported interaction no longer raises ArgumentOutOfRangeException.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Needs-Triage :mag:
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
Oops, something went wrong.
Please report this bug with ALL the details below, including both the 'Environment' and 'Exception' sections.
Please report on GitHub: https://github.com/PowerShell/PSReadLine/issues/new?template=Bug_Report.yaml
Thank you!

### Environment
PSReadLine: 2.4.5
PowerShell: 7.6.6
OS: Microsoft Windows 10.0.26200
BufferWidth: 120
BufferHeight: 41

Last 200 Keys:

 ; o u t p u t S c h e m a = h t t p : / / w w w . i s o t c 2 1 1 . o r g / 2 0 0 5 / g m d & a m p ; e l e m e n t S e t N a m e = f u l l & a m p ; i d = 6 6 b 8 1 e a 6 - 3 0 5 6 - 4 6 d 0 - 8 7 3 f - 7 a 7 7 3 a 9 3 2 6 b c ' Enter
 c d Spacebar N R C Tab Enter
 l s Enter
 c d Spacebar G e o Tab Tab Tab Tab Tab Tab Tab Tab Enter
 l s Enter
 l s Ctrl+c Ctrl+c c d Spacebar . . Enter
 f z f Enter
 w m s - p r o x y - l a m b d a - r u s t \ s r c \ m a i n . r s Home l e s s Spacebar Enter
 c

### 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 43.
   at System.ConsolePal.SetCursorPosition(Int32 left, Int32 top)
   at Microsoft.PowerShell.PSConsoleReadLine.CalculateWhereAndWhatToRender(Boolean cursorMovedToInitialPos, RenderData renderData, LineInfoForRendering& lineInfoForRendering)
   at Microsoft.PowerShell.PSConsoleReadLine.ReallyRender(RenderData renderData, String defaultColor)
   at Microsoft.PowerShell.PSConsoleReadLine.ForceRender()
   at Microsoft.PowerShell.PSConsoleReadLine.Insert(Char c)
   at Microsoft.PowerShell.PSConsoleReadLine.SelfInsert(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, Nullable`1 lastRunStatus)
Screenshot
Image
Environment data
PS Version: 7.6.6
PS HostName: ConsoleHost (Windows Terminal)
PSReadLine Version: 2.4.5
PSReadLine EditMode: Windows
OS: 10.0.26100.1 (WinBuild.160101.0800)
BufferWidth: 120
BufferHeight: 41
Steps to reproduce

Not sure if it is related: I unplugged my USB dock (with DisplayPort) and HDMI cable, so the Windows 11 Display Settings > Scale may have changed from 100% to 125%? I see the PowerShell terminal font size was changed as I switched tabs. It happened quite some time after I unplugged my laptop though, though I wasn't actively using that Windows Terminal tab until I switched to it, and the exception happened in front of my eyes. I forgot if I pressed any keys just before it happened though.

Expected behavior

No exception

Actual behavior

The above exception happens

Langage dominant
C#
Étoiles
4.4k
Forks
342
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de PowerShell/PSReadLine

Toutes les issues de PowerShell/PSReadLine

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.