On 6/18/26 23:35, Gabriele Monaco wrote:
On Thu, 2026-06-18 at 01:11 +0800, Wen Yang wrote:
Thank you for your feedback.
I am using a WSL dev environment with 12 cores and 16GB. The config
of the tested kernel code is as follows:

Uhm that's a strange one, I cannot get a machine like that..
The closest is a 16 CPUs where I can limit the resources in vng.



I switched to a server with 32 cores and 126 GB mem, based on the following code: https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git 8970865b788e

Then, using the above defconfig, and manually enabled:
CONFIG_RV_REACT_PRINTK_KUNIT=y
CONFIG_RV_REACT_PANIC_KUNIT=y

The issue can still be reproduced, as follows:

...
[ 2.467818] rtc_cmos PNP0B00:00: setting system clock to 2026-06-20T08:53:17 UTC (1781945597) [ 2.467959] rtc_cmos PNP0B00:00: alarms up to one day, y3k, 242 bytes nvram, hpet irqs [ 2.468796] i6300ESB timer 0000:00:03.0: initialized. heartbeat=30 sec (nowayout=0) [ 2.469135] device-mapper: ioctl: 4.50.0-ioctl (2025-04-28) initialised: [email protected]
[    2.471695] NET: Registered PF_PACKET protocol family
[    2.471724] 9pnet: Installing 9P2000 support
[    2.473143] Key type dns_resolver registered
[    2.483567] IPI shorthand broadcast: enabled
[ 2.508735] sched_clock: Marking stable (2449003255, 59304729)->(2516047879, -7739895)
[    2.510654] registered taskstats version 1
[    2.511333] Loading compiled-in X.509 certificates
[    2.535612] Demotion targets for Node 0: null
[    2.536818] netconsole: network logging started
[    2.537105] clk: Disabling unused clocks
[    2.537129] ALSA device list:
[    2.537132]   No soundcards found.
[    2.537133] KTAP version 1
[    2.537134] 1..2
[    2.538768]     KTAP version 1
[    2.538769]     # Subtest: rv_reactor_printk
[    2.538770]     # module: reactor_printk_kunit
[    2.538771]     1..5
[    2.539198]     ok 1 test_printk_register_unregister
[    2.539278] printk violation message
[    2.539309]
[    2.539309] =============================
[    2.539310] [ BUG: Invalid wait context ]
[    2.539310] 7.1.0-rc5-virtme #15 Tainted: G                 N
[    2.539311] -----------------------------
[    2.539311] kunit_try_catch/420 is trying to lock:
[ 2.539312] ffff8e347e93e1a0 (&rq->__lock){-...}-{2:2}, at: __schedule+0xf5/0x1390
[    2.539317] other info that might help us debug this:
[    2.539317] context-{5:5}
[    2.539317] 1 lock held by kunit_try_catch/420:
[ 2.539318] #0: ffffffffb9d8c3e0 (rv_react_map-wait-type-override){+.+.}-{1:1}, at: rv_react+0x56/0xd0
[    2.539321] stack backtrace:
[ 2.539322] CPU: 22 UID: 0 PID: 420 Comm: kunit_try_catch Tainted: G N 7.1.0-rc5-virtme #15 PREEMPT_{RT,(full)}
[    2.539323] Tainted: [N]=TEST
[ 2.539324] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
[    2.539324] Call Trace:
[    2.539325]  <TASK>
[    2.539326]  dump_stack_lvl+0x82/0xd0
[    2.539328]  __lock_acquire+0xabc/0x27e0
[    2.539330]  ? desc_read_finalized_seq+0x2e/0x90
[    2.539333]  lock_acquire+0xd5/0x320
[    2.539334]  ? __schedule+0xf5/0x1390
[    2.539336]  _raw_spin_lock_nested+0x39/0x50
[    2.539338]  ? __schedule+0xf5/0x1390
[    2.539339]  __schedule+0xf5/0x1390
[    2.539341]  ? mark_held_locks+0x49/0x80
[    2.539342]  preempt_schedule_irq+0x37/0x70
[    2.539343]  irqentry_exit+0x1c5/0x750
[    2.539344]  ? rcu_is_watching+0x11/0x50
[    2.539346]  ? trace_hardirqs_off_finish+0xac/0xd0
[    2.539348]  asm_sysvec_apic_timer_interrupt+0x1a/0x20
[    2.539349] RIP: 0010:mock_printk_react+0x2a/0x50
[ 2.539351] Code: f3 0f 1e fa 0f 1f 44 00 00 41 54 49 89 f4 55 48 89 fd 53 e8 c8 a2 dd ff 4c 89 e6 48 89 ef 48 89 c3 e8 ba 21 ee ff eb 02 f3 90 <e8> b1 a2 dd ff 48 29 d8 48 3d 3f 4b 4c 00 76 ee 5b 5d 41 5c c3 cc
[    2.539352] RSP: 0000:ffffd26a80ebfd48 EFLAGS: 00000297
[ 2.539353] RAX: 0000000000005a6c RBX: 0000000097d06aed RCX: 000000000000001f [ 2.539354] RDX: 0000000000000000 RSI: 00000000282920b2 RDI: fffffffff2cc40ea [ 2.539354] RBP: ffffffffb9aac37e R08: 0000000000000002 R09: 0000000000000000 [ 2.539355] R10: 0000000000000001 R11: 0000000000000000 R12: ffffd26a80ebfd70 [ 2.539355] R13: ffffffffb8a6a366 R14: ffffffffb8e49e70 R15: ffffd26a80013be8
[    2.539355]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[    2.539357]  ? rv_react+0x56/0xd0
[    2.539360]  ? mock_printk_react+0x2f/0x50
[    2.539362]  rv_react+0x9c/0xd0
[    2.539363]  ? rv_react+0x56/0xd0
[    2.539365]  test_printk_react_called+0x83/0xb0
[    2.539367]  ? __pfx_mock_printk_react+0x10/0x10
[    2.539368]  ? __pfx_mock_printk_react+0x10/0x10
[    2.539370]  kunit_try_run_case+0x74/0x160
[    2.539372]  ? lockdep_hardirqs_on+0xc1/0x140
[    2.539373]  ? _raw_spin_unlock_irqrestore+0x46/0x80
[    2.539375]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[    2.539375]  kunit_generic_run_threadfn_adapter+0x21/0x40
[    2.539376]  kthread+0x126/0x170
[    2.539378]  ? __pfx_kthread+0x10/0x10
[    2.539378]  ret_from_fork+0x22b/0x310
[    2.539380]  ? __pfx_kthread+0x10/0x10
[    2.539381]  ret_from_fork_asm+0x1a/0x30
[    2.539384]  </TASK>
[ 2.544290] kunit_try_catch (420) used greatest stack depth: 12920 bytes left
[    2.544542]     ok 2 test_printk_react_called
[    2.544768] Reactor test_printk is already registered
[    2.544819]     ok 3 test_printk_double_register
[    2.544953]     ok 4 test_printk_register_cycle
[    2.545121]     ok 5 test_printk_react_not_null
[    2.545121] # rv_reactor_printk: pass:5 fail:0 skip:0 total:5
[    2.545122] # Totals: pass:5 fail:0 skip:0 total:5
[    2.545123] ok 1 rv_reactor_printk
[    2.545123]     KTAP version 1
[    2.545123]     # Subtest: rv_reactor_panic
[    2.545124]     # module: reactor_panic_kunit
[    2.545124]     1..2
[    2.545284]     ok 1 test_panic_register_unregister
[ 2.545337] KUnit: reactor_panic test intercepted panic notifier: panic violation message
[    2.547624]     ok 2 test_panic_notifier_called
[    2.547624] # rv_reactor_panic: pass:2 fail:0 skip:0 total:2
[    2.547625] # Totals: pass:2 fail:0 skip:0 total:2
[    2.547625] ok 2 rv_reactor_panic
[    2.612894] ata2: found unknown device (class 0)
[    2.616059] ata2.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100
[ 2.621249] kobject: 'devlink' (0000000023b6b59a): kobject_add_internal: parent: 'virtual', set: '(null)' [ 2.621380] kobject: ':ata2--scsi:1:0:0:0' (0000000079538692): kobject_add_internal: parent: 'devlink', set: 'devices' [ 2.621467] kobject: ':ata2--scsi:1:0:0:0' (0000000079538692): kobject_uevent_env [ 2.621473] kobject: ':ata2--scsi:1:0:0:0' (0000000079538692): fill_kobj_path: path = '/devices/virtual/devlink/:ata2--scsi:1:0:0:0' [ 2.624159] scsi 1:0:0:0: CD-ROM QEMU QEMU DVD-ROM 2.5+ PQ: 0 ANSI: 5 [ 2.637661] kobject: 'target1:0:0' (00000000e7e99ebc): kobject_add_internal: parent: 'host1', set: 'devices'
...

The above warning appears in the middle of the screen output, not at the end, because kunit is built-in and is executed before the init starts.

In addition, there is another issue at the very end: warning: WARNING: kernel/exit.c:902 at do_exit+0x9d8/0xc60, CPU#0: virtme-ng-init/1)...


--
Best wishes,
Wen





Reply via email to