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.
>> Date: Tue, 20 Jan 2026 17:12:12 +0100 (CET)
>> From: Havard Eidnes <he%NetBSD.org@localhost>
>>
>> After the initial failure of this type, I decided to try to
>> capture the system call information with "ktrace -i", and as it
>> happened, the problem was reproduced with a ktrace.out file of a
>> mere 520MB.
>
> Great, thanks!
Let's see...
https://filesender.sikt.no/?s=download&token=4e7e3223-6bb9-424e-8f89-672d492679cd
can be used to download the ktrace.out file. That link is valid
until February 20, 2026.
>> The gmake system calls preceding this error were:
>>
>> 14717 14717 gmake CALL lseek(6,0,0,1)
>> 14717 14717 gmake RET lseek 0
>> 14717 14717 gmake CALL __getdents30(6,0x79e73d4a0000,0x1000)
>> 14717 14717 gmake GIO fd 6 read 4080 bytes
>> ...(omitted here)...
>> 14717 14717 gmake RET __getdents30 4080/0xff0
>> 14717 14717 gmake CALL lseek(6,0,0,1)
>> 14717 14717 gmake RET lseek 3132/0xc3c
>> 14717 14717 gmake CALL __getdents30(6,0x79e73d4a0000,0x1000)
>> 14717 14717 gmake RET __getdents30 -1 errno 22 Invalid argument
>>
>> and it's all downhill from there.
>
> Can you share the output of `mount' on this system, and say which file
> system the build is running in?
Certainly. This system configuration is fairly strictly adhering
to the KISS principle, so nothing special here:
castor: {43} mount
/dev/dk1 on / type ffs (local)
tmpfs on /tmp type tmpfs (local)
kernfs on /kern type kernfs (local)
ptyfs on /dev/pts type ptyfs (local)
procfs on /proc type procfs (local)
tmpfs on /var/shm type tmpfs (local)
castor: {44} df -h -t ffs
Filesystem Size Used Avail %Cap Mounted on
/dev/dk1 1.3T 149G 1.1T 11% /
castor: {45}
dk1 is on sd0 which is a hardware-RAID over a number of SATA
SSDs. From "drvctl -lt":
pci0
pchb0
ppb0
pci1
mfii0
scsibus0
sd0
> (And, if you can figure it out, confirm from the ktrace which
> file system the __getdents30 call applies to, by finding where
> file descriptor 6 was opened from.)
Should be possible to figure out from the ktrace, but ...
Looks like this was:
14717 14717 gmake CALL open(0xbc37e28,0x600004,0)
14717 14717 gmake NAMI "."
14717 14717 gmake RET open 6
14717 14717 gmake CALL __fstatvfs190(6,0x7f7fff32f090,2)
14717 14717 gmake RET __fstatvfs190 0
(continues as above)
14717 14717 gmake CALL lseek(6,0,0,1)
14717 14717 gmake RET lseek 0
14717 14717 gmake CALL __getdents30(6,0x79e73d4a0000,0x1000)
14717 14717 gmake GIO fd 6 read 4080 bytes
So not knowing the current directory makes this difficult, but
it's the "one and only" FFS file system on the box. (And the
gmake process itself doesn't appear to do chdir(), so which
directory is the current dir must be dug out from the output of
the other processes in the ktrace.out file.)
Best regards,
- Havard
Home |
Main Index |
Thread Index |
Old Index