Project

General

Profile

Actions

Bug #13689

closed

ceph-mds not build with libjemalloc

Added by Denis kaganovich over 8 years ago. Updated almost 8 years ago.

Status:
Won't Fix
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Looking against high RAM usage of mds, I found ceph-mds do not linked to libjemalloc. Other daemons - are.

  1. lddtree /usr/bin/ceph-mds
    ceph-mds => /usr/bin/ceph-mds (interpreter => /lib64/ld-linux-x86-64.so.2)
    libpthread.so.0 => /lib64/libpthread.so.0
    ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
    libnss3.so => /usr/lib64/libnss3.so
    libnssutil3.so => /usr/lib64/libnssutil3.so
    libplc4.so => /usr/lib64/libplc4.so
    libplds4.so => /usr/lib64/libplds4.so
    libnspr4.so => /usr/lib64/libnspr4.so
    libdl.so.2 => /lib64/libdl.so.2
    libuuid.so.1 => /lib64/libuuid.so.1
    libboost_thread.so.1.57.0 => /usr/lib64/libboost_thread.so.1.57.0
    librt.so.1 => /lib64/librt.so.1
    libboost_system.so.1.57.0 => /usr/lib64/libboost_system.so.1.57.0
    libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/libstdc++.so.6
    libm.so.6 => /lib64/libm.so.6
    libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/libgcc_s.so.1
    libc.so.6 => /lib64/libc.so.6
  1. lddtree /usr/bin/ceph-osd
    ceph-osd => /usr/bin/ceph-osd (interpreter => /lib64/ld-linux-x86-64.so.2)
    libjemalloc.so.1 => /usr/lib64/libjemalloc.so.1
    libaio.so.1 => /lib64/libaio.so.1
    libleveldb.so.1 => /usr/lib64/libleveldb.so.1
    libsnappy.so.1 => /usr/lib64/libsnappy.so.1
    libpthread.so.0 => /lib64/libpthread.so.0
    ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
    libnss3.so => /usr/lib64/libnss3.so
    libnssutil3.so => /usr/lib64/libnssutil3.so
    libplc4.so => /usr/lib64/libplc4.so
    libplds4.so => /usr/lib64/libplds4.so
    libnspr4.so => /usr/lib64/libnspr4.so
    libuuid.so.1 => /lib64/libuuid.so.1
    libdl.so.2 => /lib64/libdl.so.2
    libboost_thread.so.1.57.0 => /usr/lib64/libboost_thread.so.1.57.0
    librt.so.1 => /lib64/librt.so.1
    libboost_system.so.1.57.0 => /usr/lib64/libboost_system.so.1.57.0
    libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/libstdc++.so.6
    libm.so.6 => /lib64/libm.so.6
    libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/libgcc_s.so.1
    libc.so.6 => /lib64/libc.so.6

PS Gentoo: build from sources.

Actions #1

Updated by Nathan Cutler over 8 years ago

  • Tracker changed from Tasks to Bug
  • Project changed from Stable releases to CephFS
Actions #2

Updated by Zheng Yan over 8 years ago

I found that if we move the -ljemalloc option before the -Wl,--as-needed option, libjemalloc will be linked into ceph-mds.

works

g++ -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fPIE -fstack-protector-strong -Wstrict-null-sentinel -g -fno-omit-frame-pointer -O2 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -std=gnu++11 -ljemalloc -Wl,--as-needed -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -o ceph-mds ceph_mds.o  ./.libs/libmds.a ./.libs/libperfglue.a ./.libs/libosdc.a ./.libs/libglobal.a -lpthread -lcryptopp -lm ./.libs/libcommon.a -ldl -lboost_thread -latomic_ops -lboost_random -lrt -lblkid -lboost_system

not work

g++ -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fPIE -fstack-protector-strong -Wstrict-null-sentinel -g -fno-omit-frame-pointer -O2 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -std=gnu++11 -Wl,--as-needed -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -o ceph-mds ceph_mds.o  ./.libs/libmds.a -ljemalloc ./.libs/libperfglue.a ./.libs/libosdc.a ./.libs/libglobal.a -lpthread -lcryptopp -lm ./.libs/libcommon.a -ldl -lboost_thread -latomic_ops -lboost_random -lrt -lblkid -lboost_system

Actions #3

Updated by Greg Farnum almost 8 years ago

  • Status changed from New to Won't Fix

We're switching to cmake so hopefully this is fixed.

Actions

Also available in: Atom PDF