You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the ran source will just run fine with output result being false [string "skibidi"]:2: mafakas
actual behavior:
luau vm gets halted since _emscripten_throw_longjmp is called internally and the implementation of that said function just errors "Infinity"
temporary workaround:
use Fiu as luau VM (I don't want to do that)
using 0.640 of luauception
The text was updated successfully, but these errors were encountered:
did not try the rest of the versions since VM doesn't work there
jLn0n
changed the title
calling error function on a luau sandbox causes the ran thread to halt
calling error function on a luau vm causes the ran thread to throw error
Sep 8, 2024
jLn0n
changed the title
calling error function on a luau vm causes the ran thread to throw error
calling error function on a luau vm causes the ran thread to throw error even when pcalled
Sep 8, 2024
This appears to be error handling related or a lack thereof.
Perhaps looking into this would guide you in the right direction.
Though Wasynth doesn't like it when adding the -fwasm-exceptions -sSUPPORT_LONGJMP=wasm flags (It doesn't know how to translate the Throw instruction),
And manually emulating it in Luau like how emscripten does it with JavaScript could be too time-consuming to implement (You can give it a shot by using the -fexceptions -sSUPPORT_LONGJMP=emscripten flags).
To needlessly repeat myself, the original problem could be solved in two ways:
By Wasynth implementing the Throw instruction, and the -fwasm-exceptions -sSUPPORT_LONGJMP=wasm flags being added to compilation and linking.
By using the -fexceptions -sSUPPORT_LONGJMP=emscripten flags and looking at how the .js and .wasm normally communicate and re-implement that in Luau like how _setitimer_js or _localtime_js was implemented (the related functions could be: __cxa_begin_catch, __cxa_end_catch, __cxa_find_matching_catch_*, and __resumeException).
However, you should take this all with a grain of salt, and do some testing of your own - I'm pretty clueless too.
expected behavior:
false [string "skibidi"]:2: mafakas
actual behavior:
luau vm gets halted since
_emscripten_throw_longjmp
is called internally and the implementation of that said function just errors"Infinity"
temporary workaround:
using 0.640 of luauception
The text was updated successfully, but these errors were encountered: