On 06. 03. 26, 10:57, Thomas Gleixner wrote:
On Fri, Mar 06 2026 at 06:48, Jiri Slaby wrote:
On 05. 03. 26, 20:25, Thomas Gleixner wrote:
Is there simple way to reproduce?

Unfortunately not at all. To date, I even cannot reproduce locally, it
reproduces exclusively in opensuse build service (and github CI as per
Matthieu's report). I have a project in there with packages which fail
more often than others:
    https://build.opensuse.org/project/monitor/home:jirislaby:softlockup
But it's all green ATM.

Builds of Go 1.24 and tests of rust 1.90 fail the most. The former even
takes only ~ 8 minutes, so it's not that intensive build at all. So the
reasons are unknown to me. At least, Go apparently uses threads for
building (unlike gcc/clang with forks/processes). Dunno about rust.

I tried with tons of test cases which stress test mmcid with threads and
failed.

Me too, with many artificial pthread or fork or combined loads/bombs with loops and yields.

I was once successful to see the failure in a local build of Go: using "osc build --vm-type=kvm" which is what the build service (see below) calls.

It's extremely hard to hit it locally. So there is likely some rather small race window or whatnot.

Can you provide me your .config

Sure, it's the standard openSUSE kernel, i.e.:
https://github.com/openSUSE/kernel-source/blob/9c1596772e0/config/x86_64/default

source version,

It happens with 6.19+, the current failures are with the commit above which is 6.19.5.

I added 7.0-rc2 as well now to:
  https://build.opensuse.org/project/monitor/home:jirislaby:softlockup

Well, it already failed for Go:
https://build.opensuse.org/package/live_build_log/home:jirislaby:softlockup/go1.24/617/x86_64

So at least it is consistent, and not stable tree related ;).


If that helps, I would be likely able to "bisect" the 4 your mm_cid patches if they can be reverted on the top of 6.19 easily. (By letting the kernel run in the build service.)

VM setup (Number of CPUs, memory etc.)?

For example, the currently failing build:
https://build.opensuse.org/package/live_build_log/home:jirislaby:softlockup/rust1.90:test/openSUSE_Factory/x86_64

says:
[ 10s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -M pc,accel=kvm,usb=off,dump-guest-core=off,vmport=off -sandbox on -bios /usr/share/qemu/qboot.rom -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -object iothread,id=io0 -run-with user=qemu -net none -kernel /var/cache/obs/worker/root_4/.mount/boot/kernel -initrd /var/cache/obs/worker/root_4/.mount/boot/initrd -append root=/dev/disk/by-id/virtio-0 rootfstype=ext4 rootflags=noatime elevator=noop nmi_watchdog=0 rw ia32_emulation=1 oops=panic panic=1 quiet console=hvc0 init=/.build/build -m 40960 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe,aio=io_uring -device virtio-blk-pci,iothread=io0,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe,aio=io_uring -device virtio-blk-pci,iothread=io0,drive=swap,serial=1 -device virtio-serial,max_ports=2 -device virtconsole,chardev=virtiocon0 -chardev stdio,mux=on,id=virtiocon0 -mon chardev=virtiocon0 -chardev socket,id=monitor,server=on,wait=off,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 12



The with-7.0-rc2 Go fail above runs:

[ 4s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -M pc,accel=kvm,usb=off,dump-guest-core=off,vmport=off -sandbox on -bios /usr/share/qemu/qboot.rom -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -object iothread,id=io0 -run-with user=qemu -net none -kernel /var/cache/obs/worker/root_12/.mount/boot/kernel -initrd /var/cache/obs/worker/root_12/.mount/boot/initrd -append root=/dev/disk/by-id/virtio-0 rootfstype=ext4 rootflags=noatime elevator=noop nmi_watchdog=0 rw ia32_emulation=1 oops=panic panic=1 quiet console=hvc0 init=/.build/build -m 16384 -drive file=/var/cache/obs/worker/root_12/root,format=raw,if=none,id=disk,cache=unsafe,aio=io_uring -device virtio-blk-pci,iothread=io0,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_12/swap,format=raw,if=none,id=swap,cache=unsafe,aio=io_uring -device virtio-blk-pci,iothread=io0,drive=swap,serial=1 -device virtio-serial,max_ports=2 -device virtconsole,chardev=virtiocon0 -chardev stdio,mux=on,id=virtiocon0 -mon chardev=virtiocon0 -chardev socket,id=monitor,server=on,wait=off,path=/var/cache/obs/worker/root_12/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 4



I tried to find it on that github page Matthiue mentioned but I'm
probably too stupid to navigate this clicky interface.

I haven't looked into the details of the github failure yet...

thanks,
--
js
suse labs

Reply via email to