NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/57145: gmake: *** INTERNAL: readdir: Operation not supported. Stop.
The following reply was made to PR kern/57145; it has been noted by GNATS.
From: Thomas Klausner <wiz%NetBSD.org@localhost>
To: Taylor R Campbell <riastradh%NetBSD.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: pkg/57145: gmake: *** INTERNAL: readdir: Operation not
supported. Stop.
Date: Tue, 10 Sep 2024 20:58:38 +0200
On Tue, Sep 10, 2024 at 04:04:58PM +0000, Taylor R Campbell wrote:
> It looks like the EOPNOTSUPP is explained by autofs's lack of lseek.
>
> I'm still unclear on the EINVAL. My best guess is that:
>
> 1. somehow, fp->f_offset gets set to something negative
> 2. sys_lseek -> vn_seek -> VOP_SEEK -> genfs_seek fails with EINVAL
>
> I can't find a way for (1) to happen on ufs or tmpfs, but maybe it
> could happen with nfs -- reviewing that code is a lot of work.
>
> One path that crossed my mind is a race in readdir by multiple threads
> or processes on the same file object, which might have been fixed by
> <https://mail-index.netbsd.org/source-changes/2023/04/22/msg144249.html>
> (which has not been pulled up to netbsd-9), but I doubt that's
> happening here.
To clarify - I saw this yesterday in wip/emacs-git:
gmake[3]: *** readdir .: Invalid argument. Stop.
gmake[3]: *** Waiting for unfinished jobs....
gmake[3]: Leaving directory '/scratch/wip/emacs-git/work/emacs/leim'
on 10.99.12/amd64 from Aug 28, so it's not fixed in HEAD yet.
I'm not using nfs in this setup, but a standard 'mksandbox' chroot.
tmpfs on /archive/sandboxes/client1 type tmpfs (local)
ptyfs on /archive/sandboxes/client1/dev/ptyfs type ptyfs (local)
procfs on /archive/sandboxes/client1/proc type procfs (local)
/bin on /archive/sandboxes/client1/bin type null (read-only, local)
/sbin on /archive/sandboxes/client1/sbin type null (read-only, local)
/lib on /archive/sandboxes/client1/lib type null (read-only, local)
/libexec on /archive/sandboxes/client1/libexec type null (read-only, local)
/usr/bin on /archive/sandboxes/client1/usr/bin type null (read-only, local)
/usr/games on /archive/sandboxes/client1/usr/games type null (read-only, local)
/usr/include on /archive/sandboxes/client1/usr/include type null (read-only, local)
/usr/lib on /archive/sandboxes/client1/usr/lib type null (read-only, local)
/usr/libdata on /archive/sandboxes/client1/usr/libdata type null (read-only, local)
/usr/libexec on /archive/sandboxes/client1/usr/libexec type null (read-only, local)
/usr/share on /archive/sandboxes/client1/usr/share type null (read-only, local)
/usr/sbin on /archive/sandboxes/client1/usr/sbin type null (read-only, local)
/usr/X11R7 on /archive/sandboxes/client1/usr/X11R7 type null (read-only, local)
/var/mail on /archive/sandboxes/client1/var/mail type null (read-only, local)
/usr/src on /archive/sandboxes/client1/usr/src type null (read-only, local)
/usr/pkgsrc on /archive/sandboxes/client1/usr/pkgsrc type null (local)
/usr/xsrc on /archive/sandboxes/client1/usr/xsrc type null (read-only, local)
/packages on /archive/sandboxes/client1/packages type null (local)
/distfiles on /archive/sandboxes/client1/distfiles type null (local)
Thomas
Home |
Main Index |
Thread Index |
Old Index