Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Another NULL pointer dereference after reset in the middle #35

Closed
kazt81 opened this issue May 19, 2022 · 7 comments · Fixed by #36
Closed

Another NULL pointer dereference after reset in the middle #35

kazt81 opened this issue May 19, 2022 · 7 comments · Fixed by #36
Assignees
Labels
bug Something isn't working

Comments

@kazt81
Copy link
Contributor

kazt81 commented May 19, 2022

The latest version has another NULL pointer dereference as below:

xmsim: *E,TRNULLID: NULL pointer dereference.
          File: /opt/eda/cadence/XCELIUM2103/tools/methodology/UVM/CDNS-1.2/sv/src/base/uvm_transaction.svh, line = 521, pos = 14
         Scope: worklib.uvm_pkg::uvm_transaction::get_event_pool
          Time: 7134 NS + 13
Verilog Stack Trace:
0: function worklib.uvm_pkg::uvm_transaction::get_event_pool at /opt/eda/cadence/XCELIUM2103/tools/methodology/UVM/CDNS-1.2/sv/src/base/uvm_transaction.svh:521
1: function worklib.tue_pkg::tue_sequence_item_base#(uvm_pkg::uvm_sequence_item,tvip_axi_pkg::tvip_axi_configuration,tvip_axi_pkg::tvip_axi_status,tvip_axi_pkg::tvip_axi_configuration,tvip_axi_pkg::tvip_axi_status)::get_event at /path/to/tvip-axi/tue/src/seq/tue_sequence_item_base.svh:41
2: function worklib.tue_pkg::tue_sequence_item_base#(uvm_pkg::uvm_sequence_item,tvip_axi_pkg::tvip_axi_configuration,tvip_axi_pkg::tvip_axi_status,tvip_axi_pkg::tvip_axi_configuration,tvip_axi_pkg::tvip_axi_status)::ended at /path/to/tvip-axi/tue/src/seq/tue_sequence_item_base.svh:51
3: task worklib.tvip_axi_pkg::tvip_axi_slave_driver_start_delay_consumer@13753_2.delay_thread at /path/to/tvip-axi/src/tvip_axi_slave_driver.svh:66
4: process in worklib.tvip_axi_pkg::tvip_axi_slave_driver_start_delay_consumer@13753_2.start_delay_thread.unmblk1 at /path/to/tvip-axi/src/tvip_axi_slave_driver.svh:48
@kazt81
Copy link
Contributor Author

kazt81 commented May 19, 2022

I've confirmed if this line is moved after the while loop then this issue isn't observed:

@taichi-ishitani
Copy link
Owner

Hi @kazt81 ,
Thank you for reporting this error.
Can you change tvip_axi_slave_driver.svh: line 66 like below and try again?

if ((item.item != null) && (!item.item.ended())) begin

@taichi-ishitani
Copy link
Owner

I have also committed the fix for this error.
e2d29ef

@kazt81
Copy link
Contributor Author

kazt81 commented May 19, 2022

How about line 71 that seems to require non-NULL checking?

@taichi-ishitani
Copy link
Owner

taichi-ishitani commented May 19, 2022

How about line 71 that seems to require non-NULL checking?

In this case, delay_queue[id].try_get(item) should return 0 so I think null pointer check is not needed.

while (delay_queue[id].try_get(item)) begin

@taichi-ishitani taichi-ishitani self-assigned this May 19, 2022
@taichi-ishitani taichi-ishitani added the bug Something isn't working label May 19, 2022
@kazt81
Copy link
Contributor Author

kazt81 commented May 19, 2022

Thanks, I've check there's no issue with the latest commit.

@taichi-ishitani
Copy link
Owner

Thank you for your checking.
I've merged the fix for this error.
f79a6f7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants