How to confirm the reason of a bug of '$rand.pload'


  constraint pload_cons{pload.size() == len;}
  function new(string name="my_transaction");
    super.new(name);
    pload = new[len];
  endfunction : new

Although this is perfectly legal you do not want to be initialising dynamic arrays in the constructor. Everytime you create a sequence_item you will allocate memory space.

The preferred solution is to randomize len according to the constraints, and then allocate space in post_randomise() instead of new(). This allows you much greater flexibiilty when creating and populating the sequencE_item