Bug 1337481 - Some configure and make fail on Gluster NFS volume
Summary: Some configure and make fail on Gluster NFS volume
Keywords:
Status: CLOSED EOL
Alias: None
Product: GlusterFS
Classification: Community
Component: md-cache
Version: 3.7.10
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-05-19 09:52 UTC by Chen Chen
Modified: 2017-03-08 10:57 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-03-08 10:57:24 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)
gluster volume info (1.33 KB, text/plain)
2016-05-19 09:52 UTC, Chen Chen
no flags Details
config.log (17.61 KB, text/plain)
2016-05-19 09:55 UTC, Chen Chen
no flags Details
config.log of mbuffer on GLuster (331.69 KB, text/plain)
2016-05-20 09:44 UTC, Chen Chen
no flags Details
config.log of mbuffer on Gluster (111.31 KB, text/plain)
2016-05-20 09:47 UTC, Chen Chen
no flags Details

Description Chen Chen 2016-05-19 09:52:24 UTC
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.

Comment 1 Chen Chen 2016-05-19 09:55:07 UTC
Created attachment 1159342 [details]
config.log

Comment 2 Xavi Hernandez 2016-05-20 07:37:50 UTC
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.

Comment 3 Chen Chen 2016-05-20 09:33:25 UTC
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!

Comment 4 Chen Chen 2016-05-20 09:44:27 UTC
Created attachment 1159865 [details]
config.log of mbuffer on GLuster

Comment 5 Chen Chen 2016-05-20 09:47:48 UTC
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.

Comment 6 Kaushal 2017-03-08 10:57:24 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.