Creating multiple handles for covergroup in new constructor

In reply to dave_59:

hi

I am using embedded cover group in my TB,


class baby_coverage extends uvm_subscriber #(baby_pkt); 
  
  `uvm_component_utils(baby_coverage)  
   uvm_analysis_imp #(baby_pkt,baby_coverage) baby_coverage_imp;

  covergroup baby_covergroup;
   option.per_instance = 1;
	//----------------------------------------------
	//                COVERPOINTS       
	//----------------------------------------------
	coverpoint pktt.READ_FROM_INVALID_STATE 
				{
				bins PIPE_0_READ_FROM_INVLAID[] = { 	pktt.DADY_0_PIPE_0_baby_RD_FROM_INVALID, 
													pktt.DADY_1_PIPE_0_baby_RD_FROM_INVALID,
													pktt.DADY_2_PIPE_0_baby_RD_FROM_INVALID,
													pktt.DADY_3_PIPE_0_baby_RD_FROM_INVALID,
													pktt.DADY_4_PIPE_0_baby_RD_FROM_INVALID,
													pktt.DADY_5_PIPE_0_baby_RD_FROM_INVALID,
													pktt.DADY_6_PIPE_0_baby_RD_FROM_INVALID,
													pktt.DADY_7_PIPE_0_baby_RD_FROM_INVALID
													};
				bins PIPE_1_READ_FROM_INVLAID[] = { 	pktt.DADY_0_PIPE_1_baby_RD_FROM_INVALID, 
													pktt.DADY_1_PIPE_1_baby_RD_FROM_INVALID,
													pktt.DADY_2_PIPE_1_baby_RD_FROM_INVALID,
													pktt.DADY_3_PIPE_1_baby_RD_FROM_INVALID,
													pktt.DADY_4_PIPE_1_baby_RD_FROM_INVALID,
													pktt.DADY_5_PIPE_1_baby_RD_FROM_INVALID,
													pktt.DADY_6_PIPE_1_baby_RD_FROM_INVALID,
													pktt.DADY_7_PIPE_1_baby_RD_FROM_INVALID
													};
				bins PIPE_2_READ_FROM_INVLAID[] = { 	pktt.DADY_0_PIPE_2_baby_RD_FROM_INVALID, 
													pktt.DADY_1_PIPE_2_baby_RD_FROM_INVALID,
													pktt.DADY_2_PIPE_2_baby_RD_FROM_INVALID,
													pktt.DADY_3_PIPE_2_baby_RD_FROM_INVALID,
													pktt.DADY_4_PIPE_2_baby_RD_FROM_INVALID,
													pktt.DADY_5_PIPE_2_baby_RD_FROM_INVALID,
													pktt.DADY_6_PIPE_2_baby_RD_FROM_INVALID,
													pktt.DADY_7_PIPE_2_baby_RD_FROM_INVALID
													};
				bins PIPE_3_READ_FROM_INVLAID[] = { 	pktt.DADY_0_PIPE_3_baby_RD_FROM_INVALID, 
													pktt.DADY_1_PIPE_3_baby_RD_FROM_INVALID,
													pktt.DADY_2_PIPE_3_baby_RD_FROM_INVALID,
													pktt.DADY_3_PIPE_3_baby_RD_FROM_INVALID,
													pktt.DADY_4_PIPE_3_baby_RD_FROM_INVALID,
													pktt.DADY_5_PIPE_3_baby_RD_FROM_INVALID,
													pktt.DADY_6_PIPE_3_baby_RD_FROM_INVALID,
													pktt.DADY_7_PIPE_3_baby_RD_FROM_INVALID
													};
				bins PIPE_4_READ_FROM_INVLAID[] = { 	pktt.DADY_0_PIPE_4_baby_RD_FROM_INVALID, 
													pktt.DADY_1_PIPE_4_baby_RD_FROM_INVALID,
													pktt.DADY_2_PIPE_4_baby_RD_FROM_INVALID,
													pktt.DADY_3_PIPE_4_baby_RD_FROM_INVALID,
													pktt.DADY_4_PIPE_4_baby_RD_FROM_INVALID,
													pktt.DADY_5_PIPE_4_baby_RD_FROM_INVALID,
													pktt.DADY_6_PIPE_4_baby_RD_FROM_INVALID,
													pktt.DADY_7_PIPE_4_baby_RD_FROM_INVALID
													};
				bins PIPE_5_READ_FROM_INVLAID[] = { 	pktt.DADY_0_PIPE_5_baby_RD_FROM_INVALID, 
													pktt.DADY_1_PIPE_5_baby_RD_FROM_INVALID,
													pktt.DADY_2_PIPE_5_baby_RD_FROM_INVALID,
													pktt.DADY_3_PIPE_5_baby_RD_FROM_INVALID,
													pktt.DADY_4_PIPE_5_baby_RD_FROM_INVALID,
													pktt.DADY_5_PIPE_5_baby_RD_FROM_INVALID,
													pktt.DADY_6_PIPE_5_baby_RD_FROM_INVALID,
													pktt.DADY_7_PIPE_5_baby_RD_FROM_INVALID
													};
				} 
				....


  endgroup : baby_covergroup
   
  function new(string name = "baby_coverage", uvm_component parent);
    super.new(name, parent);
    baby_covergroup = new();  //[ERROR]
	$display("baby_covergroup object created"); 
  endfunction 
   baby_pkt pktt;	

  virtual function void write (input baby_pkt t1);
	//pktt = t1;
	$cast(pktt,t1.clone());
    baby_covergroup.sample();
  endfunction

  function void build_phase(uvm_phase phase);
  super.build_phase(phase);
    baby_coverage_imp = new("baby_coverage_imp", this);
	$display("baby_coverage_imp object created"); 
  endfunction : build_phase

endclass

for the above code, I am getting NOA [Null object access] error at line
baby_covergroup = new(); //[ERROR]
the object at dereference depth 1 is being used before it was constructed/allocated.
make sure that the object is allocated before using it

can anyone help me, this code is syntax correct, I am getting this issue at run time,