plotly / plotly/Plotly.NET

Chart.combine sometimes results in "Collection was modified; enumeration operation may not execute."

Aperta
#357 7 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Status: Needs Repro
Lingua principale
F#
Stelle
860
Fork
99
Merge medio
22m
PR unite (30g)
1

Descrizione

System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.KeyCollection.Enumerator.MoveNext()
   at <StartupCode$DynamicObj-FSC472>.$DynamicObj.GetProperties@81.GenerateNext(IEnumerable`1& next)
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
   at Microsoft.FSharp.Collections.SeqModule.ToList[T](IEnumerable`1 source)
   at DynamicObj.DynamicObj.GetProperties(Boolean includeInstanceProperties)
   at DynamicObj.DynObj.combine(DynamicObj first, DynamicObj second)
   at DynamicObj.DynObj.combine(DynamicObj first, DynamicObj second)
   at DynamicObj.DynObj.combine(DynamicObj first, DynamicObj second)
   at Plotly.NET.GenericChart.combineLayouts@243(Layout first, Layout second)
   at Plotly.NET.GenericChart.combine@309.Invoke(GenericChart acc, GenericChart elem)

The sequences of data I'm feeding it are from immutable lists; so I don't think it's a problem with the way I'm calling Plotly.NET.

I can try again (with the same data) and usually it is successful. Seems to be a sporadic issue. Very odd.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

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 dallo stack trace attraverso DynamicObj.GetProperties, DynObj.combine, GenericChart.combineLayouts e GenericChart.combine; l’issue non indica file sorgente né test. Riproduci l’eccezione intermittente durante la combinazione dei charts, quindi verifica che la combinazione dei charts non generi più l’errore di modifica della collection e aggiungi la copertura di regressione dove si trovano i test esistenti per questo percorso.

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

Valutazione

Stack tecnologico
fsharp
Ambito
data-visualization
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.