Bug 1551640

Summary: GD2 fails to dlopen server xlator
Product: [Community] GlusterFS Reporter: Kaleb KEITHLEY <kkeithle>
Component: coreAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: urgent Docs Contact:
Priority: urgent    
Version: 4.0CC: anoopcs, bugs, kaushal
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-4.0.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1550895 Environment:
Last Closed: 2018-03-06 13:11:54 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: 1550895    
Bug Blocks: 1550894    

Description Kaleb KEITHLEY 2018-03-05 15:39:19 UTC
+++ This bug was initially created as a clone of Bug #1550895 +++

+++ This bug was initially created as a clone of Bug #1550894 +++

Description of problem:
GD2 fails to open the server xlator to read its options. This causes GD2 to fail to start.

The reason for this is because, server xlator uses two external function from glusterfsd, glusterfs_mgmt_pmap_signout and glusterfs_autoscale_threads. These functions are not resolved when dlopen tries to load the xlator, causing it to fail with 'undefined symbol' error.

This is not a problem with normal brick operation, as the server xlator is loaded by glusterfsd, which already has the relevant symbols defined.


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

How reproducible:
Reproducible on packaged RPMs of GlusterFS-v4.0.0rc1 on Fedora and GlusterD2-v4.0.0rc1 always.

Steps to Reproduce:
1. On Fedora 27, install GlusterFS-v4.0.0rc1 from [1] and GlusterD2-v4.0.0rc1
2. Start glusterd2.

Actual results:

GD2 fails to start with logged error,
```
FATA[2018-02-28 15:02:53.345686] Failed to load xlator options                 error="dlopen(/usr/lib64/glusterfs/4.0.0rc1/xlator/protocol/server.so) failed; dlerror = /usr/lib64/glusterfs/4.0.0rc1/xlator/protocol/server.so: undefined symbol: glusterfs_mgmt_pmap_signout" source="[main.go:79:main.main]"
```


Expected results:
GD2 should not fail to start.

Additional info:

--- Additional comment from Kaushal on 2018-03-02 13:54:16 IST ---

Missed links to RPMs.
GlusterFS-4.0.0rc1 - https://download.gluster.org/pub/gluster/glusterfs/qa-releases/4.0rc1/Fedora/fedora-27/x86_64/
GlusterD2-4.0.0rc1 - https://copr.fedorainfracloud.org/coprs/kshlm/glusterd2/

--- Additional comment from Worker Ant on 2018-03-02 03:39:44 EST ---

REVIEW: https://review.gluster.org/19657 (glusterfsd: create libglusterfsd) posted (#1) for review on master by Kaushal M

--- Additional comment from Worker Ant on 2018-03-02 17:20:04 EST ---

REVIEW: https://review.gluster.org/19664 (build: address linkage issues) posted (#1) for review on master by Kaleb KEITHLEY

Comment 1 Worker Ant 2018-03-05 17:24:13 UTC
REVIEW: https://review.gluster.org/19675 (build: address linkage issues) posted (#1) for review on release-4.0 by Kaleb KEITHLEY

Comment 2 Kaleb KEITHLEY 2018-03-06 13:11:54 UTC

*** This bug has been marked as a duplicate of bug 1550894 ***

Comment 3 Worker Ant 2018-03-06 13:44:17 UTC
COMMIT: https://review.gluster.org/19675 committed in release-4.0 by "Shyamsundar Ranganathan" <srangana> with a commit message- build: address linkage issues

We have the following undefined symbol error from protocol/server.so:

  glusterfs_mgmt_pmap_signout
  glusterfs_autoscale_threads

See https://review.gluster.org/19225 (bz#1532238)
and https://review.gluster.org/19657 (bz#1550895)

IMO this is a cleaner solution. I.e. moving the above two functions
to libgfrpc (.../rpc/rpc-lib/...)

I would also, for (foolish) consistency sake, like to see
glusterfs_mgmt_pmap_signin() moved from glusterfsd to libgfrpc as
well.

This works on f28/rawhide, with its new, more restrictive run-time
link semantics. The smoke and regression tests on earlier fedora and
centos will confirm that it works on those platforms too.

master: 1550895
master: https://review.gluster.org/19664

Change-Id: I9cfbd1cc15e7ebd9fc31b56ac791287fa2c584de
BUG: 1551640
Signed-off-by: Kaleb S. KEITHLEY <kkeithle>

Comment 4 Shyamsundar 2018-03-15 11:27:41 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-4.0.0, please open a new bug report.

glusterfs-4.0.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://lists.gluster.org/pipermail/announce/2018-March/000092.html
[2] https://www.gluster.org/pipermail/gluster-users/