From b858c2f7251aaef76b6bbd2d58e9d30979f7e422 Mon Sep 17 00:00:00 2001 From: RandySheriffH <48490400+RandySheriffH@users.noreply.github.com> Date: Thu, 30 Jun 2022 17:38:59 -0700 Subject: [PATCH] Extend lifetime of KernelDef when creating a standalone op (#12057) place tmp kernel def as local variable to cover the lifetime of kernel creation --- onnxruntime/core/session/standalone_op_invoker.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/onnxruntime/core/session/standalone_op_invoker.cc b/onnxruntime/core/session/standalone_op_invoker.cc index 7eb7237e2c..a30cb915e1 100644 --- a/onnxruntime/core/session/standalone_op_invoker.cc +++ b/onnxruntime/core/session/standalone_op_invoker.cc @@ -398,11 +398,12 @@ onnxruntime::Status CreateOp(const OrtKernelInfo* info, kernel_def_builder->SetName(op_name); kernel_def_builder->SetDomain(domain); kernel_def_builder->SinceVersion(version); + auto kernel_def = kernel_def_builder->Build(); static std::unordered_map kEmptyValueMap; static OrtValueNameIdxMap kEmptyNameMap; - OpKernelInfo tmp_kernel_info(*node_ptr.get(), *kernel_def_builder->Build(), *ep, kEmptyValueMap, kEmptyNameMap, kernel_info->GetDataTransferManager()); + OpKernelInfo tmp_kernel_info(*node_ptr.get(), *kernel_def, *ep, kEmptyValueMap, kEmptyNameMap, kernel_info->GetDataTransferManager()); std::unique_ptr op_kernel; static FuncManager kFuncMgr;