OVM 2.1.2 bug: Issue with macro `ovm_field_array_object

In the OVM source code for ovm_field_array_object, M_OVM_FIELD_ARRAY_OBJ_PACK macro is being called.
Under this macro (M_OVM_FIELD_ARRAY_OBJ_PACK) definition, for OVM_UNPACK case:

      if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) begin \
            if(ovm_auto_options_object.packer.use_metadata) begin \
              int s_; \
              s_ = ovm_auto_options_object.packer.unpack_field_int(32); \
              if(ARG.size() < s_) \
                _global_reporter.ovm_report_error("OBJUPK", $psprintf(`"Array ARG cannot support the unpack operation, the unpack requires %0d elements, ARG has only %0d`", s_, ARG.size()), OVM_NONE); \
            end \
            foreach(ARG[i]) begin \
              ovm_auto_options_object.packer.unpack_object(ARG[i]); \
              if(ovm_auto_options_object.packer.use_metadata == 0 && ARG[i] == null) begin \
                <font size=20>m_sc.scope.up(null); \</font>
                return; \
              end \
            end \
          end \
        end \

Here, I have highlighted a text (under the if condition: ovm_auto_options_object.packer.use_metadata == 0 && ARG[i] == null)
m_sc.scope.up(null);

This particular line is missing.

Not sure if this is already known. But just in case someone is using this macro, please be aware of the above line.

FYI, this code has been totally re-written for UVM.

Still, we do not recommend using the field automation macros. MacroCostBenefit | Verification Academy