Report phase

please check if you have UVM_MAX_QUIT_COUNT set, does your test have any UVM_ERROR/FATAL ?

if the test exits with UVM_EXIT ( on FATAL or if quit count is reached ) , the report_phase is not executed, so what you are trying to do here wont work if your test exits with UVM_EXIT.

if you want to print any information, when tests encounters UVM_EXIT, only function to use is pre_abort ( in uvm_component )


 // Function: pre_abort
  //
  // This callback is executed when the message system is executing a
  // <UVM_EXIT> action. The exit action causes an immediate termination of
  // the simulation, but the pre_abort callback hook gives components an 
  // opportunity to provide additional information to the user before
  // the termination happens. For example, a test may want to executed
  // the report function of a particular component even when an error
  // condition has happened to force a premature termination you would
  // write a function like:
  //
  //| function void mycomponent::pre_abort();
  //|   report();
  //| endfunction
  //
  // The pre_abort() callback hooks are called in a bottom-up fashion.

or you can use final_block in a module.