eclipse-platform / eclipse-platform/eclipse.platform
Few WorkManager fields are not MT safe
- Lingua principale
- Java
- Stelle
- 165
- Fork
- 174
- Merge medio
- 2g 8h
- PR unite (30g)
- 22
Descrizione
While debugging https://github.com/eclipse-jdt/eclipse.jdt.core/issues/4370 I've noticed that in the `org.eclipse.core.internal.resources.WorkManager` few fields are not volatile/atomic but could be accessed from different threads, so even if the modification happens while holding workspace locks, other threads might see stale values.
Fields in question are
- `WorkManager.operationCanceled`
- `WorkManager.nestedOperations`
- `WorkManager.preparedOperations`
I don't have reproducer, but I think making the fields either volatile or atomic shouldn't harm.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia individuando org.eclipse.core.internal.resources.WorkManager e tracciando gli accessi concorrenti a operationCanceled, nestedOperations e preparedOperations. Determina se l’uso esistente del blocco del workspace consente ancora letture obsolete; il lavoro è completato quando i campi hanno una visibilità sicura tra i thread senza modificare il comportamento di WorkManager.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100