[PATCH] maint: update gnulib to latest, to avoid FTS crash on XFS

2020-04-19 Thread Bernhard Voelker
Run 'make update-gnulib-to-latest', mainly to pull in a fix for FTS
to avoid a crash when traversing a heavily changed XFS file system:

> fts: remove NOSTAT_LEAF_OPTIMIZATION

* NEWS (Bug fixes): Mention the fix.
* gnulib: Update to latest.
* bootstrap: Sync from gnulib/build-aux/bootstrap.

Discussed at:

---
 NEWS  | 3 +++
 bootstrap | 4 ++--
 gnulib| 2 +-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index d103c23c..1d393882 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,9 @@ of each constructed command line to be executed.  [#57291]
 
 ** Bug Fixes
 
+find no longer crashes when an XFS filesystem is heavily changed during the 
run.
+Discussed at: 
+
 #54730: Add additional valuable example of find -quit
 
 #48135: Fix testsuite error on Hurd and BSD related to ln
diff --git a/bootstrap b/bootstrap
index 70fd73cc..8f76d696 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2019-01-04.17; # UTC
+scriptversion=2020-04-13.15; # UTC
 
 # Bootstrap this package from checked-out sources.
 
@@ -970,7 +970,7 @@ bootstrap_post_import_hook \
 # Uninitialized submodules are listed with an initial dash.
 if $use_git && git submodule | grep '^-' >/dev/null; then
   die "some git submodules are not initialized. " \
-  "Run 'git submodule init' and bootstrap again."
+  "Run 'git submodule update --init' and bootstrap again."
 fi
 
 # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
diff --git a/gnulib b/gnulib
index a7903da0..47bf2cf3 16
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit a7903da07d3d18c23314aa0815adbb4058fd7cec
+Subproject commit 47bf2cf3184027c1eb9c1dfeea5c5b8b2d69710d
-- 
2.26.0




[PATCH] maint: update gnulib to latest, to avoid FTS crash on XFS

2020-04-19 Thread Bernhard Voelker
Crash on XFS discussed at:


Reproducer:

Run this endless loop in a background process:

  $ mkdir -p testdir/{1..10}
  
  $ while true; do
  for i in {1..10}; do
for j  in {1..8000}; do
  mkdir testdir/$i/$j
done
  done
  for i in {1..10}; do 
rm -rf testdir/$i/*
  done
done &

  $ find testdir -name  mess

Without the patch, find(1) crashed in about every 4th run (here on my system).

Have a nice day,
Berny