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

Issue #3870, #3873: Fix windows CI target and swap out uhdm-dump #3874

Merged
merged 5 commits into from
Sep 23, 2023

Conversation

hs-apotell
Copy link
Collaborator

Issue #3873: Fix windows clang target

Issue #3870: Swap out uhdm-dump in favor of uhdm-lint

uhdm-dump run during regression aren't of much help - for small tests,
the dump results are in the log itself. For large tests, generated
files are too big to be useful.

Replace udhm-dump with uhdm-lint to report any linting issues.
The linting output is merged with the test log.

Also, add a test for struct_net with union_typespec

uhdm-dump run during regression aren't of much help - for small tests,
the dump results are in the log itself. For large tests, generated
files are too big to be useful.

Replace udhm-dump with uhdm-lint to report any linting issues.
The linting output is merged with the test log.
@alaindargelas alaindargelas merged commit 7b7e26e into chipsalliance:master Sep 23, 2023
19 of 61 checks passed
@hs-apotell hs-apotell deleted the lint branch September 23, 2023 17:46
@alaindargelas
Copy link
Collaborator

I have massive failures after this PR in my local run.
Surelog works fine on individual tests.

python3 scripts/regression.py run

| YosysSmall | FAIL | 0 | 0 | 0 (-1) | 0 (-6) | 0 (-9) | 0 (-4) | 0.00 | 0 | 0 | 0/0 |
| YosysSmallBoom | FAIL | 0 | 0 | 0 | 0 (-291) | 0 (-296) | 0 (-667) | 0.00 | 0 | 0 | 0/0 |
| YosysTests | FAIL | 0 | 0 (-61) | 0 (-38) | 0 (-2368) | 0 | 0 | 0.00 | 0 | 0 | 0/0 |
| YosysTestSuite | FAIL | 0 | 0 (-36) | 0 (-8) | 0 (-215) | 0 | 0 | 0.00 | 0 | 0 | 0/0 |
| YosysVerx | FAIL | 0 | 0 | 0 | 0 (-3) | 0 (-8) | 0 | 0.00 | 0 | 0 | 0/0 |
| Zachjs | FAIL | 0 | 0 (-11) | 0 (-28) | 0 (-128) | 0 | 0 | 0.00 | 0 | 0 | 0/0 |
+--------------------------------------+--------+--------+---------+----------+-----------+-------------+-----------+----------+---------+---------+--------------------+

Summary:
+----------------+-----------------------+
| PASS | 0 |
| DIFF | 5 |
| FAIL | 717 |
| FAILDUMP | 0 |
| SEGFLT | 0 |
| NOGOLD | 0 |
| TOOLFAIL | 0 |
| EXECERR | 0 |
| | |
| MAX CPU TIME | 0 (1364_2005) |
| TOTAL CPU TIME | 0 |
| MAX WALL TIME | 0 (TestSepCompNoHash) |
| MAX MEMORY | 4 (Ariane) |
+----------------+-----------------------+

@hs-apotell
Copy link
Collaborator Author

PR Build here reported a few failures that were to do with need with log update. Surelog code wasn't even changed in this PR so no reason for Surelog to report any failures. CI is not reporting any failure (except for some logs needing update after the last commit to fix the null reference in uhdm-lint binary) it's something local to your machine.

To be CI build which reported only a handful of test log comparison failures (because of the new uhdm-lint output in the log which wasn't there before because of the uhdm-lint crashing on null reference).
https://github.com/chipsalliance/Surelog/actions/runs/6282989999

@alaindargelas
Copy link
Collaborator

alaindargelas commented Sep 23, 2023 via email

@alaindargelas
Copy link
Collaborator

alaindargelas commented Sep 23, 2023 via email

@hs-apotell
Copy link
Collaborator Author

Regression script edits do not include any new dependency. The changes in there are minimal because uhdm-dump and uhdm-lint take the same arguments. The big change was to add another column to the output and merge the logs.

Can you provide me with a regression.log file from one of the failed runs. It should have enough output to provide some hint as to what went wrong.

@alaindargelas
Copy link
Collaborator

alaindargelas commented Sep 23, 2023

FileNotFoundError: [Errno 2] No such file or directory: '/home/alain/Surelog/out/build/x64-Debug/bin/surelog'

cat ./out/build/x64-Debug/regression/WireUnpacked/regression.log
start-time: 2023-09-23 16:52:47.996890

Environment:
test-name: WireUnpacked
test-dirpath: /home/alain/Surelog/tests/WireUnpacked
test-filepath: /home/alain/Surelog/tests/WireUnpacked/WireUnpacked.sl
workspace-dirpath: /home/alain/Surelog
surelog-filepath: /home/alain/Surelog/out/build/x64-Debug/bin/surelog
uhdm_lint-filepath: None
uvm-reldirpath: ../../third_party/UVM
output-dirpath: /home/alain/Surelog/out/build/x64-Debug/regression/WireUnpacked
golden-log-filepath: /home/alain/Surelog/tests/WireUnpacked/WireUnpacked.log
surelog-log-filepath: /home/alain/Surelog/out/build/x64-Debug/regression/WireUnpacked/WireUnpacked.log
uhdm-slpp_all-filepath: /home/alain/Surelog/out/build/x64-Debug/regression/WireUnpacked/slpp_all/surelog.uhdm
uhdm-slpp_unit-filepath: /home/alain/Surelog/out/build/x64-Debug/regression/WireUnpacked/slpp_unit/surelog.uhdm
uhdm-lint-log-filepath: /home/alain/Surelog/out/build/x64-Debug/regression/WireUnpacked/lint.log
roundtrip-output-dirpath: /home/alain/Surelog/out/build/x64-Debug/regression/WireUnpacked/roundtrip
roundtrip_log_filepath: /home/alain/Surelog/out/build/x64-Debug/regression/WireUnpacked/roundtrip/roundtrip.log
tool: None

Snapshot ...
Found 4 files & directories

Running Surelog ...
start-time: 2023-09-23 16:52:47.999764
Loaded command line: -parse -d uhdm -d coveruhdm -elabuhdm -d ast dut.sv -nobuiltin
Processed command line: -parse -d uhdm -d coveruhdm -elabuhdm -d ast dut.sv -nobuiltin -mt 0 -mp 0 -d uhdmstats -d cache -o ../../out/build/x64-Debug/regression/WireUnpacked
Launching surelog with arguments:
['/home/alain/Surelog/out/build/x64-Debug/bin/surelog',
'-parse',
'-d',
'uhdm',
'-d',
'coveruhdm',
'-elabuhdm',
'-d',
'ast',
'dut.sv',
'-nobuiltin',
'-mt',
'0',
'-mp',
'0',
'-d',
'uhdmstats',
'-d',
'cache',
'-o',
'../../out/build/x64-Debug/regression/WireUnpacked']

Surelog threw an exception
Traceback (most recent call last):
File "/home/alain/Surelog/scripts/regression.py", line 422, in _run_surelog
process = subprocess.Popen(
File "/usr/lib/python3.9/subprocess.py", line 951, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.9/subprocess.py", line 1821, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/alain/Surelog/out/build/x64-Debug/bin/surelog'
end-time: 2023-09-23 16:52:48.002013 0:00:00.002249

Normalizing surelog log file /home/alain/Surelog/out/build/x64-Debug/regression/WireUnpacked/WireUnpacked.log

Restoring pristine state ...
Found 4 files & directories

{'result': {'CPU-TIME': 0,
'PHY-MEM': 0,
'STATUS': <Status.FAIL: -2>,
'TESTNAME': 'WireUnpacked',
'VTL-MEM': 0,
'WALL-TIME': datetime.timedelta(microseconds=1799),
'current': {'LINT': 0,
'NOTE': 0,
'ROUNDTRIP_A': 0,
'ROUNDTRIP_B': 0,
'STATS': {}},
'diff-lines': [],
'golden': {'ERROR': 0,
'FATAL': 0,
'LINT': 0,
'NOTE': 240,
'ROUNDTRIP_A': 3,
'ROUNDTRIP_B': 4,
'STATS': {'array_net': 2,
'constant': 32,
'cont_assign': 5,
'design': 2,
'indexed_part_select': 5,
'logic_net': 4,
'logic_typespec': 4,
'module_inst': 8,
'range': 8,
'ref_typespec': 4,
'var_select': 5},
'SYNTAX': 0,
'WARNING': 1},
'golden-log-filepath': '/home/alain/Surelog/tests/WireUnpacked/WireUnpacked.log',
'surelog-log-filepath': '/home/alain/Surelog/out/build/x64-Debug/regression/WireUnpacked/WireUnpacked.log'}}

end-time: 2023-09-23 16:52:48.003839 0:00:00.006949

@hs-apotell
Copy link
Collaborator Author

PR #3876 should be good. I accidentally left local debugging toggle turned ON in scripts/regression.py:40

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants