LuaLS / LuaLS/lua-language-server
Test failure: attempt to yield from outside a coroutine
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Lua
- Sterne
- 4.4k
- Forks
- 442
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
How are you using the lua-language-server?
Other
Which OS are you using?
Linux
What is the issue affecting?
Other
Expected Behaviour
The test suite should pass consistently.
Actual Behaviour
One time when running the tests, I saw this failure. However, I haven't seen it since.
bin/lua-language-server: attempt to yield from outside a coroutine
stack traceback:
[C]: in function 'coroutine.yield'
script/await.lua:152: in function 'await.wait'
script/workspace/workspace.lua:529: in function 'workspace.workspace.awaitReady'
test/full/self.lua:35: in main chunk
[C]: in upvalue 'originRequire'
test.lua:42: in function 'require'
test/full/init.lua:28: in main chunk
[C]: in upvalue 'originRequire'
test.lua:42: in function 'require'
test.lua:48: in upvalue 'test'
test.lua:109: in local 'main'
test.lua:115: in main chunk
(bootstrap.lua):85: in main chunk
[C]: in ?
The test failed in Alpine's build system CI and the full output is here: https://gitlab.alpinelinux.org/xordspar0/aports/-/jobs/1554206
Reproduction steps
git clone --recursive https://github.com/LuaLS/lua-language-server.gitcd lua-language-serverninja -C 3rd/luamake -f compile/ninja/linux.ninja3rd/luamake/luamake all3rd/luamake/luamake unit-test- Rarely see the above failure.
Additional Notes
lua-language-server version: 3.11.1
Log File
No response
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die aufgeführten Build- und Unit-Test-Befehle auszuführen, und untersuche dann script/await.lua, workspace/workspace.lua und test/full/self.lua rund um den gemeldeten coroutine.yield-Stack. Verwende das Alpine-CI-Log und wiederholte Testläufe, um den intermittierenden Fehler zu untersuchen. Als abgeschlossen gilt die Aufgabe, wenn die Unit-Test-Suite konsistent erfolgreich durchläuft, ohne außerhalb einer Coroutine zu yielden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- lua
- Bereich
- testing-qa
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100