Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1245331

Summary: volume start command is failing when glusterfs compiled with debug enabled
Product: [Community] GlusterFS Reporter: Anand Nekkunti <anekkunt>
Component: glusterdAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: mainlineCC: bugs, dlambrig, josferna, ndevos, rkavunga, rtalur, sankarshan, smohan
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1283302 (view as bug list) Environment:
Last Closed: 2016-06-16 13:25:33 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:
Bug Depends On:    
Bug Blocks: 1283302    

Description Anand Nekkunti 2015-07-21 19:09:17 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible: Always

Steps to Reproduce:
1.compile glustterfs with debug enable(./configure  --enable-debug )

2. create volume(gluster vol create VOL host:/tmp/BRICK1 )

3. gluster vol start VOL

Actual results: command is failing, unable to start brick


Expected results: should success


I observed there are some undefined symbols in debug compilation mode:
 /usr/local/lib/libgfdb.so.0: undefined symbol: gf_sql_str2sync_t

Additional info:

brick log :
[2015-07-21 19:01:59.408729] I [MSGID: 100030] [glusterfsd.c:2296:main] 0-/usr/local/sbin/glusterfsd: Started running /usr/local/sbin/glusterfsd version 3.8dev (args: /usr/local/sbin/glusterfsd -s 192.168.0.4 --volfile-id VOL.192.168.0.4.tmp-BRICK1 -p /var/lib/glusterd/vols/VOL/run/192.168.0.4-tmp-BRICK1.pid -S /var/run/gluster/0a4faf3d8d782840484629176ecf307a.socket --brick-name /tmp/BRICK1 -l /var/log/glusterfs/bricks/tmp-BRICK1.log --xlator-option *-posix.glusterd-uuid=4ec09b0c-6043-40f0-bc1a-5cc312d49a78 --brick-port 49152 --xlator-option VOL-server.listen-port=49152)
[2015-07-21 19:02:00.075574] I [MSGID: 101190] [event-epoll.c:627:event_dispatch_epoll_worker] 0-epoll: Started thread with index 1
[2015-07-21 19:02:00.078905] W [MSGID: 101095] [xlator.c:189:xlator_dynload] 0-xlator: /usr/local/lib/libgfdb.so.0: undefined symbol: gf_sql_str2sync_t
[2015-07-21 19:02:00.078947] E [MSGID: 101002] [graph.y:211:volume_type] 0-parser: Volume 'VOL-changetimerecorder', line 16: type 'features/changetimerecorder' is not valid or not found on this machine
[2015-07-21 19:02:00.079020] E [MSGID: 101019] [graph.y:319:volume_end] 0-parser: "type" not specified for volume VOL-changetimerecorder
[2015-07-21 19:02:00.079150] E [MSGID: 100026] [glusterfsd.c:2151:glusterfs_process_volfp] 0-: failed to construct the graph
[2015-07-21 19:02:00.079399] W [glusterfsd.c:1214:cleanup_and_exit] (-->/usr/local/sbin/glusterfsd(mgmt_getspec_cbk+0x343) [0x40df64] -->/usr/local/sbin/glusterfsd(glusterfs_process_volfp+0x1a2) [0x409b58] -->/usr/local/sbin/glusterfsd(cleanup_and_exit+0x77) [0x407a6f] ) 0-: received signum (0), shutting down
~

Comment 1 Raghavendra Talur 2015-07-22 06:44:23 UTC
Workaround for now: use std=gnu89 in CFLAGS.

Comment 2 Anand Avati 2015-08-19 06:47:03 UTC
REVIEW: http://review.gluster.org/11769 (all: reduce "inline" usage) posted (#7) for review on master by Niels de Vos (ndevos)

Comment 3 Anand Avati 2015-08-19 16:51:21 UTC
REVIEW: http://review.gluster.org/11769 (all: reduce "inline" usage) posted (#8) for review on master by Jeff Darcy (jdarcy)

Comment 4 Anand Avati 2015-09-01 11:55:21 UTC
COMMIT: http://review.gluster.org/11769 committed in master by Jeff Darcy (jdarcy) 
------
commit 0773ca67fdb60a142207759fa6c07a69882ce59c
Author: Jeff Darcy <jdarcy>
Date:   Tue Jul 28 12:11:12 2015 -0400

    all: reduce "inline" usage
    
    There are three kinds of inline functions: plain inline, extern inline,
    and static inline.  All three have been removed from .c files, except
    those in "contrib" which aren't our problem.  Inlines in .h files, which
    are overwhelmingly "static inline" already, have generally been left
    alone.  Over time we should be able to "lower" these into .c files, but
    that has to be done in a case-by-case fashion requiring more manual
    effort.  This part was easy to do automatically without (as far as I can
    tell) any ill effect.
    
    In the process, several pieces of dead code were flagged by the
    compiler, and were removed.
    
    Change-Id: I56a5e614735c9e0a6ee420dab949eac22e25c155
    BUG: 1245331
    Signed-off-by: Jeff Darcy <jdarcy>
    Reviewed-on: http://review.gluster.org/11769
    Tested-by: NetBSD Build System <jenkins.org>
    Reviewed-by: Dan Lambright <dlambrig>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Reviewed-by: Niels de Vos <ndevos>
    Reviewed-by: Raghavendra Bhat <raghavendra>
    Reviewed-by: Venky Shankar <vshankar>

Comment 6 Niels de Vos 2016-06-16 13:25:33 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report.

glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user