Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Valgrind

apolo74
Beginner
347 Views
I'm using valgrind in my code (Ubuntu 10.10 32bits, IPP7) and everything seems to be working well... but the valgrind report looks like this:
==4643== Command: ./badDFT2 ../confFiles/dft1D1Lto2D1L.cfg
==4643==
==4643== Syscall param sched_setaffinity(mask) points to unaddressable byte(s)
==4643== at 0x4366887: syscall (syscall.S:31)
==4643== by 0x441AFFF: ???
==4643== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==4643==
==4643== Conditional jump or move depends on uninitialised value(s)
==4643== at 0x43F9513: ippGetCpuFeatures (in /opt/intel/composerxe-2011.2.137/ipp/lib/ia32/libippcore.so.7.0)
==4643== Uninitialised value was created by a stack allocation
==4643== at 0x40E7623: ipp_GetProcessorId (in /opt/intel/composerxe-2011.2.137/ipp/lib/ia32/libippvm.so.7.0)
==4643==
================>>> Hello badDFT2... <<<================
Parameters for a DFT network from '../confFiles/dft1D1Lto2D1L.cfg'
Number of fields: 2
Number of timesteps: 200
Kernel factor: 3
======>>> Destroying badDFT2...done. Memory free! Byebye<<<======
==4643==
==4643== HEAP SUMMARY:
==4643== in use at exit: 5,401 bytes in 33 blocks
==4643== total heap usage: 370 allocs, 337 frees, 1,261,340 bytes allocated
==4643==
==4643== LEAK SUMMARY:
==4643== definitely lost: 0 bytes in 0 blocks
==4643== indirectly lost: 0 bytes in 0 blocks
==4643== possibly lost: 0 bytes in 0 blocks
==4643== still reachable: 5,401 bytes in 33 blocks
==4643== suppressed: 0 bytes in 0 blocks
==4643== Reachable blocks (those to which a pointer was found) are not shown.
==4643== To see them, rerun with: --leak-check=full --show-reachable=yes
==4643==
==4643== For counts of detected and suppressed errors, rerun with: -v
==4643== ERROR SUMMARY: 4 errors from 2 contexts (suppressed: 54 from 12)
So I'm lost about where to find those two errors at the beginning of the report since my code seems to be doing what it's supossed to do without memory leaks but there is something weird when loading the IPP libraries. And from what I understand (the 'still reachable: 5401 bytes in 33 blocks' part), it seems that the IPP libraries stay loaded.
Is there something I'm forgetting to do in my code like unload IPP or something similar??? Thanks for any help,
Boris
0 Kudos
1 Reply
apolo74
Beginner
347 Views
Ok now I'm getting a bunch of errors like:
==8197== Invalid write of size 8
==8197== at 0x543281B: s8_ownsZero_8u (in /opt/intel/composerxe-2011.2.137/ipp/lib/ia32/libippsv8.so.7.0)
==8197== by 0x804B482: BAD::badDFT2::badDFT2(char const*) (in /home/boris/cppStuff/myStuff/dft/dftCore/badDFT2/build/badDFT2)
==8197== by 0x804A5D5: mainLoop(char const*) (in /home/boris/cppStuff/myStuff/dft/dftCore/badDFT2/build/badDFT2)
==8197== by 0x804A63C: main (in /home/boris/cppStuff/myStuff/dft/dftCore/badDFT2/build/badDFT2)
==8197== Address 0x45cea90 is 0 bytes after a block of size 96 alloc'd
==8197== at 0x4026BD3: malloc (vg_replace_malloc.c:236)
==8197== by 0x43FAA45: ippMalloc (in /opt/intel/composerxe-2011.2.137/ipp/lib/ia32/libippcore.so.7.0)
==8197== by 0x804A5D5: mainLoop(char const*) (in /home/boris/cppStuff/myStuff/dft/dftCore/badDFT2/build/badDFT2)
==8197== by 0x804A63C: main (in /home/boris/cppStuff/myStuff/dft/dftCore/badDFT2/build/badDFT2)
Don't know what it means and don't know how to get rid off them so I need some help here. Thanks,
Boris
0 Kudos
Reply