Bug 1563275

Summary: Valgrind claiming for "uninitialised byte(s)"
Product: [Community] GlusterFS Reporter: Yannick Perret <yannick.perret>
Component: libglusterfsclientAssignee: bugs <bugs>
Status: CLOSED EOL QA Contact:
Severity: low Docs Contact:
Priority: unspecified    
Version: 3.13CC: bugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-06-20 18:26:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Yannick Perret 2018-04-03 13:46:40 UTC
Description of problem:
not sure it is a problem, but after discussion on IRC I open it.
Running glusterfs client (FUSE) with valgrind always shows at first access a warning from valgrind about "Syscall param writev(vector[...]) points to uninitialised byte(s)".
It only appears the 1st time, and then never again. All works fine.


Version-Release number of selected component (if applicable):
The client is 3.13.2 compiled from sources, on a Debian 8 (64bit).

How reproducible:
Always.

Steps to Reproduce:
1. run glusterfs with valgrind (and debug): valgrind /usr/local/sbin/glusterfs --debug [my volserver + volid]  ./my-mount-point
2. perform a 'ls ./my-mount-point

Actual results:
valgrind outputs this:
==4601== Thread 7:
==4601== Syscall param writev(vector[...]) points to uninitialised byte(s)
==4601==    at 0x636E2F0: writev (writev.c:54)
==4601==    by 0x78E3D75: send_fuse_iov (fuse-bridge.c:223)
==4601==    by 0x78E4053: send_fuse_data (fuse-bridge.c:270)
==4601==    by 0x78E666B: fuse_attr_cbk (fuse-bridge.c:830)
==4601==    by 0xC3CCC09: io_stats_stat_cbk (io-stats.c:2047)
==4601==    by 0xC1AA9A3: mdc_stat (md-cache.c:1223)
==4601==    by 0xC3BDE43: io_stats_stat (io-stats.c:2738)
==4601==    by 0x4ED5310: default_stat (defaults.c:2647)
==4601==    by 0xC5EC47D: meta_stat (meta.c:92)
==4601==    by 0x78E632A: fuse_getattr_resume (fuse-bridge.c:917)
==4601==    by 0x78E3604: fuse_resolve_done (fuse-resolve.c:663)
==4601==    by 0x78E3604: fuse_resolve_all (fuse-resolve.c:690)
==4601==    by 0x78E3347: fuse_resolve (fuse-resolve.c:654)
==4601==  Address 0xafc508c is on thread 7's stack
==4601==  in frame #3, created by fuse_attr_cbk (fuse-bridge.c:799)
==4601== 


Expected results:
No such output :)

Additional info:
-

Comment 1 Yannick Perret 2018-04-03 14:14:52 UTC
Adding this small thing here, because I don't know if creating a bugreport is the right way for that:
there is a typo in a debug message in xlators/cluster/dht/src/dht-common.c line 955 et 956. A space is missing between the 2 parts of the message:

                gf_msg_debug (this->name, 0,
                              "internal xattr %s is present on subvol"
                              "on path %s gfid is %s " , conf->mds_xattr_key,
                               local->loc.path, gfid_local);
Should be:
                gf_msg_debug (this->name, 0,
                              "internal xattr %s is present on subvol"
                              " on path %s gfid is %s " , conf->mds_xattr_key,
                               local->loc.path, gfid_local);
(space before 'on path').

Please let me know what is the best way to report this. Regards.

Comment 2 Shyamsundar 2018-06-20 18:26:29 UTC
This bug reported is against a version of Gluster that is no longer maintained (or has been EOL'd). See https://www.gluster.org/release-schedule/ for the versions currently maintained.

As a result this bug is being closed.

If the bug persists on a maintained version of gluster or against the mainline gluster repository, request that it be reopened and the Version field be marked appropriately.