Project

General

Profile

Actions

Bug #4818

closed

gitbuilder: apparently building Ceph without tcmalloc

Added by Greg Farnum almost 11 years ago. Updated almost 11 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Crash signature (v1):
Crash signature (v2):

Description

Users have reported a couple times that the "next" branch is being built without tcmalloc enabled. mikedawson installed the quantal packages on raring and when he tries to do a heap stats on the monitor, he gets the "tcmalloc not enabled, can't use heap profiler commands" output. But when I look at http://gitbuilder.sepia.ceph.com/gitbuilder-quantal-deb-amd64/log.cgi?log=ea54e6603f9c322d38f9f664dee92997b8a4bd4f it very clearly indicates that's using tcmalloc.

Figuring this out is important as not using tcmalloc makes our memory usage absolutely intolerable. Is this a gitbuilder issue that our release packages won't hit? Is something broken in the makefile? How did it happen?

Actions #1

Updated by Anonymous almost 11 years ago

  • Status changed from New to In Progress

For both debian and rpms, --with-tcmalloc is the default. It looks like it's setting the flags appropriately, and libtcmalloc is found. The Binaries that are produced are just not linked with libtcmalloc. Still looking.

Actions #2

Updated by Dan Mick almost 11 years ago

Found it:

debian/rules explicitly disallows it because debian/control doesn't contain Build-Depends: and libgoogle-perftools-dev on the same line anymore.

This happened with

8f5c665744e58d6d51a1e86de55c1399f51cc1c3
debian: Run wrap-and-sort from devscripts
Signed-off-by: Andras Elso <elso.andras@gmail.com>

I have a fix which seems to work for a local workspace that uses perl to implement a multiline grep:

-ifeq ($(shell grep -c -E '^Build-Depends:(.*,)?[[:space:]]*libgoogle-perftools-dev([[:space:]]|,|$$)' debian/control),0)
+ifeq ($(shell perl -n -e 'BEGIN{$$/=""}' -e '/Build-Depends:.*libgoogle-perftools-dev/ && exit 1' debian/control),0)
Actions #3

Updated by Dan Mick almost 11 years ago

  • Assignee changed from Anonymous to Dan Mick
Actions #4

Updated by Anonymous almost 11 years ago

Hi Dan -

I missed that you were working on this. I think the solution is to just delete that check since lenny is no longer a supported distribution, and all the others have tcmalloc.

There still appears to be a problem with the rpms, although it probably something completely different.

Actions #5

Updated by Dan Mick almost 11 years ago

That's entirely valid too; I just wanted the builds to be available for testing ASAP, but I wondered if we even needed that. I'll let you take this back and complete it for the RPMs if you wish.

Actions #6

Updated by Sage Weil almost 11 years ago

  • Status changed from In Progress to Resolved
Actions #7

Updated by Dan Mick almost 11 years ago

  • Assignee changed from Dan Mick to Anonymous
Actions

Also available in: Atom PDF