Wan Mohd Fairuz Wan Ismail , Thank you for the makefile for the Fibonacci
function. I just tried it on Centos Linux 5.5 and I am still getting
valgrind/callgrind errors(shown below)
I received an email from a programmer yesterday who thinks the reason
that callgrind is not able to profile my C++ program on Centos Linux Version
5.5 is because of an libc conflict.
"what is the version of libc on the host? Is it a vm or physical? I
guess it is gonna be a ABI/version conflict of libc. If you cannot figure it
out, just report it. Chances are, a dev will be able to tell you in 5
seconds."
In order to determine what version of libc is on the Centos Linux 5.5
host, I tried: rpm -qa | grep glibc. The answer was:
glibc-devel-2.5-49.el5_5.7 glibc-2.5-49.el5_5.7 glibc-headers-2.5-49.el5_5.7
glibc-common-2.5-49.el5.
Do you think we have a libc conflict? Thank you.
==11507== Callgrind, a call-graph generating cache profiler
==11507== Copyright (C) 2002-2010, and GNU GPL'd, by Josef Weidendorfer et
al.
==11507== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==11507== Command: ./MatchUpAccurate.exe
==11507==
--11507-- warning: Pentium 4 with 12 KB micro-op instruction trace cache
--11507-- Simulating a 16 KB I-cache with 32 B lines
==11507== For interactive control, run 'callgrind_control -h'.
std::ios_base::Init::Init()
BB# 215400
Callgrind: jumps.c:164 (new_jcc): Assertion '(0 <= jmp) && (jmp <=
from->bb->cjmp_count)' failed.
==11507== at 0x3801E4C8: report_and_quit (m_libcassert.c:193)
==11507== by 0x3801E69C: vgPlain_assert_fail (m_libcassert.c:267)
==11507== by 0x3800FCD9: vgCallgrind_get_jcc (jumps.c:164)
==11507== by 0x38003534: vgCallgrind_push_call_stack (callstack.c:217)
==11507== by 0x38001FDB: vgCallgrind_setup_bbcc (bbcc.c:844)
==11507== by 0x62CC67E3: ???
sched status:
running_tid=1
Thread 1: status = VgTs_Runnable
==11507== at 0x3E30CB0: std::ios_base::Init::Init() (in
/usr/lib/libstdc++.so.6.0.8)==11507== by 0x3EA0125: ??? (in
/usr/lib/libstdc++.so.6.0.8)
==11507== by 0x3E22BD0: ??? (in /usr/lib/libstdc++.so.6.0.8)
==11507== by 0xAE2162: call_init (in /lib/ld-2.5.so)
==11507== by 0xAE2272: _dl_init (in /lib/ld-2.5.so)
==11507== by 0xAD484E: ??? (in /lib/ld-2.5.so)
On Fri, Apr 22, 2011 at 6:35 AM, Wan Mohd Fairuz Wan Ismail <
[email protected]> wrote:
> I just use :
> g++ -g -o MatchUpAccurate MatchUpAccurate.cpp
>
> Regards,
> Fairuz
>
>
> On Fri, Apr 22, 2011 at 3:32 PM, Frank Chang <[email protected]>wrote:
>
>> Wan Mohd Fairuz Wan Ismail, Why does callgrind work on Ubuntu and not
>> Centos Linux 5.5? Could you email me your makefile? Thank you.
>>
>>
>> On Fri, Apr 22, 2011 at 6:05 AM, Wan Mohd Fairuz Wan Ismail <
>> [email protected]> wrote:
>>
>>> I got some results using Valgrind 3.6.0 Ubuntu.
>>>
>>> ==17414== Callgrind, a call-graph generating cache profiler
>>> ==17414== Copyright (C) 2002-2009, and GNU GPL'd, by Josef Weidendorfer
>>> et al.
>>> ==17414== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for
>>> copyright info
>>> ==17414== Command: ./MatchUpAccurate
>>> ==17414==
>>> --17414-- warning: Pentium 4 with 12 KB micro-op instruction trace cache
>>> --17414-- Simulating a 16 KB I-cache with 32 B lines
>>> ==17414== For interactive control, run 'callgrind_control -h'.
>>> ==17414==
>>> ==17414== Events : Ir Dr Dw I1mr D1mr D1mw I2mr D2mr D2mw
>>> ==17414== Collected : 1277369 304854 106591 3591 8731 1584 714 4707 1096
>>> ==17414==
>>> ==17414== I refs: 1,277,369
>>> ==17414== I1 misses: 3,591
>>> ==17414== L2i misses: 714
>>> ==17414== I1 miss rate: 0.28%
>>> ==17414== L2i miss rate: 0.5%
>>> ==17414==
>>> ==17414== D refs: 411,445 (304,854 rd + 106,591 wr)
>>> ==17414== D1 misses: 10,315 ( 8,731 rd + 1,584 wr)
>>> ==17414== L2d misses: 5,803 ( 4,707 rd + 1,096 wr)
>>> ==17414== D1 miss rate: 2.5% ( 2.8% + 1.4% )
>>> ==17414== L2d miss rate: 1.4% ( 1.5% + 1.0% )
>>> ==17414==
>>> ==17414== L2 refs: 13,906 ( 12,322 rd + 1,584 wr)
>>> ==17414== L2 misses: 6,517 ( 5,421 rd + 1,096 wr)
>>> ==17414== L2 miss rate: 0.3% ( 0.3% + 1.0% )
>>>
>>>
>>>
>>> On Fri, Apr 22, 2011 at 12:23 PM, Frank Chang
>>> <[email protected]>wrote:
>>>
>>>> I am encountering some issues with using Valgrind 3.6.1 Callgrind
>>>> on Centos Linux 5.5. I am using a simple test program using the Fibonnacci
>>>> function(shown below). However, when I run:
>>>>
>>>> /home/frankc/DQTTest/valgrind-3.6.1/coregrind/valgrind --tool=callgrind
>>>> --dump-instr=yes --simulate-cache=yes --collect-jumps=yes
>>>>
>>>> callgrind complains about std::ios_base::Init::Init() (in
>>>> /usr/lib/libstdc++.so.6.0.8) and we obtain no profiling output. Is this
>>>> issue specific to Centos Linux 5.5 or am I doing some wrong? I can send you
>>>> my makefile if you wish. Is there a workaround to this problem? The
>>>> Valgrind/Callgrind error messages are shown below. Thank you.
>>>>
>>>>
>>>> /home/frankc/DQTTest/valgrind-3.6.1/coregrind/valgrind --tool=callgrind
>>>> --dump-instr=yes --simulate-cache=yes --collect-jumps=yes
>>>> ./MatchUpAccurate.exe >& mary8.txt
>>>> ==18130== Callgrind, a call-graph generating cache profiler
>>>> ==18130== Copyright (C) 2002-2010, and GNU GPL'd, by Josef Weidendorfer
>>>> et al.
>>>> ==18130== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright
>>>> info
>>>> ==18130== Command: ./MatchUpAccurate.exe
>>>> ==18130==
>>>> --18130-- warning: Pentium 4 with 12 KB micro-op instruction trace cache
>>>> --18130-- Simulating a 16 KB I-cache with 32 B lines
>>>> ==18130== For interactive control, run 'callgrind_control -h'.
>>>> std::ios_base::Init::Init()
>>>> BB# 215387
>>>> Callgrind: jumps.c:164 (new_jcc): Assertion '(0 <= jmp) && (jmp <=
>>>> from->bb->cjmp_count)' failed.
>>>> ==18130== at 0x3801E4C8: report_and_quit (m_libcassert.c:193)
>>>> ==18130== by 0x3801E69C: vgPlain_assert_fail (m_libcassert.c:267)
>>>> ==18130== by 0x3800FCD9: vgCallgrind_get_jcc (jumps.c:164)
>>>> ==18130== by 0x38003534: vgCallgrind_push_call_stack (callstack.c:217)
>>>> ==18130== by 0x38001FDB: vgCallgrind_setup_bbcc (bbcc.c:844)
>>>> ==18130== by 0x6292A7E3: ???
>>>> sched status:
>>>> running_tid=1
>>>> Thread 1: status = VgTs_Runnable
>>>> ==18130== at 0x3E30CB0: std::ios_base::Init::Init() (in
>>>> /usr/lib/libstdc++.so.6.0.8)
>>>> ==18130== by 0x3EA0125: ??? (in /usr/lib/libstdc++.so.6.0.8)
>>>> ==18130== by 0x3E22BD0: ??? (in /usr/lib/libstdc++.so.6.0.8)
>>>> ==18130== by 0xAE2162: call_init (in /lib/ld-2.5.so)
>>>> ==18130== by 0xAE2272: _dl_init (in /lib/ld-2.5.so)
>>>> ==18130== by 0xAD484E: ??? (in /lib/ld-2.5.so)
>>>>
>>>> // MatchUpTest.cpp
>>>>
>>>> int fibonacci(int n){
>>>> if (n == 0)
>>>> return 0;
>>>> else if (n == 1)
>>>> return 1;
>>>> else
>>>> return fibonacci(n - 1) + fibonacci(n-2);
>>>> }
>>>> int main(int Argc_,char *Argv_[]) {
>>>>
>>>> fibonacci(10);
>>>> return 1;
>>>> }
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Fulfilling the Lean Software Promise
>>>> Lean software platforms are now widely adopted and the benefits have
>>>> been
>>>> demonstrated beyond question. Learn why your peers are replacing JEE
>>>> containers with lightweight application servers - and what you can gain
>>>> from the move. http://p.sf.net/sfu/vmware-sfemails
>>>> _______________________________________________
>>>> Valgrind-users mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/valgrind-users
>>>>
>>>>
>>>
>>>
>>> --
>>> Wan Mohd Fairuz WAN ISMAIL
>>> OMAP System Multimedia Integration Team (Trainee)
>>> Texas Instrument France
>>> [email protected]
>>> +33 (0)4 93 22 20 16
>>> +33 (0)6 43 46 13 39
>>>
>>> 15 Le Palais des Fleurs,
>>> 74 Boulevard Raymond Poincare,
>>> 06160 Juan les Pins, FRANCE.
>>> http://www.watt.com.my
>>> +6 017 2071591
>>>
>>>
>>
>
>
> --
> Wan Mohd Fairuz WAN ISMAIL
> OMAP System Multimedia Integration Team (Trainee)
> Texas Instrument France
> [email protected]
> +33 (0)4 93 22 20 16
> +33 (0)6 43 46 13 39
>
> 15 Le Palais des Fleurs,
> 74 Boulevard Raymond Poincare,
> 06160 Juan les Pins, FRANCE.
> http://www.watt.com.my
> +6 017 2071591
>
>
------------------------------------------------------------------------------
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been
demonstrated beyond question. Learn why your peers are replacing JEE
containers with lightweight application servers - and what you can gain
from the move. http://p.sf.net/sfu/vmware-sfemails
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users