> In the first check, luaF_newtbcupval() obtains the metamethod just for the sake of checking that it exists, it is not used nor stored for later use.
I missed that the error handling branch that follows depends on this check and calls callclose() unconditionally, which is easy to fix.
Cheers,
V.