oxidecomputer / oxidecomputer/lmar

`lmar -p` thread panics with node "instance not set"

Open
#13 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
5
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Observed on 0XV2:913-0000023:002:2AM0YM3H on oxygen manufacturing station.

See /staff/adam/mfg-145/0XV2:913-0000023:002:22NH8XX7 for details.

lmar -p ran successfully on prior boots.

On the current affected boot, every run of lmar -p produces the same error.

Related to:

unknown # RUST_BACKTRACE=full ./lmar -p
[0/1/3] pcieb0 -- 0x1022 0x153e -- Gen4x4  SUPPORTED
    [2/0/0] nvme0 -- 0x1344 0x51c3 -- Gen4x4  SUPPORTED
[20/1/3] pcieb2 -- 0x1022 0x153e -- Gen4x4  SUPPORTED
    [21/0/0] nvme1 -- 0x1344 0x51c3 -- Gen4x4  SUPPORTED
[40/1/1] pcieb3 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
    [43/0/0] nvme2 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
[40/1/2] pcieb4 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
    [44/0/0] nvme3 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
[40/1/3] pcieb5 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
    [45/0/0] nvme4 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
[60/1/1] pcieb8 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
    [61/0/0] nvme-1 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
[60/1/2] pcieb9 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
    [62/0/0] nvme6 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
[60/1/3] pcieb10 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
    [63/0/0] nvme7 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
[a0/1/1] pcieb11 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
    [a2/0/0] nvme8 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
[a0/1/2] pcieb12 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
    [a3/0/0] nvme9 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
[a0/1/3] pcieb13 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
    [a4/0/0] nvme10 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
[a0/1/4] pcieb14 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
    [a5/0/0] nvme11 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
[c0/1/1] pcieb16 -- 0x1022 0x153e -- Gen1x8
    [c1/0/0] t6mfg1 -- 0x1425 0xb000 -- Gen1x8
    [c1/0/1] ??-1 -- 0x1425 0xb001 -- Gen1x8
    [c1/0/2] ??-1 -- 0x1425 0xb002 -- Gen1x8
    [c1/0/3] ??-1 -- 0x1425 0xb003 -- Gen1x8
    [c1/0/4] ??-1 -- 0x1425 0xb004 -- Gen1x8
    [c1/0/5] ??-1 -- 0x1425 0xb005 -- Gen1x8
    [c1/0/6] ??-1 -- 0x1425 0xb006 -- Gen1x8
    [c1/0/7] ??-1 -- 0x1425 0xb007 -- Gen1x8
[e0/1/2] pcieb17 -- 0x1022 0x153e -- Gen3x4
    [e3/0/0] ixgbe0 -- 0x8086 0x1563 -- Gen3x4
    [e3/0/1] ixgbe1 -- 0x8086 0x1563 -- Gen3x4
---
Margining [2/0/0] nvme0 -- 0x1344 0x51c3 -- Gen4x4  SUPPORTED
Margining [43/0/0] nvme2 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
Margining [40/1/1] pcieb3 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
Margining [21/0/0] nvme1 -- 0x1344 0x51c3 -- Gen4x4  SUPPORTED
Margining [40/1/2] pcieb4 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
Margining [0/1/3] pcieb0 -- 0x1022 0x153e -- Gen4x4  SUPPORTED
Margining [45/0/0] nvme4 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
Margining [20/1/3] pcieb2 -- 0x1022 0x153e -- Gen4x4  SUPPORTED
Margining [40/1/3] pcieb5 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
Margining [61/0/0] nvme-1 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
Margining [60/1/1] pcieb8 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
Margining [44/0/0] nvme3 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
Margining [62/0/0] nvme6 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
Margining [60/1/2] pcieb9 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
Margining [63/0/0] nvme7 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
Margining [a2/0/0] nvme8 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
Margining [60/1/3] pcieb10 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
Margining [a0/1/1] pcieb11 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
Margining [a3/0/0] nvme9 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
Margining [a0/1/2] pcieb12 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
Margining [a4/0/0] nvme10 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
Margining [a0/1/3] pcieb13 -- 0x1022 0x153e -- Gen5x4  SUPPORTED
Margining [a5/0/0] nvme11 -- 0x1b96 0x2751 -- Gen5x4  SUPPORTED
Margining [a0/1/4] pcieb14 -- 0x1022 0x153e -- Gen5x4  SUPPORTED

thread '<unnamed>' (12) panicked at src/main.rs:2481:51:
instance not set
stack backtrace:
   0:           0x80659e - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h7fb787cf02ecf067
   1:           0x8376cf - core::fmt::write::h0e6ffda62e2ab989
   2:           0x7bf010 - std::io::Write::write_fmt::hf87b20e1b5abcc1d
   3:           0x7d0a12 - std::sys::backtrace::BacktraceLock::print::h2118728da495bf95
   4:           0x7d73dc - std::panicking::default_hook::{{closure}}::ha6ef311b4a961ac9
   5:           0x7d7226 - std::panicking::default_hook::h09afcfa093540a53
   6:           0x7d7b2b - std::panicking::panic_with_hook::h6f6630bb15543974
   7:           0x7d78d8 - std::panicking::panic_handler::{{closure}}::h0fa8884cef8a0651
   8:           0x7d0b49 - std::sys::backtrace::__rust_end_short_backtrace::h25213986b109b8dd
   9:           0x7b1f0c - __rustc[eb8946e36839644a]::rust_begin_unwind
  10:           0x847c7f - core::panicking::panic_fmt::hda720bd8f33a9fd1
  11:           0x84654a - core::option::expect_failed::h1140a1161c0e28b2
  12:           0x569847 - lmar::margin_one::hbcb088101b6b4fe6
  13:           0x5810f9 - std::sys::backtrace::__rust_begin_short_backtrace::h2cf525cbd8a59a52
  14:           0x5ad0c5 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hce4fe0e9a70597e5
  15:           0x7ccc3f - std::sys::thread::unix::Thread::new::thread_start::ha097fb815024401f
  16: 0xfffff1ffeeb27027 - _thrp_setup
  17: 0xfffff1ffeeb27370 - <unknown>
^C
unknown #
unknown # /usr/lib/pci/pcieadm show-devs
BDF     TYPE           INSTANCE       DEVICE
0/0/0   PCI            amdzen_stub16  Turin Root Complex
0/0/2   PCI            --             Turin IOMMU
0/0/3   PCI            --             Turin RCEC
0/1/0   PCI            --             Turin PCIe Dummy Host Bridge
0/1/3   PCIe Gen 4x4   pcieb0         Turin GPP Bridge
2/0/0   PCIe Gen 4x4   nvme0          7450 PRO NVMe SSD
0/2/0   PCI            --             Turin PCIe Dummy Host Bridge
0/3/0   PCI            --             Turin PCIe Dummy Host Bridge
0/4/0   PCI            --             Turin PCIe Dummy Host Bridge
0/5/0   PCI            --             Turin PCIe Dummy Host Bridge
0/7/0   PCI            --             Turin PCIe Dummy Host Bridge
0/7/1   PCIe Gen 5x16  pcieb1         Turin Internal PCIe GPP Bridge to Bus [D:C]
1/0/0   PCIe Gen 5x16  --             Turin PCIe Dummy Function
0/14/0  PCI            --             FCH SMBus Controller
0/14/3  PCI            --             FCH LPC Bridge
0/18/0  PCI            amdzen_stub17  Turin Data Fabric; Function 0
0/18/1  PCI            amdzen_stub18  Turin Data Fabric; Function 1
0/18/2  PCI            amdzen_stub19  Turin Data Fabric; Function 2
0/18/3  PCI            amdzen_stub20  Turin Data Fabric; Function 3
0/18/4  PCI            amdzen_stub21  Turin Data Fabric; Function 4
0/18/5  PCI            amdzen_stub22  Turin Data Fabric; Function 5
0/18/6  PCI            amdzen_stub23  Turin Data Fabric; Function 6
0/18/7  PCI            amdzen_stub24  Turin Data Fabric; Function 7
20/0/0  PCI            amdzen_stub25  Turin Root Complex
20/0/3  PCI            --             Turin RCEC
20/1/0  PCI            --             Turin PCIe Dummy Host Bridge
20/1/3  PCIe Gen 4x4   pcieb2         Turin GPP Bridge
21/0/0  PCIe Gen 4x4   nvme1          7450 PRO NVMe SSD
20/2/0  PCI            --             Turin PCIe Dummy Host Bridge
40/0/0  PCI            amdzen_stub30  Turin Root Complex
BDF     TYPE           INSTANCE       DEVICE
40/0/2  PCI            --             Turin IOMMU
40/0/3  PCI            --             Turin RCEC
40/1/0  PCI            --             Turin PCIe Dummy Host Bridge
40/1/1  PCIe Gen 5x4   pcieb3         Turin GPP Bridge
43/0/0  PCIe Gen 5x4   nvme2          Ultrastar DC SN861 NVMe SSD
40/1/2  PCIe Gen 5x4   pcieb4         Turin GPP Bridge
44/0/0  PCIe Gen 5x4   nvme3          Ultrastar DC SN861 NVMe SSD
40/1/3  PCIe Gen 5x4   pcieb5         Turin GPP Bridge
45/0/0  PCIe Gen 5x4   nvme4          Ultrastar DC SN861 NVMe SSD
40/2/0  PCI            --             Turin PCIe Dummy Host Bridge
40/3/0  PCI            --             Turin PCIe Dummy Host Bridge
40/4/0  PCI            --             Turin PCIe Dummy Host Bridge
40/5/0  PCI            --             Turin PCIe Dummy Host Bridge
40/7/0  PCI            --             Turin PCIe Dummy Host Bridge
40/7/1  PCIe Gen 5x16  pcieb6         Turin Internal PCIe GPP Bridge to Bus [D:C]
41/0/0  PCIe Gen 5x16  --             Turin PCIe Dummy Function
41/0/2  PCIe Gen 5x16  --             Unknown device: 0x14c0
41/0/3  PCIe Gen 5x16  --             Secondary vNTB
41/0/4  PCIe Gen 5x16  --             Turin USB 3.1 xHCI
41/0/5  PCIe Gen 5x16  --             Turin CCP/ASP
41/0/6  PCIe Gen 5x16  --             Unknown device: 0x14cb
41/0/7  PCIe Gen 5x16  --             Unknown device: 0x14cc
40/7/2  PCIe Gen 5x16  pcieb7         Turin Internal PCIe GPP Bridge to Bus [D:C]
42/0/0  PCIe Gen 5x16  --             FCH SATA Controller [AHCI mode]
42/0/1  PCIe Gen 5x16  --             FCH SATA Controller [AHCI mode]
60/0/0  PCI            amdzen_stub27  Turin Root Complex
60/0/3  PCI            --             Turin RCEC
60/1/0  PCI            --             Turin PCIe Dummy Host Bridge
60/1/1  PCIe Gen 5x4   pcieb8         Turin GPP Bridge
61/0/0  PCIe Gen 5x4   --             Ultrastar DC SN861 NVMe SSD
BDF     TYPE           INSTANCE       DEVICE
60/1/2  PCIe Gen 5x4   pcieb9         Turin GPP Bridge
62/0/0  PCIe Gen 5x4   nvme6          Ultrastar DC SN861 NVMe SSD
60/1/3  PCIe Gen 5x4   pcieb10        Turin GPP Bridge
63/0/0  PCIe Gen 5x4   nvme7          Ultrastar DC SN861 NVMe SSD
60/2/0  PCI            --             Turin PCIe Dummy Host Bridge
80/0/0  PCI            amdzen_stub28  Turin Root Complex
80/0/3  PCI            --             Turin RCEC
80/1/0  PCI            --             Turin PCIe Dummy Host Bridge
80/2/0  PCI            --             Turin PCIe Dummy Host Bridge
a0/0/0  PCI            amdzen_stub26  Turin Root Complex
a0/0/2  PCI            --             Turin IOMMU
a0/0/3  PCI            --             Turin RCEC
a0/1/0  PCI            --             Turin PCIe Dummy Host Bridge
a0/1/1  PCIe Gen 5x4   pcieb11        Turin GPP Bridge
a2/0/0  PCIe Gen 5x4   nvme8          Ultrastar DC SN861 NVMe SSD
a0/1/2  PCIe Gen 5x4   pcieb12        Turin GPP Bridge
a3/0/0  PCIe Gen 5x4   nvme9          Ultrastar DC SN861 NVMe SSD
a0/1/3  PCIe Gen 5x4   pcieb13        Turin GPP Bridge
a4/0/0  PCIe Gen 5x4   nvme10         Ultrastar DC SN861 NVMe SSD
a0/1/4  PCIe Gen 5x4   pcieb14        Turin GPP Bridge
a5/0/0  PCIe Gen 5x4   nvme11         Ultrastar DC SN861 NVMe SSD
a0/2/0  PCI            --             Turin PCIe Dummy Host Bridge
a0/3/0  PCI            --             Turin PCIe Dummy Host Bridge
a0/4/0  PCI            --             Turin PCIe Dummy Host Bridge
a0/5/0  PCI            --             Turin PCIe Dummy Host Bridge
a0/7/0  PCI            --             Turin PCIe Dummy Host Bridge
a0/7/1  PCIe Gen 5x16  pcieb15        Turin Internal PCIe GPP Bridge to Bus [D:C]
a1/0/0  PCIe Gen 5x16  --             Turin PCIe Dummy Function
a1/0/2  PCIe Gen 5x16  --             Unknown device: 0x14c0
a1/0/3  PCIe Gen 5x16  --             Secondary vNTB
BDF     TYPE           INSTANCE       DEVICE
a1/0/4  PCIe Gen 5x16  --             Turin USB 3.1 xHCI
a1/0/5  PCIe Gen 5x16  --             Turin CCP/ASP
a1/0/6  PCIe Gen 5x16  --             Unknown device: 0x14cb
a1/0/7  PCIe Gen 5x16  --             Unknown device: 0x14cc
c0/0/0  PCI            amdzen_stub31  Turin Root Complex
c0/0/3  PCI            --             Turin RCEC
c0/1/0  PCI            --             Turin PCIe Dummy Host Bridge
c0/1/1  PCIe Gen 1x8   pcieb16        Turin GPP Bridge
c1/0/0  PCIe Gen 1x8   t6mfg1         Unknown device: 0xb000
c1/0/1  PCIe Gen 1x8   --             Unknown device: 0xb001
c1/0/2  PCIe Gen 1x8   --             Unknown device: 0xb002
c1/0/3  PCIe Gen 1x8   --             Unknown device: 0xb003
c1/0/4  PCIe Gen 1x8   --             Unknown device: 0xb004
c1/0/5  PCIe Gen 1x8   --             Unknown device: 0xb005
c1/0/6  PCIe Gen 1x8   --             Unknown device: 0xb006
c1/0/7  PCIe Gen 1x8   --             Unknown device: 0xb007
c0/2/0  PCI            --             Turin PCIe Dummy Host Bridge
e0/0/0  PCI            amdzen_stub29  Turin Root Complex
e0/0/2  PCI            --             Turin IOMMU
e0/0/3  PCI            --             Turin RCEC
e0/1/0  PCI            --             Turin PCIe Dummy Host Bridge
e0/1/2  PCIe Gen 3x4   pcieb17        Turin GPP Bridge
e3/0/0  PCIe Gen 3x4   ixgbe0         Ethernet Controller X550
e3/0/1  PCIe Gen 3x4   ixgbe1         Ethernet Controller X550
e0/2/0  PCI            --             Turin PCIe Dummy Host Bridge
e0/3/0  PCI            --             Turin PCIe Dummy Host Bridge
e0/4/0  PCI            --             Turin PCIe Dummy Host Bridge
e0/5/0  PCI            --             Turin PCIe Dummy Host Bridge
e0/7/0  PCI            --             Turin PCIe Dummy Host Bridge
e0/7/1  PCIe Gen 5x16  pcieb18        Turin Internal PCIe GPP Bridge to Bus [D:C]
BDF     TYPE           INSTANCE       DEVICE
e1/0/0  PCIe Gen 5x16  --             Turin PCIe Dummy Function
e0/7/2  PCIe Gen 5x16  pcieb19        Turin Internal PCIe GPP Bridge to Bus [D:C]
e2/0/0  PCIe Gen 5x16  --             FCH SATA Controller [AHCI mode]

Contributor guide

No contributing guide indexed for this repository

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

Start at src/main.rs:2481 and trace the margin_one path invoked by lmar -p. Reproduce with the reported PCIe device output and compare it with /usr/lib/pci/pcieadm show-devs, focusing on the device whose instance is unset. Done means lmar -p completes without panicking when this hardware state is present.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.