lowRISC / lowRISC/opentitan

[test-triage] //sw/device/tests:gpio_pinmux_test_sim_verilator is broken

Open
#17,812 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.