PSReadLine Exception when filtering with replacement character �

Abierto
#5,228 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
csharp, powershell
Área
cli

Línea de trabajo

Start by tracing the history write path named in the exception, from MaybeAddToHistory through IncrementalHistoryWrite to WriteHistoryRange; the report points to history serialization as the failure site. Reproduce in PowerShell 7.6.9 with PSReadLine 2.4.5 by entering the reported replacement character filter and checking history writing. Done means the command causes no EncoderFallbackException.

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.9
OS: Microsoft Windows 10.0.20348
BufferWidth: 317
BufferHeight: 9001
 

Last 200 Keys:

e c t o r y D e l e t e d I t e m A s G r o u p Spacebar - A l l Enter
$ d e t e l e t Backspace Backspace Backspace t e d I t e m s Enter
G e t - M g D i r e c t o r y D e l e t e d I t e m A s G r o u p Enter
Enter
UpArrow . Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace Backspace UpArrow UpArrow Enter

UpArrow LeftArrow LeftArrow LeftArrow LeftArrow LeftArrow LeftArrow LeftArrow LeftArrow LeftArrow LeftArrow RightArrow Backspace l ; Backspace Enter

UpArrow . d e s c r i p t i o n Spacebar - = Backspace l i k e Spacebar ' ' LeftArrow � � Backspace * Enter

Enter

Enter

Enter

Enter

Enter

UpArrow Enter

UpArrow LeftArrow LeftArrow Backspace T Enter

UpArrow UpArrow LeftArrow LeftArrow Enter

LeftArrow LeftArrow Spacebar Enter

 

 

### Exception

 

System.Text.EncoderFallbackException: Unable to translate Unicode character \\uD83D at index 33 to specified code page.

   at System.Text.EncoderExceptionFallbackBuffer.Fallback(Char charUnknown, Int32 index)

   at System.Text.Encoding.GetBytesWithFallback(ReadOnlySpan`1 chars, Int32 originalCharsLength, Span`1 bytes, Int32 originalBytesLength, EncoderNLS encoder, Boolean throwForDestinationOverflow)

   at System.Text.Encoding.GetBytesWithFallback(Char* pOriginalChars, Int32 originalCharCount, Byte* pOriginalBytes, Int32 originalByteCount, Int32 charsConsumedSoFar, Int32 bytesWrittenSoFar, EncoderNLS encoder)

   at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)

   at System.IO.StreamWriter.Dispose(Boolean disposing)

   at System.IO.TextWriter.Dispose()

   at Microsoft.PowerShell.PSConsoleReadLine.<>c__DisplayClass104_0.<WriteHistoryRange>b__0()

   at Microsoft.PowerShell.PSConsoleReadLine.<>c__DisplayClass104_0.<WriteHistoryRange>b__0()

   at Microsoft.PowerShell.PSConsoleReadLine.WithHistoryFileMutexDo(Int32 timeout, Action action)

   at Microsoft.PowerShell.PSConsoleReadLine.WriteHistoryRange(Int32 start, Int32 end, Boolean overwritten)

   at Microsoft.PowerShell.PSConsoleReadLine.IncrementalHistoryWrite()

   at Microsoft.PowerShell.PSConsoleReadLine.MaybeAddToHistory(String result, List`1 edits, Int32 undoEditIndex, Boolean fromDifferentSession, Boolean fromInitialRead)

   at Microsoft.PowerShell.PSConsoleReadLine.InputLoop()

   at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics, CancellationToken cancellationToken, Nullable`1 lastRunStatus)
Screenshot
Environment data
PS Version: 7.6.9
PS HostName: ConsoleHost
PSReadLine Version: 2.4.5
PSReadLine EditMode: Windows
OS: 10.0.20348.4647 (WinBuild.160101.0800)
BufferWidth: 317
BufferHeight: 9001
Steps to reproduce

$deleteditems = Get - MgDirectoryDeletedItemAsGroup
$deletedItems.description -like '�*'

Expected behavior

No exception

Actual behavior

the above happens

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

Preparar el entorno

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.