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