-
-
Notifications
You must be signed in to change notification settings - Fork 94
Closed
Description
Error Message:
nvc --std=19 -H 128m --stderr=error --work=TbCoveragePkg:C:/tools/sim/nvc/VHDL_LIBS/NVC-1.16.2/TBCOV
ERAGEPKG.19 -L C:/tools/sim/nvc/VHDL_LIBS/NVC-1.16.2 -e --jit --no-save TbCov_CovDb_debug -r --ieee-
warnings=off TbCov_CovDb_debug
Error: ** Warning: the --ieee-warnings option may have no effect as the IEEE packages have already b
een initialised, pass --ieee-warnings as a global option instead
Error:
Error: *** Caught exception c0000005 (EXCEPTION_ACCESS_VIOLATION) [address=0000000000000050, ip=0000
7FF6F72AD237] ***
Error:
Error: [00007FF6F70B9B68] _nvc_file_canseek+0x1a98
Error: [00007FFBF264AA12] (KERNELBASE) UnhandledExceptionFilter+0x1f2
Error: [00007FFBF4CE925E] (ntdll) strncpy+0x13ce
Error: [00007FFBF4CA6B52] (ntdll) _C_specific_handler+0x92
Error: [00007FFBF4CE623E] (ntdll) _chkstk+0x9e
Error: [00007FFBF4BF45D6] (ntdll) RtlWow64GetCurrentCpuArea+0xc16
Error: [00007FFBF4CE5B7D] (ntdll) KiUserExceptionDispatcher+0x2d
Error: [00007FF6F72AD236] nvc_set_cover_scope_name+0x216
Error: [00007FF6F71C2F5D] vpi_put_value+0xaa3d
Error: [00007FF6F723BE79] nvc_random_get_next+0x408e9
Error: [00007FF6F723BE79] nvc_random_get_next+0x408e9
Error: [00007FF6F723BE79] nvc_random_get_next+0x408e9
Error: [00007FF6F723BE79] nvc_random_get_next+0x408e9
Error: [00007FF6F70FFA67] std_to_string_real+0x3fee7
Error: [00007FF6F70D893E] std_to_string_real+0x18dbe
Error: [00007FF6F70DC308] std_to_string_real+0x1c788
Error: [00007FF6F70B3F80]
Error: [00007FF6F70B5ACA]
Error: [00007FF6F70AD035]
Error: [00007FF6F5CA3A0D]
Error: [00007FF6F5CA3CC5]
Error: [00007FFBF427E8D6] (KERNEL32) BaseThreadInitThunk+0x16
Error: [00007FFBF4BBC34B] (ntdll) RtlUserThreadStart+0x2b
Error: child killed: segmentation violation
Simulation Finish time 12:12:25, Elapsed time: 0:00:00
% nvc --version
nvc 1.16.2 (1.16.2.r0.gb1d6cab4) (Using LLVM 20.1.5)
Copyright (C) 2011-2025 Nick Gasson
This program comes with ABSOLUTELY NO WARRANTY. This is free software, and
you are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
Minimal Reproducer. Note the line marked with comment "--Seg Fault if here" - if you comment out that line, it runs fine. Leave it in and it is a seg fault.
library osvvm ;
context osvvm.OsvvmContext ;
entity TbCov_CovDb_debug is
end TbCov_CovDb_debug ;
architecture Test1 of TbCov_CovDb_debug is
signal Cov1 : CoverageIDType ;
begin
TestCovProc : process
begin
Cov1 <= NewID("Cov1") ;
wait for 0 ns ;
SetTestName("TbCov_CovDb_debug") ;
-- Construct Bins
SetMessage(Cov1, "AddBins(4, GenBin (0,3) & GenBin(4,59,2) & GenBin (60,63)), 10 Bins. 0 values in bin");
-- SetMessage(Cov1, "Coverge Model Initialized"); -- OK here
AddBins(Cov1, 4, GenBin (0,3) & GenBin(4,59,2) & GenBin (60,63));
SetMessage(Cov1, "Coverge Model Initialized"); -- Seg Fault if here
WriteBin(Cov1) ;
AffirmPassed("Pass the test") ;
EndOfTestSummary ;
std.env.stop ;
wait ;
end process TestCovProc ;
end Test1 ;
This code runs in Questa, RivieraPRO, and GHDL - for what ever that is worth. I will single step the code in another to see if I see anything unusual that OSVVM could be doing.
Metadata
Metadata
Assignees
Labels
No labels