[bind10-dev] Conditional jumps based on unitialized in #439 auth tests

Jerry jerry.zzpku at gmail.com
Wed Dec 22 03:29:49 UTC 2010


Hello, vorner,

Yes, it is my branch.
I think the branch hasn't been ready for review yet. Because I just added a
new config item for memory data source and haven't updated the unittest,
I'll fix it soon, and then maybe you can help to review this ticket:-)
Thanks.

--
Jerry
 
> Hello
> 
> Is the #439 your branch? It seemed so on jabber.
> 
> I came across randomly failing tests in the branch and tracked it down to
> some conditional jump depending on unitialized value (reported by
valgrind).
> It does not fail in your branch directly, but when I merged it with trunk
> locally, it does. It also fail if I give --malloc-fill=ba to valgrind in
> your branch.
> 
> Do you have an idea what it might be, or should I look into it?
> 
> (output of valgrind, at the time when they do not fail):
> 
> [       OK ] AuthSrvTest.notifyWithSessionMessageError (20 ms)
> [ RUN      ] AuthSrvTest.updateConfig
> ==15137== Conditional jump or move depends on uninitialised value(s)
> ==15137==    at 0x430D4D:
> AuthSrvImpl::processNormalQuery(asio_link::IOMessage
> const&, isc::dns::Message&, isc::dns::MessageRenderer&) (auth_srv.cc:336)
> ==15137==    by 0x43008C: AuthSrv::processMessage(asio_link::IOMessage
> const&,
> isc::dns::Message&, isc::dns::MessageRenderer&) (auth_srv.cc:309)
> ==15137==    by 0x458CAF: (anonymous
> namespace)::AuthSrvTest_updateConfig_Test::TestBody()
> (auth_srv_unittest.cc:726)
> ==15137==    by 0x4E5A2A9: testing::Test::Run() (gtest.cc:2095)
> ==15137==    by 0x4E5A39F: testing::internal::TestInfoImpl::Run()
> (gtest.cc:2314)
> ==15137==    by 0x4E5A453: testing::TestCase::Run() (gtest.cc:2420)
> ==15137==    by 0x4E5A753: testing::internal::UnitTestImpl::RunAllTests()
> (gtest.cc:4024)
> ==15137==    by 0x47AF7B: main (run_unittests.cc:27)
> ==15137==
> [       OK ] AuthSrvTest.updateConfig (1121 ms)
> [ RUN      ] AuthSrvTest.datasourceFail
> ==15137== Conditional jump or move depends on uninitialised value(s)
> ==15137==    at 0x430D4D:
> AuthSrvImpl::processNormalQuery(asio_link::IOMessage
> const&, isc::dns::Message&, isc::dns::MessageRenderer&) (auth_srv.cc:336)
> ==15137==    by 0x43008C: AuthSrv::processMessage(asio_link::IOMessage
> const&,
> isc::dns::Message&, isc::dns::MessageRenderer&) (auth_srv.cc:309)
> ==15137==    by 0x45915B: (anonymous
> namespace)::AuthSrvTest_datasourceFail_Test::TestBody()
> (auth_srv_unittest.cc:740)
> ==15137==    by 0x4E5A2A9: testing::Test::Run() (gtest.cc:2095)
> ==15137==    by 0x4E5A39F: testing::internal::TestInfoImpl::Run()
> (gtest.cc:2314)
> ==15137==    by 0x4E5A453: testing::TestCase::Run() (gtest.cc:2420)
> ==15137==    by 0x4E5A753: testing::internal::UnitTestImpl::RunAllTests()
> (gtest.cc:4024)
> ==15137==    by 0x47AF7B: main (run_unittests.cc:27)
> ==15137==
> [       OK ] AuthSrvTest.datasourceFail (52 ms)
> [ RUN      ] AuthSrvTest.updateConfigFail
> ==15137== Conditional jump or move depends on uninitialised value(s)
> ==15137==    at 0x430D4D:
> AuthSrvImpl::processNormalQuery(asio_link::IOMessage
> const&, isc::dns::Message&, isc::dns::MessageRenderer&) (auth_srv.cc:336)
> ==15137==    by 0x43008C: AuthSrv::processMessage(asio_link::IOMessage
> const&,
> isc::dns::Message&, isc::dns::MessageRenderer&) (auth_srv.cc:309)
> ==15137==    by 0x459635: (anonymous
> namespace)::AuthSrvTest_updateConfigFail_Test::TestBody()
> (auth_srv_unittest.cc:755)
> ==15137==    by 0x4E5A2A9: testing::Test::Run() (gtest.cc:2095)
> ==15137==    by 0x4E5A39F: testing::internal::TestInfoImpl::Run()
> (gtest.cc:2314)
> ==15137==    by 0x4E5A453: testing::TestCase::Run() (gtest.cc:2420)
> ==15137==    by 0x4E5A753: testing::internal::UnitTestImpl::RunAllTests()
> (gtest.cc:4024)
> ==15137==    by 0x47AF7B: main (run_unittests.cc:27)
> ==15137==
> [       OK ] AuthSrvTest.updateConfigFail (64 ms)
> 
> Once again, when I merged it with trunk locally, failing this time:
> 
> [ RUN      ] AuthSrvTest.updateConfig
> ==28476== Conditional jump or move depends on uninitialised value(s)
> ==28476==    at 0x420AAF:
> AuthSrvImpl::processNormalQuery(asiolink::IOMessage const&,
> boost::shared_ptr<isc::dns::Message>,
> boost::shared_ptr<isc::dns::OutputBuffer>) (auth_srv.cc:411)
> ==28476==    by 0x41F5CD: AuthSrv::processMessage(asiolink::IOMessage
> const&, boost::shared_ptr<isc::dns::Message>,
> boost::shared_ptr<isc::dns::OutputBuffer>, asiolink::DNSServer*)
> (auth_srv.cc:381)
> ==28476==    by 0x44BD6C: (anonymous
> namespace)::AuthSrvTest_updateConfig_Test::TestBody()
> (auth_srv_unittest.cc:349)
> ==28476==    by 0x4E5A2A9: testing::Test::Run() (gtest.cc:2095)
> ==28476==    by 0x4E5A39F: testing::internal::TestInfoImpl::Run()
> (gtest.cc:2314)
> ==28476==    by 0x4E5A453: testing::TestCase::Run() (gtest.cc:2420)
> ==28476==    by 0x4E5A753: testing::internal::UnitTestImpl::RunAllTests()
> (gtest.cc:4024)
> ==28476==    by 0x46000B: main (run_unittests.cc:27)
> ==28476==
> ../../../../src/lib/testutils/srv_test.h:142: Failure Value of:
> message.getRcode()
>   Actual: SERVFAIL
> Expected: rcode
> Which is: NOERROR
> ../../../../src/lib/testutils/srv_test.h:160: Failure Value of:
> message.getRRCount(Message::SECTION_ANSWER)
>   Actual: 0
> Expected: ancount
> Which is: 1
> ../../../../src/lib/testutils/srv_test.h:161: Failure Value of:
> message.getRRCount(Message::SECTION_AUTHORITY)
>   Actual: 0
> Expected: nscount
> Which is: 1
> [  FAILED  ] AuthSrvTest.updateConfig (745 ms)
> [ RUN      ] AuthSrvTest.datasourceFail
> ==28476== Conditional jump or move depends on uninitialised value(s)
> ==28476==    at 0x420AAF:
> AuthSrvImpl::processNormalQuery(asiolink::IOMessage const&,
> boost::shared_ptr<isc::dns::Message>,
> boost::shared_ptr<isc::dns::OutputBuffer>) (auth_srv.cc:411)
> ==28476==    by 0x41F5CD: AuthSrv::processMessage(asiolink::IOMessage
> const&, boost::shared_ptr<isc::dns::Message>,
> boost::shared_ptr<isc::dns::OutputBuffer>, asiolink::DNSServer*)
> (auth_srv.cc:381)
> ==28476==    by 0x44C39C: (anonymous
> namespace)::AuthSrvTest_datasourceFail_Test::TestBody()
> (auth_srv_unittest.cc:363)
> ==28476==    by 0x4E5A2A9: testing::Test::Run() (gtest.cc:2095)
> ==28476==    by 0x4E5A39F: testing::internal::TestInfoImpl::Run()
> (gtest.cc:2314)
> ==28476==    by 0x4E5A453: testing::TestCase::Run() (gtest.cc:2420)
> ==28476==    by 0x4E5A753: testing::internal::UnitTestImpl::RunAllTests()
> (gtest.cc:4024)
> ==28476==    by 0x46000B: main (run_unittests.cc:27)
> ==28476==
> ../../../../src/lib/testutils/srv_test.h:147: Failure Value of:
> message.getHeaderFlag(Message::HEADERFLAG_AA)
>   Actual: true
> Expected: (flags & AA_FLAG) != 0
> Which is: false
> [  FAILED  ] AuthSrvTest.datasourceFail (41 ms)
> [ RUN      ] AuthSrvTest.updateConfigFail
> ==28476== Conditional jump or move depends on uninitialised value(s)
> ==28476==    at 0x420AAF:
> AuthSrvImpl::processNormalQuery(asiolink::IOMessage const&,
> boost::shared_ptr<isc::dns::Message>,
> boost::shared_ptr<isc::dns::OutputBuffer>) (auth_srv.cc:411)
> ==28476==    by 0x41F5CD: AuthSrv::processMessage(asiolink::IOMessage
> const&, boost::shared_ptr<isc::dns::Message>,
> boost::shared_ptr<isc::dns::OutputBuffer>, asiolink::DNSServer*)
> (auth_srv.cc:381)
> ==28476==    by 0x44C9FF: (anonymous
> namespace)::AuthSrvTest_updateConfigFail_Test::TestBody()
> (auth_srv_unittest.cc:378)
> ==28476==    by 0x4E5A2A9: testing::Test::Run() (gtest.cc:2095)
> ==28476==    by 0x4E5A39F: testing::internal::TestInfoImpl::Run()
> (gtest.cc:2314)
> ==28476==    by 0x4E5A453: testing::TestCase::Run() (gtest.cc:2420)
> ==28476==    by 0x4E5A753: testing::internal::UnitTestImpl::RunAllTests()
> (gtest.cc:4024)
> ==28476==    by 0x46000B: main (run_unittests.cc:27)
> ==28476==
> ../../../../src/lib/testutils/srv_test.h:142: Failure Value of:
> message.getRcode()
>   Actual: SERVFAIL
> Expected: rcode
> Which is: NOERROR
> ../../../../src/lib/testutils/srv_test.h:160: Failure Value of:
> message.getRRCount(Message::SECTION_ANSWER)
>   Actual: 0
> Expected: ancount
> Which is: 1
> ../../../../src/lib/testutils/srv_test.h:161: Failure Value of:
> message.getRRCount(Message::SECTION_AUTHORITY)
>   Actual: 0
> Expected: nscount
> Which is: 1
> [  FAILED  ] AuthSrvTest.updateConfigFail (59 ms)




More information about the bind10-dev mailing list