Created attachment 1159341 [details] gluster volume info Description of problem: Some configure and make process will mysteriously fail on Gluster NFS volume. The native client is not affected. I suspect some of the performance switches I am using is corrupted. Volume Name: mainvol Type: Distributed-Disperse ... Number of Bricks: 2 x (4 + 2) = 12 ... performance.nfs.quick-read: on performance.nfs.io-cache: on performance.nfs.io-threads: on performance.client-io-threads: on performance.nfs.read-ahead: on performance.nfs.write-behind-window-size: 4MB performance.nfs.stat-prefetch: on ... (full version will be attached) How reproducible: Always Steps to Reproduce: 1. wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz 2. tar xf hello-2.10.tar.gz 3. mkdir hello-build && cd hello-build 4. ../hello-2.10/configure Actual results: checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gcc... gcc checking whether the C compiler works... no configure: error: in `/home/root/build-test/hello-build': configure: error: C compiler cannot create executables See `config.log' for more details Expected results: Configure OK. Build OK. Additional info: I first observed this problem in CPAN. Module installation always failed with "No targets. Stop.", but when I manually cd to the directory and type make myself, everything works. Manually type "echo 'int main(){ return 0; }' > main.c ; gcc -g -c main.c ; gcc -g -O2 main.o" also works pretty good.
Created attachment 1159342 [details] config.log
I've been able to reproduce the problem. It seems related to md-cache, because disabling "performance.nfs.stat-prefetch" option, the problem disappears. Added Raghavendra Gowdappa to CC as he is the maintainer of the performance xlators.
After I disabled "performance.nfs.stat-prefetch", gnu hello works. But still, some other operations will fail on Gluster Volume, yet works OK in local disk. 1. git clone https://github.com/arq5x/bedtools2.git ------- On Local disk: [analyzer@hw10 analyzer]$ git clone https://github.com/arq5x/bedtools2.git Cloning into 'bedtools2'... remote: Counting objects: 15384, done. remote: Compressing objects: 100% (7/7), done. remote: Total 15384 (delta 0), reused 0 (delta 0), pack-reused 15377 Receiving objects: 100% (15384/15384), 38.17 MiB | 474.00 KiB/s, done. Resolving deltas: 100% (10731/10731), done. On Gluster: [analyzer@hw10 downloads]$ git clone https://github.com/arq5x/bedtools2.git Cloning into 'bedtools2'... remote: Counting objects: 15384, done. remote: Compressing objects: 100% (7/7), done. remote: Total 15384 (delta 0), reused 0 (delta 0), pack-reused 15377 Receiving objects: 100% (15384/15384), 38.17 MiB | 785.00 KiB/s, done. Resolving deltas: 100% (10731/10731), done. error: packfile /data/home/analyzer/softs/downloads/bedtools2/.git/objects/pack/pack-b1b11e78c58274edfc6d0210e642c283d363f92d.pack size changed warning: packfile /data/home/analyzer/softs/downloads/bedtools2/.git/objects/pack/pack-b1b11e78c58274edfc6d0210e642c283d363f92d.pack cannot be accessed error: packfile /data/home/analyzer/softs/downloads/bedtools2/.git/objects/pack/pack-b1b11e78c58274edfc6d0210e642c283d363f92d.pack size changed warning: packfile /data/home/analyzer/softs/downloads/bedtools2/.git/objects/pack/pack-b1b11e78c58274edfc6d0210e642c283d363f92d.pack cannot be accessed error: packfile /data/home/analyzer/softs/downloads/bedtools2/.git/objects/pack/pack-b1b11e78c58274edfc6d0210e642c283d363f92d.pack size changed warning: packfile /data/home/analyzer/softs/downloads/bedtools2/.git/objects/pack/pack-b1b11e78c58274edfc6d0210e642c283d363f92d.pack cannot be accessed fatal: bad object cf911bfa82f4b5ee2b420fb5ca2c70d28ca85072 fatal: remote did not send all necessary objects Unexpected end of command stream ------- 2. Configure mbuffer (http://www.maier-komor.de/software/mbuffer/mbuffer-20160228.tgz) ------- On Local disk: [analyzer@hw10 mbuffer]$ ./configure ...(abridged) checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for struct stat.st_blksize... yes checking whether to enable assertions... yes checking for pthread_mutex_init in -lpthread... yes checking for library containing clock_gettime... none required checking for library containing sem_init... none required checking for library containing rint... -lm checking for library containing seteuid... none required ...(abridged) On Gluster: [analyzer@hw10 mbuffer]$ ./configure ...(abridged) checking for string.h... no checking for memory.h... no checking for strings.h... no checking for inttypes.h... no checking for stdint.h... no checking for unistd.h... no checking for struct stat.st_blksize... no checking whether to enable assertions... yes checking for pthread_mutex_init in -lpthread... no checking for library containing clock_gettime... no configure: error: could not find the library containing clock_gettime!
Created attachment 1159865 [details] config.log of mbuffer on GLuster
Created attachment 1159867 [details] config.log of mbuffer on Gluster Sorry I uploaded the wrong log. Upload the correct version and obsolete the wrong one.
This bug is getting closed because GlusteFS-3.7 has reached its end-of-life. Note: This bug is being closed using a script. No verification has been performed to check if it still exists on newer releases of GlusterFS. If this bug still exists in newer GlusterFS releases, please reopen this bug against the newer release.