[CI] Most tests fail on Ubuntu 18.04
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 524
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 46
Description
I have a Docker-based repro: https://github.com/llvm/circt/blob/crashes-1804/utils/run-docker-1804.sh. Just run `./utils/run-docker-1804.sh`. This is running the LLVM build in the release config w/ asserts enabled and CIRCT in debug. I've attached a log of the crashes: [test_fails.log](https://github.com/llvm/circt/files/6495753/test_fails.log).
```
Failed Tests (210):
CIRCT :: CAPI/ir.c
CIRCT :: Conversion/FIRRTLToHW/errors.mlir
CIRCT :: Conversion/FIRRTLToHW/lower-to-hw-errors.mlir
CIRCT :: Conversion/FIRRTLToHW/lower-to-hw-module.mlir
CIRCT :: Conversion/FIRRTLToHW/lower-to-hw.mlir
CIRCT :: Conversion/FIRRTLToHW/zero-width.mlir
CIRCT :: Conversion/FIRRTLToLLHD/connect.fir
CIRCT :: Conversion/FIRRTLToLLHD/empty_inouts.fir
CIRCT :: Conversion/FIRRTLToLLHD/empty_ins.fir
CIRCT :: Conversion/FIRRTLToLLHD/empty_none.fir
CIRCT :: Conversion/FIRRTLToLLHD/empty_outs.fir
CIRCT :: Conversion/HWToLLHD/errors.mlir
CIRCT :: Conversion/HWToLLHD/structure.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/simple_addi.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_branch.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_buffer.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_cmerge.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_conditional_branch.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_constant.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_fork.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_join.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_lazy_fork.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_load.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_memory.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_merge.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_mux.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_sink.mlir
CIRCT :: Conversion/HandshakeToFIRRTL/test_store.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_arithmetic.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_bitwise.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_entity.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_extract.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_insert.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_memory.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_process_persistence.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_signals.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_simple.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_value_creation.mlir
CIRCT :: Conversion/LLHDToLLVM/convert_wait.mlir
CIRCT :: Conversion/StandardToHandshake/Affine/errors.mlir
CIRCT :: Conversion/StandardToHandshake/Affine/test-affine-for.mlir
CIRCT :: Conversion/StandardToHandshake/Affine/test-affine-load-store.mlir
CIRCT :: Conversion/StandardToHandshake/test1.mlir
CIRCT :: Conversion/StandardToHandshake/test10.mlir
CIRCT :: Conversion/StandardToHandshake/test11.mlir
CIRCT :: Conversion/StandardToHandshake/test12.mlir
CIRCT :: Conversion/StandardToHandshake/test13.mlir
CIRCT :: Conversion/StandardToHandshake/test14.mlir
CIRCT :: Conversion/StandardToHandshake/test15.mlir
CIRCT :: Conversion/StandardToHandshake/test16.mlir
CIRCT :: Conversion/StandardToHandshake/test17.mlir
CIRCT :: Conversion/StandardToHandshake/test18.mlir
CIRCT :: Conversion/StandardToHandshake/test19.mlir
CIRCT :: Conversion/StandardToHandshake/test2.mlir
CIRCT :: Conversion/StandardToHandshake/test20.mlir
CIRCT :: Conversion/StandardToHandshake/test21.mlir
CIRCT :: Conversion/StandardToHandshake/test22.mlir
CIRCT :: Conversion/StandardToHandshake/test23.mlir
CIRCT :: Conversion/StandardToHandshake/test24.mlir
CIRCT :: Conversion/StandardToHandshake/test25.mlir
CIRCT :: Conversion/StandardToHandshake/test26.mlir
CIRCT :: Conversion/StandardToHandshake/test27.mlir
CIRCT :: Conversion/StandardToHandshake/test28.mlir
CIRCT :: Conversion/StandardToHandshake/test29.mlir
CIRCT :: Conversion/StandardToHandshake/test3.mlir
CIRCT :: Conversion/StandardToHandshake/test30.mlir
CIRCT :: Conversion/StandardToHandshake/test31.mlir
CIRCT :: Conversion/StandardToHandshake/test32.mlir
CIRCT :: Conversion/StandardToHandshake/test33.mlir
CIRCT :: Conversion/StandardToHandshake/test34.mlir
CIRCT :: Conversion/StandardToHandshake/test35.mlir
CIRCT :: Conversion/StandardToHandshake/test4.mlir
CIRCT :: Conversion/StandardToHandshake/test5.mlir
CIRCT :: Conversion/StandardToHandshake/test6.mlir
CIRCT :: Conversion/StandardToHandshake/test7.mlir
CIRCT :: Conversion/StandardToHandshake/test8.mlir
CIRCT :: Conversion/StandardToHandshake/test9.mlir
CIRCT :: Conversion/StandardToHandshake/test_canonicalize.mlir
CIRCT :: Conversion/StandardToHandshake/test_insert_buffer.mlir
CIRCT :: Conversion/StandardToHandshake/test_insert_buffer_errors.mlir
CIRCT :: Conversion/StandardToStaticLogic/test_pipeline.mlir
CIRCT :: Dialect/ESI/connectivity.mlir
CIRCT :: Dialect/ESI/errors.mlir
CIRCT :: Dialect/ESI/lowering.mlir
CIRCT :: Dialect/ESI/modwrap.mlir
CIRCT :: Dialect/ESI/wrapif-lowering.mlir
CIRCT :: Dialect/FIRRTL/annotations.fir
CIRCT :: Dialect/FIRRTL/blackbox-memory.mlir
CIRCT :: Dialect/FIRRTL/canonicalization.mlir
CIRCT :: Dialect/FIRRTL/check-widths-errors.mlir
CIRCT :: Dialect/FIRRTL/connect-errors.mlir
CIRCT :: Dialect/FIRRTL/connect.mlir
CIRCT :: Dialect/FIRRTL/const-prop-single-module.mlir
CIRCT :: Dialect/FIRRTL/cse.mlir
CIRCT :: Dialect/FIRRTL/errors.mlir
CIRCT :: Dialect/FIRRTL/expand-whens-errors.mlir
CIRCT :: Dialect/FIRRTL/expand-whens.mlir
CIRCT :: Dialect/FIRRTL/imconstprop.mlir
CIRCT :: Dialect/FIRRTL/infer-widths-errors.mlir
CIRCT :: Dialect/FIRRTL/infer-widths.mlir
CIRCT :: Dialect/FIRRTL/inliner.mlir
CIRCT :: Dialect/FIRRTL/lower-types-errors.mlir
CIRCT :: Dialect/FIRRTL/lower-types.mlir
CIRCT :: Dialect/FIRRTL/parse-basic.fir
CIRCT :: Dialect/FIRRTL/parse-errors.fir
CIRCT :: Dialect/FIRRTL/parse-locations.fir
CIRCT :: Dialect/FIRRTL/test.mlir
CIRCT :: Dialect/HW/basic.mlir
CIRCT :: Dialect/HW/bitwise.mlir
CIRCT :: Dialect/HW/canonicalization.mlir
CIRCT :: Dialect/HW/errors.mlir
CIRCT :: Dialect/HW/greybox.mlir
CIRCT :: Dialect/HW/modules.mlir
CIRCT :: Dialect/HW/svEmitErrors.mlir
CIRCT :: Dialect/HW/typedecls.mlir
CIRCT :: Dialect/HW/types.mlir
CIRCT :: Dialect/Handshake/errors.mlir
CIRCT :: Dialect/LLHD/Canonicalization/arithmetic.mlir
CIRCT :: Dialect/LLHD/Canonicalization/bitwise.mlir
CIRCT :: Dialect/LLHD/Canonicalization/constant.mlir
CIRCT :: Dialect/LLHD/Canonicalization/extract.mlir
CIRCT :: Dialect/LLHD/Canonicalization/memory.mlir
CIRCT :: Dialect/LLHD/Canonicalization/probeCSE.mlir
CIRCT :: Dialect/LLHD/Canonicalization/signalOps.mlir
CIRCT :: Dialect/LLHD/Export/verilog_arithmetic.mlir
CIRCT :: Dialect/LLHD/Export/verilog_bitwise.mlir
CIRCT :: Dialect/LLHD/Export/verilog_entity.mlir
CIRCT :: Dialect/LLHD/Export/verilog_relations.mlir
CIRCT :: Dialect/LLHD/Export/verilog_sig.mlir
CIRCT :: Dialect/LLHD/Export/verilog_sig_errors.mlir
CIRCT :: Dialect/LLHD/IR/arithmetic.mlir
CIRCT :: Dialect/LLHD/IR/array.mlir
CIRCT :: Dialect/LLHD/IR/bitwise.mlir
CIRCT :: Dialect/LLHD/IR/connect-errors.mlir
CIRCT :: Dialect/LLHD/IR/connect.mlir
CIRCT :: Dialect/LLHD/IR/const.mlir
CIRCT :: Dialect/LLHD/IR/entity.mlir
CIRCT :: Dialect/LLHD/IR/extract-errors.mlir
CIRCT :: Dialect/LLHD/IR/extract.mlir
CIRCT :: Dialect/LLHD/IR/insert-errors.mlir
CIRCT :: Dialect/LLHD/IR/insert.mlir
CIRCT :: Dialect/LLHD/IR/inst-errors.mlir
CIRCT :: Dialect/LLHD/IR/inst.mlir
CIRCT :: Dialect/LLHD/IR/memory.mlir
CIRCT :: Dialect/LLHD/IR/proc.mlir
CIRCT :: Dialect/LLHD/IR/reg.mlir
CIRCT :: Dialect/LLHD/IR/signal-errors.mlir
CIRCT :: Dialect/LLHD/IR/signal.mlir
CIRCT :: Dialect/LLHD/IR/time.mlir
CIRCT :: Dialect/LLHD/IR/tuple.mlir
CIRCT :: Dialect/LLHD/IR/wait.mlir
CIRCT :: Dialect/LLHD/Simulator/sim_arbitrary_signal_size.mlir
CIRCT :: Dialect/LLHD/Simulator/sim_array_boundary_check.mlir
CIRCT :: Dialect/LLHD/Simulator/sim_bit_precision_drives.mlir
CIRCT :: Dialect/LLHD/Simulator/sim_formats.mlir
CIRCT :: Dialect/LLHD/Simulator/sim_process.mlir
CIRCT :: Dialect/LLHD/Simulator/sim_reg.mlir
CIRCT :: Dialect/LLHD/Simulator/sim_shifts.mlir
CIRCT :: Dialect/LLHD/Simulator/sim_simple.mlir
CIRCT :: Dialect/LLHD/Simulator/sim_wait.mlir
CIRCT :: Dialect/LLHD/Transforms/earlyCodeMotion.mlir
CIRCT :: Dialect/LLHD/Transforms/memoryToBlockArgument.mlir
CIRCT :: Dialect/LLHD/Transforms/processLowering.mlir
CIRCT :: Dialect/LLHD/Transforms/processLoweringErrors.mlir
CIRCT :: Dialect/LLHD/Transforms/totalFunctionInlining.mlir
CIRCT :: Dialect/MSFT/location.mlir
CIRCT :: Dialect/MSFT/opt-errors.mlir
CIRCT :: Dialect/MSFT/translate-errors.mlir
CIRCT :: Dialect/SV/basic.mlir
CIRCT :: Dialect/SV/canonicalization.mlir
CIRCT :: Dialect/SV/errors.mlir
CIRCT :: Dialect/SV/hw-cleanup.mlir
CIRCT :: Dialect/SV/hw-generator-callout.mlir
CIRCT :: Dialect/SV/hw-legalize-names-errors.mlir
CIRCT :: Dialect/SV/hw-legalize-names.mlir
CIRCT :: Dialect/SV/hw-memsim.mlir
CIRCT :: Dialect/SV/interfaces.mlir
CIRCT :: Dialect/SV/prettify-verilog.mlir
CIRCT :: Dialect/Seq/basic.mlir
CIRCT :: ExportVerilog/hw-dialect.mlir
CIRCT :: ExportVerilog/hw-typedecls.mlir
CIRCT :: ExportVerilog/line-length.mlir
CIRCT :: ExportVerilog/load-dialect.mlir
CIRCT :: ExportVerilog/sv-alwaysff.mlir
CIRCT :: ExportVerilog/sv-dialect.mlir
CIRCT :: ExportVerilog/sv-interfaces.mlir
CIRCT :: ExportVerilog/verilog-basic.mlir
CIRCT :: ExportVerilog/verilog-errors.mlir
CIRCT :: circt-opt/trivial.mlir
CIRCT :: circt-translate/parse_int64.fir
CIRCT :: firtool/firtool.fir
CIRCT :: firtool/firtool.mlir
CIRCT :: firtool/optimizations.fir
CIRCT :: firtool/phase-ordering.fir
CIRCT :: firtool/split-verilog.mlir
CIRCT :: firtool/style.fir
CIRCT :: handshake-runner/call_bb.mlir
CIRCT :: handshake-runner/cdiv-old-std.mlir
CIRCT :: handshake-runner/cdiv-std.mlir
CIRCT :: handshake-runner/complex_bb.mlir
CIRCT :: handshake-runner/floydwarshall-std.mlir
CIRCT :: handshake-runner/histogram-std.mlir
CIRCT :: handshake-runner/loadstore.mlir
CIRCT :: handshake-runner/loop-check-1-std.mlir
CIRCT :: handshake-runner/loop-check-2-std.mlir
CIRCT :: handshake-runner/matmul-check-std.mlir
CIRCT :: handshake-runner/matmul-std.mlir
CIRCT :: handshake-runner/memory_simple_2_std.mlir
CIRCT :: handshake-runner/memory_simple_std.mlir
CIRCT :: handshake-runner/simple_loop.mlir
Testing Time: 1.34s
Unsupported: 4
Passed : 6
Failed : 210
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by running utils/run-docker-1804.sh to reproduce the Ubuntu 18.04 failures, then inspect test_fails.log and the listed failed tests. Compare the release LLVM build with asserts enabled and the debug CIRCT configuration described in the issue. Done means identifying the common cause and restoring the affected test suite to passing on this environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, docker, ubuntu
- Domain
- ci-cd, operating-systems, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100