Bug 1283302 - volume start command is failing when glusterfs compiled with debug enabled
Summary: volume start command is failing when glusterfs compiled with debug enabled
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: glusterd
Version: 3.7.6
Hardware: All
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: Kaleb KEITHLEY
QA Contact:
URL:
Whiteboard:
Depends On: 1245331
Blocks: glusterfs-3.7.7
TreeView+ depends on / blocked
 
Reported: 2015-11-18 16:22 UTC by Kaleb KEITHLEY
Modified: 2016-04-19 07:48 UTC (History)
8 users (show)

Fixed In Version: glusterfs-3.7.7
Doc Type: Bug Fix
Doc Text:
Clone Of: 1245331
Environment:
Last Closed: 2016-04-08 11:26:35 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Kaleb KEITHLEY 2015-11-18 16:22:44 UTC
+++ This bug was initially created as a clone of Bug #1245331 +++

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
~

--- Additional comment from Raghavendra Talur on 2015-07-22 02:44:23 EDT ---

Workaround for now: use std=gnu89 in CFLAGS.

--- Additional comment from Anand Avati on 2015-08-19 02:47:03 EDT ---

REVIEW: http://review.gluster.org/11769 (all: reduce "inline" usage) posted (#7) for review on master by Niels de Vos (ndevos)

--- Additional comment from Anand Avati on 2015-08-19 12:51:21 EDT ---

REVIEW: http://review.gluster.org/11769 (all: reduce "inline" usage) posted (#8) for review on master by Jeff Darcy (jdarcy)

--- Additional comment from Anand Avati on 2015-09-01 07:55:21 EDT ---

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 1 Vijay Bellur 2015-11-18 17:31:53 UTC
REVIEW: http://review.gluster.org/12646 (all: reduce "inline" usage) posted (#1) for review on release-3.7 by Kaleb KEITHLEY (kkeithle)

Comment 2 Vijay Bellur 2015-12-02 14:18:47 UTC
REVIEW: http://review.gluster.org/12646 (all: reduce "inline" usage) posted (#2) for review on release-3.7 by Kaleb KEITHLEY (kkeithle)

Comment 3 Vijay Bellur 2016-01-18 09:02:42 UTC
COMMIT: http://review.gluster.org/12646 committed in release-3.7 by Niels de Vos (ndevos) 
------
commit 50ae3e67e4f294925fc840d3f83b77f7072af54d
Author: Kaleb S KEITHLEY <kkeithle>
Date:   Wed Nov 18 12:28:42 2015 -0500

    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.
    
    backport of Change-Id: I56a5e614735c9e0a6ee420dab949eac22e25c155,
    http://review.gluster.org/11769, BUG: 1245331
    
    Change-Id: Iba1efb0bc578ea4a5e9bf76b7bd93dc1be9eba44
    BUG: 1283302
    Signed-off-by: Kaleb S KEITHLEY <kkeithle>
    Reviewed-on: http://review.gluster.org/12646
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Niels de Vos <ndevos>

Comment 4 Kaleb KEITHLEY 2016-04-08 11:26:35 UTC
3.7.10

Comment 5 Kaushal 2016-04-19 07:48:31 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.7.7, please open a new bug report.

glusterfs-3.7.7 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] https://www.gluster.org/pipermail/gluster-users/2016-February/025292.html
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


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