Send_request failed to cast sequence item. User type = uvm_reg_item

when I run UVM built in test sequence uvm_reg_hw_reset_seq, I get below UVM_FATAL

UVM_FATAL /ux/tools/synopsys/vcs_2020.03sp1/etc/uvm-1.1/seq/uvm_sequencer_param_base.svh(295) @ 0.000ns: uvm_test_top.m_top_env.m_apb_mst_agt.sequencer [sequencer] send_request failed to cast sequence item. User type = uvm_reg_item

then I checked uvm source code uvm_sequencer_param_base.svh and found that $cast(param_t, t) may cause this error

if ($cast(param_t, t)) begin
if (rerandomize == 1) begin
if (!param_t.randomize()) begin
uvm_report_warning(“SQRSNDREQ”, “Failed to rerandomize sequence item in send_request”);
end
end
if (param_t.get_transaction_id() == -1) begin
param_t.set_transaction_id(sequence_ptr.m_next_transaction_id++);
end
m_last_req_push_front(param_t);
end else begin
if(t == null)
uvm_fatal(get_name(),$sformatf("send_request failed to cast sequence item. User type = null")) else uvm_fatal(get_name(),$sformatf(“send_request failed to cast sequence item. User type = %s”, t.get_type_name()))
end

since I used built in sequence, why will this error occur?

In reply to Sean.L:

There are too many open questions to answer your question:
(1) what is rerandomize
(2) what you are doing with the IDs
(3) where does the queue come from and what is the intention of this queue