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

nvc segfaults while generating the coverage report #909

Closed
yikkrubz opened this issue Jul 4, 2024 · 1 comment
Closed

nvc segfaults while generating the coverage report #909

yikkrubz opened this issue Jul 4, 2024 · 1 comment

Comments

@yikkrubz
Copy link

yikkrubz commented Jul 4, 2024

After elaborating UVVM-based testbenches with coverage enabled works (Thank you for fixing this issue), nvc asks me to file a bug report while creating the coverage report .

For example, generating the coverage report for the testbench uart_vvc_demo_tb, included with the UVVM distribution in the directory bitvis_uart, triggers the message.
I installed uvvm running nvc --install uvvm.

nvc -c --report=report work/_WORK.UART_VVC_DEMO_TB.elab.covdb
** Note: Code coverage report folder: report.
** Note: Code coverage report contains: covered, uncovered, excluded coverage
details.
** Warning: failed to open ../src/ti_uvvm_engine.vhd for coverage report
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S1.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S2.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S3.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S3._B0.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S3._B0.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S3._B0.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S3._B0._S0.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S4.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S5.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S6.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S7.
Dropping coverage for this hierarchy/item from coverage report.
** Warning: Could not locate source file: ../src/ti_uvvm_engine.vhd that NVC
used to collect coverage for:
WORK.UART_VVC_DEMO_TB.I_TEST_HARNESS.I_TI_UVVM_ENGINE.P_INITIALIZE_UVVM._S8.
Dropping coverage for this hierarchy/item from coverage report.

*** Caught signal 11 (SIGSEGV) [address=0x0, ip=0x7ff81171eb32] ***

[0x10c6911f4] signal_handler+0x3d4
[0x7ff811720fdc] (/usr/lib/system/libsystem_platform.dylib) _sigtramp+0x1c

Please report this bug at https://github.com/nickg/nvc/issues

nvc 1.13-devel (1.12.0.r136.g95ad5561) (Using LLVM 18.1.8)
macos 14.5 intel

@nickg
Copy link
Owner

nickg commented Jul 4, 2024

I fixed the crash and also reduced the number of warnings to one per file.

Blebowski pushed a commit to Blebowski/nvc that referenced this issue Jul 7, 2024
Blebowski pushed a commit to Blebowski/nvc that referenced this issue Jul 15, 2024
nickg pushed a commit that referenced this issue Jul 18, 2024
* src: Move toggle coverage emit (recursive array traversal) to "cov-data" from lower.

* src: Linearize control flow in cover_add_toggle_items_for.

* src, test: Convert toggle coverage to separate cover_item for 0->1 and 1->0.

* src: Set "num" by default to 1 -> Becomes valid for statements. Simplify cover chain append logic for COV_ITEM_STMT.

* src: Move "num" setting for COV_ITEM_TOGGLE to better place.

* WIP: Branch coverage - Conversion to counters.

* src: Convert branch items fully to single item per covered item in reports too.

* src: Move bin name append for toggle items to cover_add_item.

* src: Move FSM state coverage logic to "cover" and make it counter, not flag.

* src: Fix typo in Button that gives you coverage exclude command.

* src: Move "num" setting for COV_ITEM_TOGGLE to better place.

* WIP: Branch coverage - Conversion to counters.

* src: Convert branch items fully to single item per covered item in reports too.

* src: Move bin name append for toggle items to cover_add_item.

* src: Port fixes from #909 and #906 to coverage refactoring.

* src, test: Rework expression coverage conversion to counters.

* src: Unify reporting of COV_ITEM_FUNCTIONAL to use new conversion to cover_chain_t.

* src: Remove Exclude mask from cov_item_t, now handled by single flag.

* src: Fix build on MACOS.

* src, test: Fix leak in the branch coverage.

* src: Rename "num" to "consecutive" to better correspond to its meaning.

* src, test: Get rid of the BIN in the exclude file completely.

* src, test: Clarify that simultaneous covered + excluded will result in covered.

* src: Unify "cover_add_*" API towards lower.

* src, test: Merge VCODE_OP_COVER_STMT, VCODE_OP_COVER_BRANCH and VCODE_OP_COVER_EXPRESSION.

* src, test: Rename "STATE" to "BIN_STATE" to have the same naming as rest of bins.

* NEWS, www: Update documentation and changes.

* Apply comments from review.

* Revert "src, test: Merge VCODE_OP_COVER_STMT, VCODE_OP_COVER_BRANCH and VCODE_OP_COVER_EXPRESSION."

This reverts commit 9daa3dc.

* src: Remove unused variable.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants