]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw/rgw_lua*: return unknown field error using luaL_error() 41743/head
authorKefu Chai <kchai@redhat.com>
Tue, 8 Jun 2021 04:44:21 +0000 (12:44 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 8 Jun 2021 04:44:43 +0000 (12:44 +0800)
commit0182a116707b3880f2ec62772f9b0a0b996f0aa5
tree194d203e0fd4d844aec29618215c524dd4beca4c
parent9b2e0b6ac2986489fea4d40a6ee7be21d21111a6
rgw/rgw_lua*: return unknown field error using luaL_error()

it's found on aarch64, the exception is not caught even if we do
catch exactly the same type of thrown exception, and the uncaught
exception ends up with a std::terminate() call. it could be the ABI
mismatch in aarch64, so the C++ runtime failed to find the catch block.

in this change, luaL_error() is used to populate the error to the
caller instead to workaround this issue.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/rgw/rgw_lua_request.cc
src/rgw/rgw_lua_utils.h