Race Condition bei readyLatch Reset in reloadWorkspace() #48
Labels
No labels
bug
build
enhancement
headless
P1-critical
P2-high
P3-medium
P4-low
refactoring
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ai-tools/jdt-mcp-server#48
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
HeadlessApplication.readyLatchist einvolatile CountDownLatchder inreloadWorkspace()neu zugewiesen wird:TOCTOU-Race-Condition: Ein Thread der gerade
awaitReady()aufruft, liest den alten (bereits herunter-gezählten) Latch.reloadWorkspace()ersetzt ihn. Der wartende Thread kehrt sofort zurück, obwohl der Reload noch läuft.volatileschützt nur die Sichtbarkeit der Referenz, nicht das Warten auf den richtigen Latch.Vorschlag
Phaserstatt reassignbaremCountDownLatchverwenden:Gefunden von
Gamma, Starke, Fowler (3/3 übereinstimmend)