Re: kernel BUG at fs/nfsd/nfs4recover.c:534 Oops: invalid opcode: 0000

Salvatore Bonaccorso
2024-12-27T06:48:09Z

Hi,

On Thu, Dec 26, 2024 at 08:17:45PM +0100, Salvatore Bonaccorso wrote:
> Hi Chuck, hi all,
>
> On Thu, Dec 26, 2024 at 11:33:01AM -0500, Chuck Lever wrote:
> > On 12/26/24 11:24 AM, Salvatore Bonaccorso wrote:
> > > Hi Jur,
> > >
> > > On Mon, Dec 09, 2024 at 04:50:05PM +0000, Jur van der Burg via Bugspray Bot wrote:
> > > > Jur van der Burg writes via Kernel.org Bugzilla:
> > > >
> > > > I tried kernel 6.10.1 and that one is ok. In the mean time I
> > > > upgraded nfs-utils from 2.5.1 to 2.8.1 which seems to fix the issue.
> > > > Sorry for the noise, case closed.
> > > >
> > > > View: https://bugzilla.kernel.org/show_bug.cgi?id=219580#c2
> > > > You can reply to this message to join the discussion.
> > >
> > > Are you sure this is solved? I got hit by this today after trying to
> > > check the report from another Debian user:
> > >
> > > https://bugs.debian.org/1091439
> > > the earlier report was
> > > https://bugs.debian.org/1087900
> > >
> > > Surprisingly I managed to hit this, after:
> > >
> > > Doing a fresh Debian installation with Debian unstable, rebooting
> > > after installation. The running kernel is 6.12.6-1 (but now believe it
> > > might be hit in any sufficient earlier version):
> > >
> > > Notably, in kernel-log I see as well
> > >
> > > [ 50.295209] RPC: Registered tcp NFSv4.1 backchannel transport module.
> > > [ 52.158301] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
> > > [ 52.158333] NFSD: Using legacy client tracking operations.
> >
> > Hi Salvatore,
> >
> > If you no longer provision nfsdcltrack in user space, then you want to
> > set CONFIG_NFSD_LEGACY_CLIENT_TRACKING to 'N' in your kernel config.
>
> Right, while this might not be possible right now in the distribution,
> to confirm, setting CONFIG_NFSD_LEGACY_CLIENT_TRACKING would resolve
> the problem. In the distribution I think we would not yet be able to
> do a hard cut for planned next stable release.
>
> Remember, that in Debian we only with the current stable release got
> again somehow on "track" with nfs-utils code.
>
> > Otherwise, Scott Mayhew is the area expert (cc'd).
>
> Thanks!
>
> I will try to get more narrow down to the versions to see where the
> problem might be introduced, but if you already have a clue, and know
> what we might try (e.g. commit revert on top, or patch) I'm happy to
> test this as well (since now reliably able to trigger it).

Okay so this was maybe obvious for you already but bisecting leads to
the first bad commit beeing:

74fd48739d04 ("nfsd: new Kconfig option for legacy client tracking")

The Problem is not present in v6.7 and it is triggerable with
74fd48739d04 ("nfsd: new Kconfig option for legacy client tracking")

Most importantly as the switch to defaulting to y was only in later
versions, explicitly setting CONFIG_NFSD_LEGACY_CLIENT_TRACKING=y.

Regards,
Salvatore