Project

General

Profile

Bug #469

Profiler detection is inaccurate

Added by Greg Farnum over 13 years ago. Updated over 13 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

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

Description

After the latest git update, i.e., 22nd-Sept (unstable)
The 'make' breaks down. Here's the last line.

/bin/bash ../libtool --tag=CXX --mode=link g++ -Wall -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -rdynamic -g -O2 -latomic_ops -o cmon cmon.o SimpleMessenger.o libmon.a libcrush.a libcommon.a -lpthread -lm -lcrypto
libtool: link: g++ -Wall -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -rdynamic -g -O2 -o cmon cmon.o SimpleMessenger.o -latomic_ops libmon.a libcrush.a libcommon.a -lpthread -lm -lcrypto
g++ -DHAVE_CONFIG_H -I. -Wall -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -rdynamic "-fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free" -g -O2 -MT cosd-cosd.o -MD -MP -MF .deps/cosd-cosd.Tpo -c -o cosd-cosd.o `test -f 'cosd.cc' || echo './'`cosd.cc
cosd.cc: In function ‘int main(int, const char**)’:
cosd.cc:65: error: ‘IsHeapProfilerRunning’ was not declared in this scope
cosd.cc:310: warning: ignoring return value of ‘int chdir(const char*)’, declared with attribute warn_unused_result
make2: * [cosd-cosd.o] Error 1
make2: Leaving directory `/home/aaa/ceph/ceph/src'
make1:
[all] Error 2
make1: Leaving directory `/home/aaa/ceph/ceph/src'
make: *
* [all-recursive] Error 1
aaa@s3:~/ceph/ceph$


Hmmm -- it looks like the scripts are split on whether you have
tcmalloc installed in your system, and I don't see any obvious issues
when I go over them. Do you have tcmalloc installed? Did you try a
"make clean; make" cycle?

Sadly, I still get the error in some of other PCs.
cosd.cc: In function ‘int main(int, const char**)’:
cosd.cc:65: error: ‘IsHeapProfilerRunning’ was not declared in this scope
cosd.cc:310: warning: ignoring return value of ‘int chdir(const
char*)’, declared with attribute warn_unused_result
make2: *** [cosd-cosd.o] Error 1

I've tried make-clean, and re-git everything again. only reverting
back to 'stable' version compiles. Just 'unstable' doesn't work.
Anyway to fix this, without re-installing the OS ? ;-)

Figure out what's going on, and make it work!

History

#1 Updated by Greg Farnum over 13 years ago

  • Status changed from New to Rejected

Upon further inspection, I don't think this is a problem with the detection scripts, since IsHeapProfilerRunning is referenced immediately following HeapProfilerStart. Also, IsHeapProfilerRunning's prototype changed in April to return an int rather than a bool, so for the moment my guess is that the header and library are incompatible versions.
Will update if I'm incorrect.

Also available in: Atom PDF