On Thu, Mar 10, 2022 at 4:24 AM Anderson, Stuart B. <s...@caltech.edu> wrote: > > On Mar 9, 2022, at 4:04 PM, Ole Tange <o...@tange.dk> wrote: > > On Wed, Mar 9, 2022 at 7:21 PM Anderson, Stuart B. <s...@caltech.edu> wrote: > >>> On Mar 8, 2022, at 3:35 PM, Ole Tange <o...@tange.dk> wrote: > >>> On Tue, Mar 8, 2022 at 11:22 PM Anderson, Stuart B. <s...@caltech.edu> > >>> wrote: > >>>> parallel version 20190922 from EPEL 8 running a Rocky Linux 8 system > >>>> occasionally gets into an I/O spin loop writing 8193 bytes of "x" to a > >>>> deleted TMPDIR file and then immediately truncating it, e.g., > >>> This is by design: > >>> https://www.gnu.org/software/parallel/parallel_design.html#disk-full > >> Any reason not to call statvfs() to see if there is free disk space? > > It is unclear to me if statvfs is supported on all supported > > platforms. You should feel free to examine this. > > statvs is available for FreeBSD, OpenBSD, and Linux. What other > platforms need to be checked?
qnx solaris hpux aix scosysv macosx netbsd hurd miros unixware openindiana tru64 > > If it is not supported or if it requires installing more than the > > basic Perl package, you will need very convincing evidence. > > I forgot parallel is a Perl app, but the statvfs() function from [g]libc > that provides information about a mounted filesystem, including free space > is available from https://metacpan.org/pod/Filesys::Statvfs A key feature of GNU Parallel is the one-file-design: https://www.gnu.org/software/parallel/parallel_design.html#one-file-program and that it will run on even ancient hardware: https://www.gnu.org/software/parallel/parallel_design.html#old-perl-style Filesys::Statvfs is not part of a normal perl distribution - at least not for old systems. This makes it a potential nightmare, because I would have to include it into the one-file. If the interface changes over time (say, 10 years), I will have to support that, too. > And if that is problematic for some reason there must be a portable > perl module that reports on how much free space there is in a filesystem. The problem lies in that it must be a perl module included in a normal perl installation. Other than that, I would imagine https://metacpan.org/pod/Filesys::DfPortable might be a relevant choice, but from a one-file perspective this seems horrible, because it includes compiled code (XS). > I am not deliberately running any short lived jobs (see below). Great. The documentation you have provided convinces me. Can you also confirm the issue disappears if you change: sub exit_if_disk_full() { to: sub exit_if_disk_full() { return; which will disable the disk full check. Your environment is different from mine, and I cannot reproduce the issue on the systems I have access to. Therefore please see if you can follow: https://www.gnu.org/software/parallel/man.html#bug-dependent-on-environment Right now I have the feeling something funny is going on in your environment. E.g. /proc/sys/vm/dirty_*_centisecs is set to 0 or similar. /Ole