|
From: Haizhu L. <hai...@ho...> - 2006-02-15 16:38:41
|
Hello, I am running my application with valgrind-1.0.1, it reports possibly lost bytes in the following: ==7226== 12376 bytes in 2 blocks are possibly lost in loss record 84 of 87 ==7226== at 0x4003BD3D: __builtin_new (in /usr/lib/valgrind/valgrind.so) ==7226== by 0x4003BD82: operator new(unsigned) (in /usr/lib/valgrind/valgrind.so) ==7226== by 0x40426DB6: (within /usr/lib/libstdc++.so.5.0.2) ==7226== by 0x404268E7: (within /usr/lib/libstdc++.so.5.0.2) The number of possibly lost bytes tends to grow with application running. Can somebody help interpret what this means? I don't understand this because it does not indicate a function call from my code. Thank you. |
|
From: Nicholas N. <nj...@cs...> - 2006-02-15 21:59:29
|
On Wed, 15 Feb 2006, Haizhu Liu wrote: > I am running my application with valgrind-1.0.1, it reports possibly lost > bytes in the following: > > ==7226== 12376 bytes in 2 blocks are possibly lost in loss record 84 of 87 > ==7226== at 0x4003BD3D: __builtin_new (in /usr/lib/valgrind/valgrind.so) > ==7226== by 0x4003BD82: operator new(unsigned) (in > /usr/lib/valgrind/valgrind.so) > ==7226== by 0x40426DB6: (within /usr/lib/libstdc++.so.5.0.2) > ==7226== by 0x404268E7: (within /usr/lib/libstdc++.so.5.0.2) > > The number of possibly lost bytes tends to grow with application running. Can > somebody help interpret what this means? I don't understand this because it > does not indicate a function call from my code. Valgrind 1.0.1? Wow, that's about three years old. 3.1.0 works much better. You need a longer stack trace. Use --num-callers to do this, or update to 3.1.0 which defaults to 12 entries in the stack trace. Nick |
|
From: Haizhu L. <hai...@ho...> - 2006-02-16 19:23:55
|
I increased the num-callers to 12, this is what I am seeing: ==26983== 11128 bytes in 2 blocks are possibly lost in loss record 84 of 87 ==26983== at 0x4003BD3D: __builtin_new (in /usr/lib/valgrind/valgrind.so) ==26983== by 0x4003BD82: operator new(unsigned) (in /usr/lib/valgrind/valgrind.so) ==26983== by 0x40426DB6: (within /usr/lib/libstdc++.so.5.0.2) ==26983== by 0x404268E7: (within /usr/lib/libstdc++.so.5.0.2) ==26983== by 0x4042672D: (within /usr/lib/libstdc++.so.5.0.2) ==26983== by 0x40426AF3: (within /usr/lib/libstdc++.so.5.0.2) ==26983== by 0x40426482: (within /usr/lib/libstdc++.so.5.0.2) ==26983== by 0x4042D8CF: (within /usr/lib/libstdc++.so.5.0.2) ==26983== by 0x4042EC67: (within /usr/lib/libstdc++.so.5.0.2) ==26983== by 0x4042EFC5: (within /usr/lib/libstdc++.so.5.0.2) ==26983== by 0x4042ED5F: (within /usr/lib/libstdc++.so.5.0.2) ==26983== by 0x4042A53D: (within /usr/lib/libstdc++.so.5.0.2) I don't know whether this is any more informative. If I need to upgrade to the latest version of valgirnd, I need to upgrade the libc and etc, which I try not to do because it is a shared machine. Any idea will be appreciated. >From: Nicholas Nethercote <nj...@cs...> >To: Haizhu Liu <hai...@ho...> >CC: val...@li... >Subject: Re: [Valgrind-users] Possibly lost bytes >Date: Thu, 16 Feb 2006 08:59:12 +1100 (EST) > >On Wed, 15 Feb 2006, Haizhu Liu wrote: > >>I am running my application with valgrind-1.0.1, it reports possibly lost >>bytes in the following: >> >>==7226== 12376 bytes in 2 blocks are possibly lost in loss record 84 of 87 >>==7226== at 0x4003BD3D: __builtin_new (in >>/usr/lib/valgrind/valgrind.so) >>==7226== by 0x4003BD82: operator new(unsigned) (in >>/usr/lib/valgrind/valgrind.so) >>==7226== by 0x40426DB6: (within /usr/lib/libstdc++.so.5.0.2) >>==7226== by 0x404268E7: (within /usr/lib/libstdc++.so.5.0.2) >> >>The number of possibly lost bytes tends to grow with application running. >>Can somebody help interpret what this means? I don't understand this >>because it does not indicate a function call from my code. > >Valgrind 1.0.1? Wow, that's about three years old. 3.1.0 works much >better. > >You need a longer stack trace. Use --num-callers to do this, or update to >3.1.0 which defaults to 12 entries in the stack trace. > >Nick |
|
From: Nicholas N. <nj...@cs...> - 2006-02-16 21:53:48
|
On Thu, 16 Feb 2006, Haizhu Liu wrote: > I increased the num-callers to 12, this is what I am seeing: > > ==26983== 11128 bytes in 2 blocks are possibly lost in loss record 84 of 87 > ==26983== at 0x4003BD3D: __builtin_new (in /usr/lib/valgrind/valgrind.so) > ==26983== by 0x4003BD82: operator new(unsigned) (in > /usr/lib/valgrind/valgrind.so) > ==26983== by 0x40426DB6: (within /usr/lib/libstdc++.so.5.0.2) > ==26983== by 0x404268E7: (within /usr/lib/libstdc++.so.5.0.2) > ==26983== by 0x4042672D: (within /usr/lib/libstdc++.so.5.0.2) > ==26983== by 0x40426AF3: (within /usr/lib/libstdc++.so.5.0.2) > ==26983== by 0x40426482: (within /usr/lib/libstdc++.so.5.0.2) > ==26983== by 0x4042D8CF: (within /usr/lib/libstdc++.so.5.0.2) > ==26983== by 0x4042EC67: (within /usr/lib/libstdc++.so.5.0.2) > ==26983== by 0x4042EFC5: (within /usr/lib/libstdc++.so.5.0.2) > ==26983== by 0x4042ED5F: (within /usr/lib/libstdc++.so.5.0.2) > ==26983== by 0x4042A53D: (within /usr/lib/libstdc++.so.5.0.2) > > I don't know whether this is any more informative. Try increasing it to something bigger. Nick |