07th-mod / 07th-mod/higurashi-assembly
[All Chapters][Rare] Script compilation fails with "Fatal error in gc: GetThreadContext failed" error (only translations still compile scripts)
- Lingua principale
- C#
- Stelle
- 12
- Fork
- 12
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
## Background
When we first made the mod, we occasionally encountered users who couldn't compile scripts for various reasons (for example, game crashes or freezes during script compilation). But when we sent them already compiled scripts, their game would work normally.
To fix this, for the main English mod, we distribute pre-compiled scripts, the player never even sees the "script compilation". This is the same as how the base game works. The compiled scripts are generated automatically as part of the build process.
However, translators don't necessarily have this setup automatically and/or don't manually include the pre-compiled scripts. So they will still occasionally get script compilation errors.
## Error reported recently: "Fatal Error in gc: GetThreadContext Failed":
One error we have seen ...maybe two or three times is below (which I saw today) is the "Fatal Error in gc: GetThreadContext Failed":
Eventually I sent them the compiled scripts and it fixed the problem.
## Solutions
This is a very rare error, so most likely it isn't worth fixing. However, if it were to be fixed:
1. Tell all the translators to either manually include compiled scripts, or I can give them my github actions build script to do it automatically (I think I made a program to compile scripts, which doesn't require a copy of the game). Also, create a script (run manually?) which scans through all the translations and sees which ones are missing compiled scripts.
2. This method seems too difficult - On our end, have some way to automatically compile scripts for translations and include them in the installer. The main difficulty is that how we have it setup, the translators can update their mod at any time, and we don't have an easy way to see if it was updated/update it in synchronous. So I wouldn't do this method.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Esamina il processo di compilazione degli script esistente nel sistema di build, probabilmente in GitHub Actions o uno strumento personalizzato. Comprendi come vengono generati gli script precompilati per la mod principale. Indaga sull'errore 'Fatal error in gc: GetThreadContext failed', che potrebbe essere specifico dell'ambiente. Determina come automatizzare l'inclusione degli script compilati per le traduzioni, possibilmente modificando lo script di build o creando uno scanner per gli script compilati mancanti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp
- Ambito
- build-system
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 40/100