diff --git a/src/common/backend/utils/error/elog.cpp b/src/common/backend/utils/error/elog.cpp index bdff1e3cd..aef980f04 100644 --- a/src/common/backend/utils/error/elog.cpp +++ b/src/common/backend/utils/error/elog.cpp @@ -514,7 +514,10 @@ void errfinish(int dummy, ...) if (edata->elevel >= u_sess->attr.attr_common.backtrace_min_messages) { StringInfoData buf; initStringInfo(&buf); + + HOLD_INTERRUPTS(); int ret = output_backtrace_to_log(&buf); + RESUME_INTERRUPTS(); if (0 == ret) { edata->backtrace_log = pstrdup(buf.data);