Can't record dynamic array in sequence item

I am using QuestaSim 10.3a_1 and try to record a dynamic array in the sequence item. But it doesn’t show in the waveform window. When I try to fix the array size and use uvm_field_sarray_int to record it, it works well and data show as expected in the waveform windows.

My code:


    # sequence item
    parameter int P_BIT_DEPTH = 10;
    rand int unsigned                   data_len;
    rand bit unsigned [P_BIT_DEPTH-1:0] data [];
    ...
    `uvm_field_array_int(data,     UVM_ALL_ON+UVM_UNSIGNED)
    `uvm_field_int      (data_len, UVM_ALL_ON+UVM_UNSIGNED)
    ...
    constraint c_data_size { data.size() == data_len; };
    constraint c_data_size_order { solve data_len before data; };

    # Sequence body task
    start_item(req);
    if (! req.randomize() with { data_len == 2; })
       `uvm_error(tID, "Can't randomize ingress packet")
    finish_item(req);

req.sprintf() always prints the right information, no matter data is dynamic or static array.