Port-RISCV archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: VisionFive 2 hangs at boot with NVMe



On Mon, 2 Mar 2026, Nick Hudson wrote:

On 02/03/2026 19:23, Benny Siegert wrote:
 On Mon, 2 Mar 2026, Nick Hudson wrote:

 On 01/03/2026 16:18, Benny Siegert wrote:
  I turned HEARTBEAT off, but now it just sits there forever :(

 How about with DEBUG turned off?

 DEBUG turned off makes no difference. The board still hangs and is killed
 after 16s of inactivity by the heartbeat.

 With LOCKDEBUG, I found that the hang appears to be in dk_open (on the
 NVMe, I suppose) while holding that mutex.

OK.

Can you share the output?

Sorry for the long radio silence! FWIW, I tried a new GENERIC64 kernel from Oct 16, and it still hangs.

With the LOCKDEBUG kernel from March, I get:

db{1}> show all locks
[Locks tracked through LWPs]

****** LWP 0.105 (configintr) @ 0xffffffe23de38bc0, l_stat=3

*** Locks held:

* Lock 0 (initialized at netbsd:disk_init+0x2c)
lock address : ffffffe23dcdf870
type         : sleep/adaptive
initialized  : netbsd:disk_init+0x2c
shared holds :                  0 exclusive:                  1
shares wanted:                  0 exclusive:                  0
relevant cpu :                  1 last held:                  1
relevant lwp : 0xffffffe23de38bc0 last held: 0xffffffe23de38bc0
last locked* : netbsd:dk_open+0x40
unlocked     : 0
owner field  : 0xffffffe23de38bc0 wait/spin:                0/0
Turnstile: no active turnstile for this lock.

*** Locks wanted: none

[Locks tracked through CPUs]

******* Locks held on cpu0:

* Lock 0 (initialized at netbsd:kprintf_init+0x28)
lock address : netbsd:kprintf_mtx
type         : spin
initialized  : netbsd:kprintf_init+0x28
shared holds :                  0 exclusive:                  1
shares wanted:                  0 exclusive:                  0
relevant cpu :                  0 last held:                  0
relevant lwp : 0xffffffe04015c500 last held: 0xffffffe04015c500
last locked* : netbsd:vpanic+0xd8
unlocked     : netbsd:device_printf+0x64
owner field  : 0x0000000000000070 wait/spin:                0/1

The LWP mentioned above is this one:

PID     LID S CPU     FLAGS       STRUCT LWP *               NAME WAIT
0       105 3   1       200   ffffffe23de38bc0         configintr biowait


I think you were right all along and this might be a hardware problem or at least somthing to do with missing interrupts?

Does "show event" in ddb show nvme interrupts?

I don't think so. It shows sdmmc0 but not nvme.

--
Benny


Home | Main Index | Thread Index | Old Index