eclipse-platform / eclipse-platform/eclipse.platform
Few WorkManager fields are not MT safe
- Lenguaje dominante
- Java
- Estrellas
- 165
- Forks
- 174
- Merge medio
- 2 d 8 h
- PR fusionados (30 d)
- 22
Descripción
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.
Guía de contribución
Línea de trabajo
Comienza localizando org.eclipse.core.internal.resources.WorkManager y siguiendo los accesos concurrentes a operationCanceled, nestedOperations y preparedOperations. Determina si el uso existente del bloqueo del workspace todavía permite lecturas obsoletas; se considera terminado cuando los campos tienen una visibilidad segura entre hilos sin cambiar el comportamiento de WorkManager.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100