[test-triage] //sw/device/tests:gpio_pinmux_test_sim_verilator is broken
Open
Nobody has claimed this yet.
Component:ChipLevelTest
Component:TestTriage
Earlgrey-PROD Candidate
IP:gpio
Priority:P2
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
Hierarchy of regression failure
Chip Level
Failure Description
[2023-04-04T17:27:13Z INFO opentitanlib::transport::verilator::transport] gpio_read = /usr/local/google/home/hcindyl/.cache/bazel/_bazel_hcindyl/29be86bcb7738fde464aa7b1e974a4e1/execroot/lowrisc_opentitan/bazel-out/k8-fastbuild/bin/sw/device/tests/gpio_pinmux_test_sim_verilator.runfiles/lowrisc_opentitan/gpio0-read
[2023-04-04T17:27:13Z INFO opentitanlib::transport::verilator::transport] gpio_write = /usr/local/google/home/hcindyl/.cache/bazel/_bazel_hcindyl/29be86bcb7738fde464aa7b1e974a4e1/execroot/lowrisc_opentitan/bazel-out/k8-fastbuild/bin/sw/device/tests/gpio_pinmux_test_sim_verilator.runfiles/lowrisc_opentitan/gpio0-write
[2023-04-04T17:27:13Z INFO opentitanlib::transport::verilator::transport] uart = /dev/pts/23
[2023-04-04T17:27:13Z INFO opentitanlib::transport::verilator::transport] spi = /dev/pts/22
Error: invalid digit found in string
Stack backtrace:
0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
2: <opentitanlib::transport::verilator::transport::Verilator as opentitanlib::transport::Transport>::gpio_pin
3: opentitanlib::app::TransportWrapper::gpio_pin
4: opentitanlib::app::TransportWrapper::apply_pin_configuration
5: opentitanlib::app::TransportWrapper::apply_pin_configurations
6: opentitanlib::app::TransportWrapper::apply_default_configuration
7: opentitanlib::test_utils::init::InitializeTest::init_target
8: gpio::main
9: core::ops::function::FnOnce::call_once
10: std::sys_common::backtrace::__rust_begin_short_backtrace
11: std::rt::lang_start::{{closure}}
12: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
at /rustc/c18a5e8a5b1afb0d7a582fe9ebad4c1996c90da3/library/core/src/ops/function.rs:287:13
13: std::panicking::try::do_call
at /rustc/c18a5e8a5b1afb0d7a582fe9ebad4c1996c90da3/library/std/src/panicking.rs:483:40
14: std::panicking::try
at /rustc/c18a5e8a5b1afb0d7a582fe9ebad4c1996c90da3/library/std/src/panicking.rs:447:19
15: std::panic::catch_unwind
at /rustc/c18a5e8a5b1afb0d7a582fe9ebad4c1996c90da3/library/std/src/panic.rs:140:14
16: std::rt::lang_start_internal::{{closure}}
at /rustc/c18a5e8a5b1afb0d7a582fe9ebad4c1996c90da3/library/std/src/rt.rs:148:48
17: std::panicking::try::do_call
at /rustc/c18a5e8a5b1afb0d7a582fe9ebad4c1996c90da3/library/std/src/panicking.rs:483:40
18: std::panicking::try
at /rustc/c18a5e8a5b1afb0d7a582fe9ebad4c1996c90da3/library/std/src/panicking.rs:447:19
19: std::panic::catch_unwind
at /rustc/c18a5e8a5b1afb0d7a582fe9ebad4c1996c90da3/library/std/src/panic.rs:140:14
20: std::rt::lang_start_internal
at /rustc/c18a5e8a5b1afb0d7a582fe9ebad4c1996c90da3/library/std/src/rt.rs:148:20
21: std::rt::lang_start
22: main
23: __libc_start_call_main
at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
24: __libc_start_main_impl
at ./csu/../csu/libc-start.c:381:3
25: _start
Steps to Reproduce
- GitHub Revision: 09ebf5660
bazel test --test_output=errors //sw/device/tests:gpio_pinmux_test_sim_verilator
Tests with similar or related failures
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Run bazel test --test_output=errors //sw/device/tests:gpio_pinmux_test_sim_verilator at revision 09ebf5660 and inspect the failure in the Verilator transport gpio_pin path. Trace how apply_pin_configurations reaches gpio_pin and identify why the GPIO value produces an invalid-digit error. Done means the named test passes without this initialization failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- embedded-iot, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100