[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250407-unmodern-abkam-ce0395573fc2@brauner>
Date: Mon, 7 Apr 2025 16:15:24 +0200
From: Christian Brauner <brauner@...nel.org>
To: Mikhail Gavrilov <mikhail.v.gavrilov@...il.com>
Cc: sforshee@...nel.org, linux-fsdevel@...r.kernel.org,
Linux List Kernel Mailing <linux-kernel@...r.kernel.org>, Linux regressions mailing list <regressions@...ts.linux.dev>,
lennart@...ttering.net
Subject: Re: 6.15-rc1/regression/bisected - commit 474f7825d533 is broke
systemd-nspawn on my system
On Mon, Apr 07, 2025 at 12:14:01PM +0500, Mikhail Gavrilov wrote:
> Hi,
> I use Fedora. On Fedora systemd-nspawn is used for creating a clean
> build environment for packaging.
> I noted that on fresh kernels I can't build packages any more because
> the command "mock -r fedora-rawhide-i386 --rebuild" is stuck.
> I started debugging and found that systemd-nspawn was hanging.
> Sending SysRq for displaying list of blocked (D state) tasks gave me
> this trace:
> [ 743.382717] sysrq: Show Blocked State
> [ 743.383154] task:systemd-nspawn state:D stack:27120 pid:4609
> tgid:4609 ppid:4435 task_flags:0x400140 flags:0x00000002
> [ 743.383164] Call Trace:
> [ 743.383167] <TASK>
> [ 743.383171] __schedule+0x895/0x1bf0
> [ 743.383178] ? __pfx___schedule+0x10/0x10
> [ 743.383182] ? __pfx_do_raw_spin_trylock+0x10/0x10
> [ 743.383187] ? __raw_spin_unlock_irqrestore+0x5d/0x80
> [ 743.383191] ? rcu_is_watching+0x12/0xc0
> [ 743.383195] ? schedule+0x1d5/0x260
> [ 743.383199] schedule+0xd4/0x260
> [ 743.383202] fuse_get_req+0x92d/0x1060 [fuse]
> [ 743.383218] ? rcu_is_watching+0x12/0xc0
> [ 743.383222] ? __pfx_fuse_get_req+0x10/0x10 [fuse]
> [ 743.383233] ? rcu_is_watching+0x12/0xc0
> [ 743.383236] ? __pfx_autoremove_wake_function+0x10/0x10
> [ 743.383240] ? rcu_is_watching+0x12/0xc0
> [ 743.383243] ? is_bpf_text_address+0x64/0x100
> [ 743.383247] ? __pfx_stack_trace_consume_entry+0x10/0x10
> [ 743.383252] __fuse_simple_request+0x8f/0xab0 [fuse]
> [ 743.383263] ? kernel_text_address+0x145/0x160
> [ 743.383268] ? __kernel_text_address+0x12/0x40
> [ 743.383272] fuse_getxattr+0x2cd/0x3e0 [fuse]
> [ 743.383287] ? __pfx_fuse_getxattr+0x10/0x10 [fuse]
> [ 743.383299] ? rcu_is_watching+0x12/0xc0
> [ 743.383304] ? rcu_is_watching+0x12/0xc0
> [ 743.383307] ? is_bpf_text_address+0x64/0x100
> [ 743.383310] ? lock_release+0xb7/0xf0
> [ 743.383314] ? is_bpf_text_address+0x6e/0x100
> [ 743.383318] ? kernel_text_address+0x145/0x160
> [ 743.383323] fuse_xattr_get+0x64/0x90 [fuse]
> [ 743.383333] __vfs_getxattr+0xf0/0x150
> [ 743.383338] ? __pfx___vfs_getxattr+0x10/0x10
> [ 743.383344] get_vfs_caps_from_disk+0x138/0x450
> [ 743.383349] ? __pfx_get_vfs_caps_from_disk+0x10/0x10
> [ 743.383353] ? rcu_is_watching+0x12/0xc0
> [ 743.383356] ? handle_path+0x27c/0x6b0
> [ 743.383360] ? lock_release+0xb7/0xf0
> [ 743.383363] ? handle_path+0x281/0x6b0
> [ 743.383368] audit_copy_inode+0x339/0x4f0
> [ 743.383372] ? __pfx_audit_copy_inode+0x10/0x10
> [ 743.383376] ? path_lookupat+0x16a/0x670
> [ 743.383381] filename_lookup+0x391/0x550
> [ 743.383386] ? __pfx_filename_lookup+0x10/0x10
> [ 743.383394] ? audit_alloc_name+0x398/0x490
> [ 743.383398] ? __audit_getname+0x10b/0x160
> [ 743.383402] ? getname_flags.part.0+0x1a5/0x510
> [ 743.383406] user_path_at+0x9e/0xe0
> [ 743.383411] __x64_sys_mount_setattr+0x247/0x340
> [ 743.383415] ? __pfx___x64_sys_mount_setattr+0x10/0x10
> [ 743.383418] ? seqcount_lockdep_reader_access.constprop.0+0xa5/0xb0
> [ 743.383422] ? seqcount_lockdep_reader_access.constprop.0+0xa5/0xb0
> [ 743.383426] ? ktime_get_coarse_real_ts64+0x41/0xd0
> [ 743.383431] do_syscall_64+0x97/0x190
> [ 743.383437] ? rcu_is_watching+0x12/0xc0
> [ 743.383440] ? rcu_read_unlock+0x17/0x60
> [ 743.383444] ? lock_release+0xb7/0xf0
> [ 743.383448] ? handle_mm_fault+0x4e5/0xa60
> [ 743.383451] ? exc_page_fault+0x7e/0x110
> [ 743.383456] ? rcu_is_watching+0x12/0xc0
> [ 743.383458] ? exc_page_fault+0x7e/0x110
> [ 743.383462] ? do_user_addr_fault+0x8cb/0xe70
> [ 743.383466] ? irqentry_exit_to_user_mode+0xa2/0x290
> [ 743.383469] ? rcu_is_watching+0x12/0xc0
> [ 743.383472] ? irqentry_exit_to_user_mode+0xa2/0x290
> [ 743.383475] ? trace_hardirqs_on_prepare+0xdf/0x120
> [ 743.383480] entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [ 743.383483] RIP: 0033:0x7fac4ff0419e
> [ 743.383499] RSP: 002b:00007ffc843092f8 EFLAGS: 00000246 ORIG_RAX:
> 00000000000001ba
> [ 743.383504] RAX: ffffffffffffffda RBX: 000000000000000b RCX: 00007fac4ff0419e
> [ 743.383507] RDX: 0000000000009000 RSI: 00007fac503472a8 RDI: 000000000000000b
> [ 743.383509] RBP: 00007ffc843093a0 R08: 0000000000000020 R09: 00007fac4fff6ac0
> [ 743.383512] R10: 00007ffc84309340 R11: 0000000000000246 R12: 0000000000000009
> [ 743.383514] R13: 000056069822b629 R14: 000056069822b635 R15: 0000000000000007
> [ 743.383519] </TASK>
>
> > sudo /usr/bin/systemd-nspawn -q --ephemeral -D /var/lib/mock/fedora-rawhide-x86_64/root
> [sudo] password for mikhail:
> ^CShort read while reading whether to enable FUSE.
> mikhail@...mary-ws ~ [1]>
>
> And started bisecting the issue and the first bad commit is
> 474f7825d5335798742b92f067e1d22365013107.
>
> Author: Christian Brauner <brauner@...nel.org>
> Date: Tue Jan 28 11:33:40 2025 +0100
>
> fs: add copy_mount_setattr() helper
>
> Split out copy_mount_setattr() from mount_setattr() so we can use it in
> later patches.
>
> Link: https://lore.kernel.org/r/20250128-work-mnt_idmap-update-v2-v1-2-c25feb0d2eb3@kernel.org
> Reviewed-by: "Seth Forshee (DigitalOcean)" <sforshee@...nel.org>
> Signed-off-by: Christian Brauner <brauner@...nel.org>
>
> Unfortunately I can't test the revert of this commit because of conflicts.
>
> > git revert -n 474f7825d5335798742b92f067e1d22365013107
> Auto-merging fs/namespace.c
> CONFLICT (content): Merge conflict in fs/namespace.c
> error: could not revert 474f7825d533... fs: add copy_mount_setattr() helper
> hint: after resolving the conflicts, mark the corrected paths
> hint: with 'git add <paths>' or 'git rm <paths>'
> hint: Disable this message with "git config set advice.mergeConflict false"
>
> My machine spec: https://linux-hardware.org/?probe=619658e7cf
> And I attached below my build config and full kernel log.
>
> Christian, can you look please?
I'm a bit confused by your git bisect log and the dmesg output you're
showing. The dmesg output suggests you did actually test on:
[ 0.000000] Linux version 6.15.0-rc1 (mikhail@...mary-ws) (gcc (GCC) 14.2.1 20241104 (Red Hat 14.2.1-6), GNU ld version 2.44-3.fc43) #4 SMP PREEMPT_DYNAMIC Mon Apr 7 10:58:22 +05 2025
But your git bisect starts at 1a9239bb4253f9076b5b4b2a1a4e8d7defd77a95
according to:
git bisect start
# status: waiting for both good and bad commits
# bad: [1a9239bb4253f9076b5b4b2a1a4e8d7defd77a95] Merge tag 'net-next-6.15' of git://git.kernel.
git bisect bad 1a9239bb4253f9076b5b4b2a1a4e8d7defd77a95
Which is way before -rc1. Where you testing on actual v6.15-rc1 released
yesterday or were you testing on
1a9239bb4253f9076b5b4b2a1a4e8d7defd77a95? If the latter, please test
actual v6.15-rc1 as I suspect this is caused by faulty locking in
clone_private_mount() which I fixed.
Powered by blists - more mailing lists