OpenComputers icon indicating copy to clipboard operation
OpenComputers copied to clipboard

Coroutine.wrap does not propagate errors raised in a coroutine

Open Fingercomp opened this issue 2 years ago • 1 comments

The following code should raise an error in the main thread, propagating one thrown by the coroutine body:

print(coroutine.wrap(function()
  error("test")
end)())

print("should be unreachable")

In native Lua and in the BIOS environment none of the print calls are reachable. In OpenOS, however, the wrapper intercepts the error and returns the error object; the code above thus prints the following:

/home/test.lua:2: test
should be unreachable

OC 1.8.3. I think this may be a regression in one of the newer OC versions — I certainly remember coroutine.wrap working as expected a while ago (1.7-ish).

Fingercomp avatar Dec 26 '23 18:12 Fingercomp

This regressed in commit https://github.com/MightyPirates/OpenComputers/commit/cdfdb277 . Paging @payonel

asiekierka avatar Apr 07 '24 13:04 asiekierka