LuaLS / LuaLS/lua-language-server

Test failure: attempt to yield from outside a coroutine

Abierto
#2,896 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Lua
Estrellas
4.4k
Forks
442
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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
  1. git clone --recursive https://github.com/LuaLS/lua-language-server.git
  2. cd lua-language-server
  3. ninja -C 3rd/luamake -f compile/ninja/linux.ninja
  4. 3rd/luamake/luamake all
  5. 3rd/luamake/luamake unit-test
  6. Rarely see the above failure.
Additional Notes

lua-language-server version: 3.11.1

Log File

No response

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza ejecutando los comandos de build y unit-test indicados y, después, inspecciona script/await.lua, workspace/workspace.lua y test/full/self.lua alrededor de la pila de coroutine.yield indicada. Usa el registro de Alpine CI y ejecuciones repetidas de las pruebas para investigar el fallo intermitente. Se considerará terminado cuando la suite de unit-test pase de forma consistente sin hacer yield fuera de una coroutine.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
lua
Área
testing-qa
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.