Project

General

Profile

Bug #36508

Updated by Brad Hubbard over 1 year ago

Binaries compiled against the 2.6 version of libtcmalloc.so.4 (in this case ceph-osd) have the following undefined symbols.
<pre>

# nm -D /usr/bin/ceph-osd|egrep '(_ZdaPvm|_ZdlPvm)'
U _ZdaPvm
U _ZdlPvm
</pre>

The 2.4 version of libtcmalloc.so.4 (gperftools-libs-2.4-8.el7.x86_64) does not export these symbols.
<pre>

# nm -D /usr/lib64/libtcmalloc.so.4|egrep '(_ZdaPvm|_ZdlPvm)'
#
</pre>

This leads to errors such as the following at runtime.

ceph-osd: symbol lookup error: ceph-osd: undefined symbol: _ZdaPvm

Installing gperftools-libs-2.6.1-1.el7.x86_64.rpm resolves the issue.

<pre>
# nm -D /usr/lib64/libtcmalloc.so.4|egrep '(_ZdaPvm|_ZdlPvm)'
0000000000035dc0 T _ZdaPvm
0000000000035dc0 T _ZdlPvm
</pre>

This issue is related to http://tracker.ceph.com/issues/35969 which required the 2.6 version at *build* time.

RHEL bug: https://bugzilla.redhat.com/show_bug.cgi?id=1640391
CentOS bug: https://bugs.centos.org/view.php?id=15384

*** NOTE: Any backport requires the fix from http://tracker.ceph.com/issues/35969

Back