Bug 1550895 - GD2 fails to dlopen server xlator
Summary: GD2 fails to dlopen server xlator
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: core
Version: mainline
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ---
Assignee: Kaushal
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1550894 1551640
TreeView+ depends on / blocked
 
Reported: 2018-03-02 08:25 UTC by Kaushal
Modified: 2018-06-20 18:01 UTC (History)
2 users (show)

Fixed In Version: glusterfs-v4.1.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1550894
: 1551640 (view as bug list)
Environment:
Last Closed: 2018-06-20 18:01:56 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1532238 0 unspecified CLOSED Failed to access volume via Samba with undefined symbol from socket.so 2021-02-22 00:41:40 UTC

Internal Links: 1532238

Description Kaushal 2018-03-02 08:25:39 UTC
+++ 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/

Comment 1 Worker Ant 2018-03-02 08:39:44 UTC
REVIEW: https://review.gluster.org/19657 (glusterfsd: create libglusterfsd) posted (#1) for review on master by Kaushal M

Comment 2 Worker Ant 2018-03-02 22:20:04 UTC
REVIEW: https://review.gluster.org/19664 (build: address linkage issues) posted (#1) for review on master by Kaleb KEITHLEY

Comment 3 Worker Ant 2018-03-06 02:25:09 UTC
COMMIT: https://review.gluster.org/19664 committed in master by "Kaleb KEITHLEY" <kkeithle> 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)

(why are there two different bzs for the same bug?)

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.

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

Comment 4 Shyamsundar 2018-06-20 18:01:56 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-v4.1.0, please open a new bug report.

glusterfs-v4.1.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-June/000102.html
[2] https://www.gluster.org/pipermail/gluster-users/


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