Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MALSAR unit test leaks #1360

Closed
votjakovr opened this issue Aug 5, 2013 · 2 comments
Closed

MALSAR unit test leaks #1360

votjakovr opened this issue Aug 5, 2013 · 2 comments

Comments

@votjakovr
Copy link
Contributor

When i run the following command:

valgrind --leak-check=full ./shogun-unit-test --gtest_filter=Malsar*

it gives me this:

==21180==
==21180== HEAP SUMMARY:
==21180== in use at exit: 298,572 bytes in 1,422 blocks
==21180== total heap usage: 21,111 allocs, 19,689 frees, 1,092,326 bytes allocated
==21180==
==21180== 27,847 (176 direct, 27,671 indirect) bytes in 1 blocks are definitely lost in loss record 692 of 697
==21180== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x5D9A871: shogun::CDenseFeatures::copy_subset(shogun::SGVector) (DenseFeatures.cpp:600)
==21180== by 0x890F8C: generate_data() (MALSAR_unittest.cc:38)
==21180== by 0x8911B7: MalsarL12Test_train_Test::TestBody() (MALSAR_unittest.cc:47)
==21180== by 0x9DC3B2: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4243)
==21180== by 0x9D89F2: bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl_, bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180==
==21180== 27,847 (176 direct, 27,671 indirect) bytes in 1 blocks are definitely lost in loss record 693 of 697
==21180== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x5D9A871: shogun::CDenseFeatures::copy_subset(shogun::SGVector) (DenseFeatures.cpp:600)
==21180== by 0x890F8C: generate_data() (MALSAR_unittest.cc:38)
==21180== by 0x891487: MalsarClusteredTest_train_Test::TestBody() (MALSAR_unittest.cc:60)
==21180== by 0x9DC3B2: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4243)
==21180== by 0x9D89F2: bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl_, bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180==
==21180== 27,847 (176 direct, 27,671 indirect) bytes in 1 blocks are definitely lost in loss record 694 of 697
==21180== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x5D9A871: shogun::CDenseFeatures::copy_subset(shogun::SGVector) (DenseFeatures.cpp:600)
==21180== by 0x890F8C: generate_data() (MALSAR_unittest.cc:38)
==21180== by 0x891757: MalsarTraceTest_train_Test::TestBody() (MALSAR_unittest.cc:73)
==21180== by 0x9DC3B2: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4243)
==21180== by 0x9D89F2: bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl_, bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180==
==21180== 71,471 (320 direct, 71,151 indirect) bytes in 1 blocks are definitely lost in loss record 695 of 697
==21180== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x891533: MalsarClusteredTest_train_Test::TestBody() (MALSAR_unittest.cc:66)
==21180== by 0x9DC3B2: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4243)
==21180== by 0x9D89F2: bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl_, bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180== by 0x9CDBC6: bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl_, bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2126)
==21180== by 0x9C0286: testing::UnitTest::Run() (gtest.cc:3878)
==21180==
==21180== 71,599 (304 direct, 71,295 indirect) bytes in 1 blocks are definitely lost in loss record 696 of 697
==21180== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x891803: MalsarTraceTest_train_Test::TestBody() (MALSAR_unittest.cc:79)
==21180== by 0x9DC3B2: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4243)
==21180== by 0x9D89F2: bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl_, bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180== by 0x9CDBC6: bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl_, bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2126)
==21180== by 0x9C0286: testing::UnitTest::Run() (gtest.cc:3878)
==21180==
==21180== 71,873 (312 direct, 71,561 indirect) bytes in 1 blocks are definitely lost in loss record 697 of 697
==21180== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x891263: MalsarL12Test_train_Test::TestBody() (MALSAR_unittest.cc:53)
==21180== by 0x9DC3B2: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test_, void (testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4243)
==21180== by 0x9D89F2: bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl_, bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180== by 0x9CDBC6: bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl_, bool (testing::internal::UnitTestImpl::_)(), char const*) (gtest.cc:2126)
==21180== by 0x9C0286: testing::UnitTest::Run() (gtest.cc:3878)
==21180==
==21180== LEAK SUMMARY:
==21180== definitely lost: 1,464 bytes in 6 blocks
==21180== indirectly lost: 297,020 bytes in 1,413 blocks
==21180== possibly lost: 0 bytes in 0 blocks
==21180== still reachable: 88 bytes in 3 blocks
==21180== suppressed: 0 bytes in 0 blocks
==21180== Reachable blocks (those to which a pointer was found) are not shown.
==21180== To see them, rerun with: --leak-check=full --show-reachable=yes
==21180==
==21180== For counts of detected and suppressed errors, rerun with: -v
==21180== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 2 from 2)

@karlnapf
Copy link
Member

karlnapf commented Aug 5, 2013

Same here, probably this is cause by non-initialised memory

2013/8/5 Roman Votyakov notifications@github.com

When i run the following command:

valgrind --leak-check=full ./shogun-unit-test --gtest_filter=Malsar*

it gives me this:

==21180==
==21180== HEAP SUMMARY:
==21180== in use at exit: 298,572 bytes in 1,422 blocks
==21180== total heap usage: 21,111 allocs, 19,689 frees, 1,092,326 bytes
allocated
==21180==
==21180== 27,847 (176 direct, 27,671 indirect) bytes in 1 blocks are
definitely lost in loss record 692 of 697
==21180== at 0x4C2CD7B: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x5D9A871:
shogun::CDenseFeatures::copy_subset(shogun::SGVector)
(DenseFeatures.cpp:600)
==21180== by 0x890F8C: generate_data() (MALSAR_unittest.cc:38)
==21180== by 0x8911B7: MalsarL12Test_train_Test::TestBody()
(MALSAR_unittest.cc:47)
==21180== by 0x9DC3B2: void
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::Test_,
void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void
testing::internal::HandleExceptionsInMethodIfSupported(testing::Test_, void
(testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests()
(gtest.cc:4243)
==21180== by 0x9D89F2: bool
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::internal::UnitTestImpl_,
bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180==
==21180== 27,847 (176 direct, 27,671 indirect) bytes in 1 blocks are
definitely lost in loss record 693 of 697
==21180== at 0x4C2CD7B: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x5D9A871:
shogun::CDenseFeatures::copy_subset(shogun::SGVector)
(DenseFeatures.cpp:600)
==21180== by 0x890F8C: generate_data() (MALSAR_unittest.cc:38)
==21180== by 0x891487: MalsarClusteredTest_train_Test::TestBody()
(MALSAR_unittest.cc:60)
==21180== by 0x9DC3B2: void
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::Test_,
void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void
testing::internal::HandleExceptionsInMethodIfSupported(testing::Test_, void
(testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests()
(gtest.cc:4243)
==21180== by 0x9D89F2: bool
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::internal::UnitTestImpl_,
bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180==
==21180== 27,847 (176 direct, 27,671 indirect) bytes in 1 blocks are
definitely lost in loss record 694 of 697
==21180== at 0x4C2CD7B: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x5D9A871:
shogun::CDenseFeatures::copy_subset(shogun::SGVector)
(DenseFeatures.cpp:600)
==21180== by 0x890F8C: generate_data() (MALSAR_unittest.cc:38)
==21180== by 0x891757: MalsarTraceTest_train_Test::TestBody()
(MALSAR_unittest.cc:73)
==21180== by 0x9DC3B2: void
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::Test_,
void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void
testing::internal::HandleExceptionsInMethodIfSupported(testing::Test_, void
(testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests()
(gtest.cc:4243)
==21180== by 0x9D89F2: bool
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::internal::UnitTestImpl_,
bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180==
==21180== 71,471 (320 direct, 71,151 indirect) bytes in 1 blocks are
definitely lost in loss record 695 of 697
==21180== at 0x4C2CD7B: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x891533: MalsarClusteredTest_train_Test::TestBody()
(MALSAR_unittest.cc:66)
==21180== by 0x9DC3B2: void
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::Test_,
void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void
testing::internal::HandleExceptionsInMethodIfSupported(testing::Test_, void
(testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests()
(gtest.cc:4243)
==21180== by 0x9D89F2: bool
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::internal::UnitTestImpl_,
bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180== by 0x9CDBC6: bool
testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl_,
bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2126)
==21180== by 0x9C0286: testing::UnitTest::Run() (gtest.cc:3878)
==21180==
==21180== 71,599 (304 direct, 71,295 indirect) bytes in 1 blocks are
definitely lost in loss record 696 of 697
==21180== at 0x4C2CD7B: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x891803: MalsarTraceTest_train_Test::TestBody()
(MALSAR_unittest.cc:79)
==21180== by 0x9DC3B2: void
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::Test_,
void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void
testing::internal::HandleExceptionsInMethodIfSupported(testing::Test_, void
(testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests()
(gtest.cc:4243)
==21180== by 0x9D89F2: bool
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::internal::UnitTestImpl_,
bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180== by 0x9CDBC6: bool
testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl_,
bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2126)
==21180== by 0x9C0286: testing::UnitTest::Run() (gtest.cc:3878)
==21180==
==21180== 71,873 (312 direct, 71,561 indirect) bytes in 1 blocks are
definitely lost in loss record 697 of 697
==21180== at 0x4C2CD7B: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21180== by 0x61959F7: operator new(unsigned long) (memory.cpp:92)
==21180== by 0x891263: MalsarL12Test_train_Test::TestBody()
(MALSAR_unittest.cc:53)
==21180== by 0x9DC3B2: void
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::Test_,
void (testing::Test::)(), char const) (gtest.cc:2090)
==21180== by 0x9CBB66: void
testing::internal::HandleExceptionsInMethodIfSupported(testing::Test_, void
(testing::Test::)(), char const) (gtest.cc:2126)
==21180== by 0x9B9C44: testing::Test::Run() (gtest.cc:2161)
==21180== by 0x9BA85A: testing::TestInfo::Run() (gtest.cc:2338)
==21180== by 0x9BAEF6: testing::TestCase::Run() (gtest.cc:2445)
==21180== by 0x9C059C: testing::internal::UnitTestImpl::RunAllTests()
(gtest.cc:4243)
==21180== by 0x9D89F2: bool
testing::internal::HandleSehExceptionsInMethodIfSupported(testing::internal::UnitTestImpl_,
bool (testing::internal::UnitTestImpl::)(), char const) (gtest.cc:2090)
==21180== by 0x9CDBC6: bool
testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl_,
bool (testing::internal::UnitTestImpl::_)(), char const*) (gtest.cc:2126)
==21180== by 0x9C0286: testing::UnitTest::Run() (gtest.cc:3878)
==21180==
==21180== LEAK SUMMARY:
==21180== definitely lost: 1,464 bytes in 6 blocks
==21180== indirectly lost: 297,020 bytes in 1,413 blocks
==21180== possibly lost: 0 bytes in 0 blocks
==21180== still reachable: 88 bytes in 3 blocks
==21180== suppressed: 0 bytes in 0 blocks
==21180== Reachable blocks (those to which a pointer was found) are not
shown.
==21180== To see them, rerun with: --leak-check=full --show-reachable=yes
==21180==
==21180== For counts of detected and suppressed errors, rerun with: -v
==21180== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 2 from 2)


Reply to this email directly or view it on GitHubhttps://github.com//issues/1360
.

@vigsterkr
Copy link
Member

most of them are fixed but unit-MalsarClusteredTest is still having an 'Uninitialized Memory Conditional'
see: http://buildbot.shogun-toolbox.org/memcheck/20140204-1212.html#idp209936

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants