Project

General

Profile

Actions

Bug #47554

open

librgw:load compressor failed.

Added by Rixin Luo over 3 years ago. Updated over 3 years ago.

Status:
Fix Under Review
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

Source:
Tags:
compression
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

2020-09-11T15:44:54.874+0800 ffff9179f200 5 req 64 0s :put_obj -- Getting permissions done for identity=RGWDummyIdentityApplier(auth_id=hadoop, perm_mask=15, is_admin=0), owner=hadoop, perm=2
2020-09-11T15:44:54.874+0800 ffff9179f200 10 req 64 0s :put_obj identity=RGWDummyIdentityApplier(auth_id=hadoop, perm_mask=15, is_admin=0) requested perm (type)=2, policy perm=2, user_perm_mask=2, acl perm=2
2020-09-11T15:44:54.874+0800 ffff9179f200 2 req 64 0s verifying op params
2020-09-11T15:44:54.874+0800 ffff9179f200 2 req 64 0s executing
2020-09-11T15:44:54.874+0800 ffff9179f200 20 max_chunk_size=4194304
2020-09-11T15:44:54.874+0800 ffff9179f200 -1 load failed dlopen(): "/usr/lib64/ceph/compressor/libceph_zlib.so: undefined symbol: _ZN4ceph10_page_sizeE" or "/usr/lib64/ceph/libceph_zlib.so: cannot open shared object file: No such file or directory"
2020-09-11T15:44:54.874+0800 ffff9179f200 -1 create cannot load compressor of type zlib

Actions #1

Updated by yp dai over 3 years ago

Hi,The same ceph version (v14.2.9), I did not find this problem.
Please check that there is no error in the cluster package installation process.

The correct information should be as follows:

$ ll /usr/lib64/ceph/compressor/libceph_zlib.so
lrwxrwxrwx. 1 root root 17 Jul 8 14:47 /usr/lib64/ceph/compressor/libceph_zlib.so -> libceph_zlib.so.2

$ rpm -qf /usr/lib64/ceph/compressor/libceph_zlib.so
ceph-base-14.2.10-0.el7.x86_64

Actions #2

Updated by yp dai over 3 years ago

[root@ceph01 ceph]# rpm -qf /usr/lib64/ceph/compressor/libceph_zlib.so
ceph-base-14.2.9-0.el7.x86_64

Actions #3

Updated by Rixin Luo over 3 years ago

the file /usr/lib64/ceph/compressor/libceph_zlib.so is exist, the really error message is "undefined symbol: _ZN4ceph10_page_sizeE". the root cause is libceph_zlib.so need symblos from libceph-common.so.
libceph-common.so is dynamic linked by ceph-osd, the symbols in libceph-common are added to global symbol table when ceph-osd is running, and then dlopen can find the symbol.
The error occurs when java client using librgw via JNI and load compressor dynamically.

Actions #4

Updated by Abhishek Lekshmanan over 3 years ago

What OS are you using? Where were the packages installed from?

Actions #5

Updated by Rixin Luo over 3 years ago

centos 7.6 for aarch64. we develop a jni library to wrap librgw.

Actions #6

Updated by Casey Bodley over 3 years ago

can you give this change a try?


diff --git a/src/compressor/zlib/CMakeLists.txt b/src/compressor/zlib/CMakeLists.txt
index c1c8413949..d5bb6516a7 100644
--- a/src/compressor/zlib/CMakeLists.txt
+++ b/src/compressor/zlib/CMakeLists.txt
@@ -49,7 +49,7 @@ else(HAVE_INTEL_SSE4_1 AND HAVE_BETTER_YASM_ELF64 AND (NOT APPLE))
 endif(HAVE_INTEL_SSE4_1 AND HAVE_BETTER_YASM_ELF64 AND (NOT APPLE))

 add_library(ceph_zlib SHARED ${zlib_sources})
-target_link_libraries(ceph_zlib ZLIB::ZLIB compressor $<$<PLATFORM_ID:Windows>:ceph-common>)
+target_link_libraries(ceph_zlib ZLIB::ZLIB compressor ceph-common)
 target_include_directories(ceph_zlib SYSTEM PRIVATE "${CMAKE_SOURCE_DIR}/src/isa-l/include")
 set_target_properties(ceph_zlib PROPERTIES
   VERSION 2.0.0

Actions #7

Updated by Matt Benjamin over 3 years ago

  • Subject changed from load compressor failed. to librgw:load compressor failed.
Actions #8

Updated by Rixin Luo over 3 years ago

i have create a pr for this, it drop PLATFORM_ID as you do.
https://github.com/ceph/ceph/pull/37272

Actions #9

Updated by Casey Bodley over 3 years ago

  • Tags set to compression
  • Pull request ID set to 37272
Actions #10

Updated by Casey Bodley over 3 years ago

  • Status changed from New to Fix Under Review
Actions

Also available in: Atom PDF