Excessive key presses caused Exception: System.InvalidOperationException: Cannot locate the offset in the rendered text that was pointed by the original cursor

Abierto
#5,158 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
csharp, powershell
Área
cli

Línea de trabajo

Start with the exception path through RecomputeInitialCoords, ReallyRender, ForceRender, and Insert, using the reported key sequence and buffer dimensions as the investigation context. Determine a reproducible input or rendering state, then verify that equivalent excessive key presses complete without the InvalidOperationException.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.2
OS: Microsoft Windows 10.0.26200
BufferWidth: 110
BufferHeight: 27

Last 200 Keys:

 l - A z M o d u l e Enter
 c l e a r Enter
 n p m Spacebar - g Spacebar o u t d a t e d Enter
 n p m Spacebar i n s t a l l Spacebar - g Spacebar n p m @ 1 1 . 1 6 . 0 Enter
 s RightArrow Enter
 j n h s d 1 4 5 2 Spacebar Ctrl+Alt+@ Ctrl+Alt+? M Spacebar RightArrow Insert End m p l Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+o Ctrl+Spacebar Ctrl+m Insert DownArrow DownArrow DownArrow DownArrow DownArrow DownArrow n

### Exception

System.InvalidOperationException: Cannot locate the offset in the rendered text that was pointed by the original cursor. Initial Coord: (21, 27) Buffer: (120, 30) Cursor: (14, 29)
   at Microsoft.PowerShell.PSConsoleReadLine.RecomputeInitialCoords(Boolean isTextBufferUnchanged)
   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.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

My cat walked over my laptop keyboard and sat on it while looking at me innocently, asking for biscuits. After he moved away I saw this exception in my terminal. I asked him to try to reproduce it, but he was uncooperative.

https://github.com/user-attachments/assets/60a802c2-8db6-46cf-bd90-dbd7b7a871b5

Environment data
PS Version: 7.6.2
PS HostName: ConsoleHost (Windows Terminal)
PSReadLine Version: 2.4.5
PSReadLine EditMode: Windows
OS: 10.0.26100.1 (WinBuild.160101.0800)
BufferWidth: 120
BufferHeight: 30
Steps to reproduce

As it was my cat sitting on the keyboard that caused the crash, it's difficult to reproduce

Expected behavior

No exception

Actual behavior

The above exception occurs

Lenguaje dominante
C#
Estrellas
4.4k
Forks
341
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PowerShell/PSReadLine

Todos los issues de PowerShell/PSReadLine

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.