MemorySanitizer: use-of-uninitialized-value in sqlite3BtreeOpen #21632

issue fanquake opened this issue on April 7, 2021
  1. fanquake commented at 12:48 PM on April 7, 2021: member

    From https://github.com/bitcoin/bitcoin/pull/21629/checks?check_run_id=2285803701 (#21629).

    2021-04-07T10:27:19.893068Z [scheduler] [validationinterface.cpp:226] [operator()] BlockConnected: block hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f blUninitialized bytes in __interceptor_strcmp at offset 0 inside [0x70100000051c, 1)
    ==82166==WARNING: MemorySanitizer: use-of-uninitialized-value
        [#0](/bitcoin-bitcoin/0/) 0x557a2f20eabc in sqlite3BtreeOpen (/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin+0x2a60abc)
        [#1](/bitcoin-bitcoin/1/) 0x557a2f2077b3 in openDatabase (/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin+0x2a597b3)
        [#2](/bitcoin-bitcoin/2/) 0x557a2edb3d65 in SQLiteDatabase::Open() /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/wallet/sqlite.cpp:204:19
        [#3](/bitcoin-bitcoin/3/) 0x557a2edaee72 in SQLiteDatabase::SQLiteDatabase(boost::filesystem::path const&, boost::filesystem::path const&, bool) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/wallet/sqlite.cpp:65:9
        [#4](/bitcoin-bitcoin/4/) 0x557a2ed5e878 in std::__1::__unique_if<SQLiteDatabase>::__unique_single std::__1::make_unique<SQLiteDatabase, char const (&) [1], char const (&) [1], bool>(char const (&) [1], char const (&) [1], bool&&) /tmp/cirrus-ci-build/ci/scratch/msan/build/include/c++/v1/memory:3028:32
        [#5](/bitcoin-bitcoin/5/) 0x557a2ed4b40b in CreateMockWalletDatabase() /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/wallet/walletdb.cpp:1099:12
        [#6](/bitcoin-bitcoin/6/) 0x557a2c934eb8 in WalletTestingSetup::WalletTestingSetup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/wallet/test/wallet_test_fixture.cpp:9:40
        [#7](/bitcoin-bitcoin/7/) 0x557a2d7ba424 in psbt_wallet_tests::parse_hd_keypath::parse_hd_keypath() /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/wallet/test/psbt_wallet_tests.cpp:77:1
        [#8](/bitcoin-bitcoin/8/) 0x557a2d7a6ab6 in psbt_wallet_tests::parse_hd_keypath_invoker() /tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/wallet/test/psbt_wallet_tests.cpp:77:1
        [#9](/bitcoin-bitcoin/9/) 0x557a2ca2e998 in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:117:11
        [#10](/bitcoin-bitcoin/10/) 0x557a2f18f6cc in boost::function0<void>::operator()() const /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/function/function_template.hpp:763:14
        [#11](/bitcoin-bitcoin/11/) 0x557a2f18f6cc in boost::detail::forward::operator()() /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/execution_monitor.ipp:1368:32
        [#12](/bitcoin-bitcoin/12/) 0x557a2f18f6cc in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/function/function_template.hpp:137:18
        [#13](/bitcoin-bitcoin/13/) 0x557a2f181edf in boost::function0<int>::operator()() const /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/function/function_template.hpp:763:14
        [#14](/bitcoin-bitcoin/14/) 0x557a2f181edf in int boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()> >(boost::shared_ptr<boost::detail::translator_holder_base> const&, boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/execution_monitor.ipp:290:30
        [#15](/bitcoin-bitcoin/15/) 0x557a2f181edf in boost::execution_monitor::catch_signals(boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/execution_monitor.ipp:879:16
        [#16](/bitcoin-bitcoin/16/) 0x557a2f1825ca in boost::execution_monitor::execute(boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/execution_monitor.ipp:1277:16
        [#17](/bitcoin-bitcoin/17/) 0x557a2f186f29 in boost::execution_monitor::vexecute(boost::function<void ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/execution_monitor.ipp:1377:5
        [#18](/bitcoin-bitcoin/18/) 0x557a2f09ac73 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/unit_test_monitor.ipp:49:9
        [#19](/bitcoin-bitcoin/19/) 0x557a2f00fb22 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/framework.ipp:823:44
        [#20](/bitcoin-bitcoin/20/) 0x557a2f010d47 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/framework.ipp:792:58
        [#21](/bitcoin-bitcoin/21/) 0x557a2f010d47 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/framework.ipp:792:58
        [#22](/bitcoin-bitcoin/22/) 0x557a2effa70b in boost::unit_test::framework::run(unsigned long, bool) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/framework.ipp:1696:29
        [#23](/bitcoin-bitcoin/23/) 0x557a2f096446 in boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/unit_test_main.ipp:248:9
        [#24](/bitcoin-bitcoin/24/) 0x557a2f097e10 in main /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_71_0-ae05fff5eee/./boost/test/impl/unit_test_main.ipp:304:12
        [#25](/bitcoin-bitcoin/25/) 0x7f79e95570b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
        [#26](/bitcoin-bitcoin/26/) 0x557a2c8b01ed in _start (/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin+0x1021ed)
    
      Uninitialized value was created by a heap allocation
        [#0](/bitcoin-bitcoin/0/) 0x557a2c8bc4ad in malloc (/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin+0x10e4ad)
        [#1](/bitcoin-bitcoin/1/) 0x557a2f2d3032 in sqlite3MemMalloc (/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin+0x2b25032)
    
    SUMMARY: MemorySanitizer: use-of-uninitialized-value (/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin+0x2a60abc) in sqlite3BtreeOpen
    Exiting
    make[3]: *** [Makefile:17263: wallet/test/psbt_wallet_tests.cpp.test] Error 1
    
  2. fanquake added the label Bug on Apr 7, 2021
  3. jonatack commented at 3:00 PM on May 5, 2021: member
  4. MarcoFalke added the label Wallet on May 5, 2021
  5. MarcoFalke added the label Upstream on May 5, 2021
  6. MarcoFalke commented at 3:29 PM on May 5, 2021: member

    I presume we'll need to compile depends with -g to get line numbers?

  7. MarcoFalke removed the label Upstream on May 5, 2021
  8. fanquake closed this on May 6, 2021

  9. DrahtBot locked this on Aug 18, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 18:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me