VUnit / vunit

VUnit is a unit testing framework for VHDL/SystemVerilog
http://vunit.github.io/
Other
697 stars 250 forks source link

VUnit GHDL docker image crash #968

Open albydnc opened 8 months ago

albydnc commented 8 months ago

I am trying to run my simulation on the ghdl:vunit/llvm-master docker image but I am getting this error.

Traceback (most recent call last):
  File "/opt/venv/lib/python3.11/site-packages/vunit/test/runner.py", line 244, in _run_test_suite
    results = test_suite.run(output_path=output_path, read_output=read_output)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/vunit/test/list.py", line 105, in run
    test_ok = self._test_case.run(*args, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/vunit/test/suites.py", line 72, in run
    results = self._run.run(*args, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/vunit/test/suites.py", line 178, in run
    sim_ok = self._simulate(output_path)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/vunit/test/suites.py", line 237, in _simulate
    return self._simulator_if.simulate(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/vunit/sim_if/ghdl.py", line 353, in simulate
    proc = Process(cmd, env=gcov_env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/vunit/ostools.py", line 134, in __init__
    self._reader.start()
  File "/usr/lib/python3.11/threading.py", line 957, in start
    _start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
Exception ignored in: <function Process.__del__ at 0x7ff29672f740>
Traceback (most recent call last):
  File "/opt/venv/lib/python3.11/site-packages/vunit/ostools.py", line 240, in __del__
    self.terminate()
  File "/opt/venv/lib/python3.11/site-packages/vunit/ostools.py", line 234, in terminate
    self._reader.join()
  File "/usr/lib/python3.11/threading.py", line 1107, in join
    raise RuntimeError("cannot join thread before it is started")
RuntimeError: cannot join thread before it is started

The simulation runs fine if I use hdlc/sim:osvb image. They ship the same VUnit version, but a different release of GHDL (v3.0.0-540 for the ghdl one, v3.0.0-340 for the hdlc one).