MessagePack-CSharp / MessagePack-CSharp/MessagePack-CSharp

Analyzer try report diagnostics MsgPack003 on codes that are not from current assembly, and then crash with code AD0001

Aperta
#2,200 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C#
Stelle
6.8k
Fork
775
Merge medio
3h 26m
PR unite (30g)
6

Descrizione

#### Bug description

If you have an object with [MessagePackObject], and it contains a member without it, the analyzer will report a MsgPack003. Then if that member's type is from another assembly in source code form, it will crash.

#### Repro steps

Open the mrp project I attached, turn on global analysis, and you will see the warning.
Is confirmed with vs and vsc on windows. Not sure about rider and on other os.

#### Expected behavior

No AD0001 warning.

#### Actual behavior

AD0001, which is actually a analyzer crash.

- Version used: MessagePack 3.1.3 from nuget
- Runtime: Net9.0

#### Additional context

![Image](https://github.com/user-attachments/assets/02808eb7-0ed5-4001-95a6-4a53dfce85c9)

[Mrp_MessagePackAnalyzerBug.zip](https://github.com/user-attachments/files/20557228/Mrp_MessagePackAnalyzerBug.zip)

Guida per i contributori

Apri la guida per i contributori

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.

Direzione di ricerca

Inizia con l'archivio allegato Mrp_MessagePackAnalyzerBug.zip e riproduci il comportamento dell'analizzatore con MessagePack 3.1.3 su .NET 9.0, usando Visual Studio o VS Code con l'analisi globale abilitata. Traccia il percorso diagnostico per un membro il cui tipo proviene da un altro assembly di origine; il lavoro è completato quando la riproduzione non produce più il crash dell'analizzatore AD0001.

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

Valutazione

Stack tecnologico
csharp
Ambito
tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.