вторник

[Bug 2173892] Re: 7.0.0-42/-43: .NET processes in Alpine/musl containers crash with general protection fault in ld-musl (6.8 reported fine)

** Tags added: kernel-daily-bug -- You received this bug notification because you are subscribed to linux in Ubuntu. Matching subscriptions: Bgg, Bmail, Nb https://bugs.launchpad.net/bugs/2173892 Title: 7.0.0-42/-43: .NET processes in Alpine/musl containers crash with general protection fault in ld-musl (6.8 reported fine) Status in linux package in Ubuntu: New Bug description: Release: Ubuntu 26.04.1 LTS Kernel: linux-image-7.0.0-42 and 7.0.0-43 (both affected) Hardware: Intel Core i5-9500T (microcode 0xfa), 16 GB RAM, bare metal .NET 8 applications running in Alpine (musl) Docker containers (Prowlarr, Radarr, Sonarr; linuxserver.io images) die intermittently and silently, with nothing in the application log. The kernel logs a general protection fault inside musl each time: traps: .NET BGC[pid] general protection fault ip:...70b sp:... error:0 in ld-musl-x86_64.so.1[4270b,...] traps: .NET TP Worker[pid] general protection fault ... in ld-musl-x86_64.so.1[4270b,...] Apport also recorded a SIGSEGV (signal 11) for the Sonarr process (it could not build a report because the executable lives inside the container). The container's supervisor (s6) restarts the app, so Docker shows the container as "Up" with RestartCount=0. In the worst case the app restarted every ~3 seconds (about 42 faults in 11 minutes). The faulting offset is the same every time: the instruction right after raise(SIGABRT) in musl's abort(), per the analysis in the upstream thread https://github.com/Prowlarr/Prowlarr/issues/2884. So the runtime hits a fatal condition and aborts itself. Reproducibility / what I ruled out - Reproduces with a brand-new empty application config (not application data). - Reproduces on 7.0.0-42 and 7.0.0-43. - Reproduces with two different musl-based images (linuxserver.io and hotio). - No MCE/EDAC/OOM/disk errors in dmesg. Container image layers verified against their digests; the musl binary hash is identical to one in a container that does not crash. - The reporter in the issue above says the same workload is stable on kernel 6.8 and crashes every time on 7.0.0-42, and that glibc-based .NET builds also crash for them. That points to a kernel/runtime interaction (signal handling, thread suspension, memory protection) rather than musl itself. I have not tested 6.8 myself. - Mitigation: DOTNET_gcConcurrent=0 stopped the tight restart loop here. Possibly relevant (unconfirmed) AppArmor audit lines at crash time (parser 5.0.2, Docker 29.9.3, runc 1.5.2, containerd 2.4.2): apparmor="DENIED" operation="signal" profile="docker-default" comm=".NET BGC" signal=abrt peer="docker-default//&unconfined" apparmor="AUDIT" operation="change_onexec" info="change_profile unprivileged unconfined converted to stacking" A test with --security-opt apparmor=unconfined was stable on an idle fresh container, but so was the default profile in the same test, so this is inconclusive (the crashes seem to need load). Expected: no GPF in musl for these workloads, as on 6.8. Question: is there a known change in 7.0 affecting signal delivery or thread suspension that could cause this, and is a fix planned? I can test patched or older kernels. ProblemType: Bug DistroRelease: Ubuntu 26.04 Package: linux-image-7.0.0-43-generic 7.0.0-43.43 ProcVersionSignature: Ubuntu 7.0.0-43.43-generic 7.0.14 Uname: Linux 7.0.0-43-generic x86_64 AlsaVersion: Advanced Linux Sound Architecture Driver Version k7.0.0-43-generic. AplayDevices: Error: [Errno 2] No such file or directory: 'aplay' ApportVersion: 2.34.1-0ubuntu0.1 Architecture: amd64 ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord' AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-path', '/dev/snd/controlC0', '/dev/snd/hwC0D2', '/dev/snd/hwC0D0', '/dev/snd/pcmC0D8p', '/dev/snd/pcmC0D7p', '/dev/snd/pcmC0D3p', '/dev/snd/pcmC0D0c', '/dev/snd/pcmC0D0p', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1: Card0.Amixer.info: Error: [Errno 2] No such file or directory: 'amixer' Card0.Amixer.values: Error: [Errno 2] No such file or directory: 'amixer' CasperMD5CheckResult: pass Date: Tue Nov 10 12:08:17 2026 InstallationDate: Installed on 2021-06-18 (1971 days ago) InstallationMedia: Ubuntu-Server 21.04 "Hirsute Hippo" - Release amd64 (20210421) MachineType: HP HP EliteDesk 800 G5 Desktop Mini ProcEnviron: LANG=en_US.UTF-8 PATH=(custom, no user) SHELL=/bin/bash TERM=xterm XDG_RUNTIME_DIR=<set> ProcFB: 0 i915drmfb ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-7.0.0-43-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro systemd.unified_cgroup_hierarchy=1 usbcore.autosuspend=-1 text PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon. RfKill: SourcePackage: linux UpgradeStatus: No upgrade log present (probably fresh install) dmi.bios.date: 12/31/2024 dmi.bios.release: 22.0 dmi.bios.vendor: HP dmi.bios.version: R21 Ver. 02.22.00 dmi.board.name: 8595 dmi.board.vendor: HP dmi.board.version: KBC Version 08.09.21 dmi.chassis.type: 6 dmi.chassis.vendor: HP dmi.ec.firmware.release: 8.9 dmi.modalias: dmi:bvnHP:bvrR21Ver.02.22.00:bd12/31/2024:br22.0:efr8.9:svnHP:pnHPEliteDesk800G5DesktopMini:pvrSBKPF:rvnHP:rn8595:rvrKBCVersion08.09.21:cvnHP:ct6:cvr:sku1X550LP#AC4:pfa103C_53307FHPEliteDesk: dmi.product.family: 103C_53307F HP EliteDesk dmi.product.name: HP EliteDesk 800 G5 Desktop Mini dmi.product.sku: 1X550LP#AC4 dmi.product.version: SBKPF dmi.sys.vendor: HP To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2173892/+subscriptions

Комментариев нет:

Отправить комментарий