Cannot pickle '_thread.RLock' object with objmode

from numba import jit, objmode
from numba.core.runtime import rtsys

@jit
def dump_nrt(tag):
    with objmode():
        print(f"tag: {tag}")
        print(f"nrt: {rtsys.get_allocation_stats()}")

@jit
def foo():
    dump_nrt("before")
    x = 1
    dump_nrt("after")
    return x

print(foo())

When run this, I got

  File "open-numba/numba/core/lowering.py", line 1196, in lower_expr
    res = self.lower_call(resty, expr)
  File "open-numba/numba/core/lowering.py", line 909, in lower_call
    res = self._lower_call_ObjModeDispatcher(fnty, expr, signature)
  File "open-numba/numba/core/lowering.py", line 961, in _lower_call_ObjModeDispatcher
    callee = ObjModeUtils(self.pyapi).load_dispatcher(fnty, argtypes)
  File "open-numba/numba/core/pythonapi.py", line 1679, in load_dispatcher
    if serialize.is_serialiable(fnty.dispatcher):
  File "open-numba/numba/core/serialize.py", line 169, in is_serialiable
    pickler.dump(obj)
  File "open-numba/numba/cloudpickle/cloudpickle.py", line 1262, in dump
    return super().dump(obj)
TypeError: cannot pickle '_thread.RLock' object

not sure how to correct this error. Any thought? Thanks!