PSReadLine Exception when filtering with replacement character �

Aperta
#5,228 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
csharp, powershell
Ambito
cli

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

Lingua principale
C#
Stelle
4.4k
Fork
345
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PowerShell/PSReadLine

Tutte le issue di PowerShell/PSReadLine

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.