eclipse-platform / eclipse-platform/eclipse.platform

Few WorkManager fields are not MT safe

Abierto
#2,148 1 comentario 0 reacciones 0 asignados Ver en GitHub
bug
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.