`mode :: Mode (CmdArgs Cmd) ` memoizes async exceptions, breaking HLS Shake restarts
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne bei der Initialisierung des Top-Level-Modus :: Mode (CmdArgs Cmd) in HLint und verfolge dessen Verwendung von unsafePerformIO. Verwende das verlinkte HLS issue und das beschriebene Szenario einer alten/neuen Shake-session als Reproduktionskontext. Erledigt bedeutet, dass eine asynchrone Kündigung aus einer alten Session bei späteren Zugriffen auf mode nicht erhalten bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The top-level mode :: Mode (CmdArgs Cmd) in HLint is initialized using unsafePerformIO. If an asynchronous exception occurs during this initialization, the exception is captured and memoized in the CAF. As a result, every subsequent access to mode rethrows the same async exception.
In practice, this causes HLS to retain the cancel exception from an old Shake session and propagate it into the new session, immediately killing it.
See https://github.com/haskell/haskell-language-server/issues/4718#issue-3370604152
- Vorherrschende Sprache
- Haskell
- Sterne
- 1.6k
- Forks
- 212
- Ø Merge
- 2 T. 1 Std.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus ndmitchell/hlint
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
ndmitchell/hlint#1710 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
ndmitchell/hlint#1709 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
ndmitchell/hlint#1708 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
ndmitchell/hlint#1707 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 58/100
ndmitchell/hlint#1705 ·
Alle Issues in ndmitchell/hlint
Ähnliche Issues
-
Build error?Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
lolepezy/rpki-prover#367 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
`--arg` for a `bytesN`, `bytes`, `string` or array argument crashes with `Internal Error: TODO`Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
compiler-explorer/compiler-explorer#9308 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
simplex-chat/simplex-chat#7755 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug core-libs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100