luvit / luv

Bare libuv bindings for lua
Apache License 2.0
831 stars 187 forks source link

Flaky UDP test in CI #704

Closed squeek502 closed 5 months ago

squeek502 commented 5 months ago

Some CI runs have been failing with:

Uncaught Error: ./tests/test-udp.lua:229: EBUSY: resource busy or locked
stack traceback:
    [C]: in function 'assert'
    ./tests/test-udp.lua:229: in function <./tests/test-udp.lua:201>
    [C]: in function 'luv.run'
    ./lib/tap.lua:61: in function <./lib/tap.lua:48>
    [C]: in function 'xpcall'
    ./lib/tap.lua:48: in upvalue 'run'
    ./lib/tap.lua:146: in function 'lib/tap'
    tests/run.lua:23: in main chunk
    [C]: in ?

The assert that's failing is

https://github.com/luvit/luv/blob/b32cc4d0487801c1e8941ec53ac97abbd512820b/tests/test-udp.lua#L229

Only seen on macos-latest so far, unsure if it affects others.

zhaozg commented 5 months ago

Manually re-run fails jobs will ok. It's better better call it again when got EBUSY.

squeek502 commented 5 months ago

Note that the test is based on https://github.com/libuv/libuv/blob/v1.x/test/test-udp-multicast-join.c which doesn't seem to have this problem.

zhaozg commented 5 months ago

Maybe later I will do some analysis and testing. now we just skip it.