Bug 1245331 - 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: mainline
Hardware: All
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1283302
TreeView+ depends on / blocked
 
Reported: 2015-07-21 19:09 UTC by Anand Nekkunti
Modified: 2016-06-16 13:25 UTC (History)
8 users (show)

Fixed In Version: glusterfs-3.8rc2
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1283302 (view as bug list)
Environment:
Last Closed: 2016-06-16 13:25:33 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

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


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