diff --git a/mindspore/ccsrc/backend/session/session_basic.cc b/mindspore/ccsrc/backend/session/session_basic.cc index 80777482dd1..91939d493a8 100644 --- a/mindspore/ccsrc/backend/session/session_basic.cc +++ b/mindspore/ccsrc/backend/session/session_basic.cc @@ -983,6 +983,16 @@ CNodePtr SessionBasic::ConstructOutput(const AnfNodePtrList &outputs, const std: bool internal_output = true; std::string kernel_target = GetCNodeTarget(front_real_kernel.first); for (auto user : users) { + auto cnode = user.first->cast(); + if (cnode == nullptr) { + internal_output = false; + break; + } + auto prim = cnode->input(kAnfPrimitiveIndex); + if (prim == nullptr || !prim->isa()) { + internal_output = false; + break; + } if (!AnfAlgo::IsRealKernel(user.first) || kernel_target != GetCNodeTarget(user.first)) { internal_output = false; break;