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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-bitcoin-bitcoin/25/) 0x7f79e95570b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
        [#26](/github-metadata-backup-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](/github-metadata-backup-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](/github-metadata-backup-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: contributor
  4. jonatack cross-referenced this on May 5, 2021 from issue p2p, rpc: enable GetAddr, GetAddresses, and getnodeaddresses by network by jonatack
  5. jonatack cross-referenced this on May 5, 2021 from issue wallet: ensure sat/vB feerates are in range (mantissa of 3) by jonatack
  6. MarcoFalke added the label Wallet on May 5, 2021
  7. MarcoFalke added the label Upstream on May 5, 2021
  8. 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?

  9. MarcoFalke removed the label Upstream on May 5, 2021
  10. MarcoFalke cross-referenced this on May 5, 2021 from issue ci: Properly pass msan cflags by MarcoFalke
  11. fanquake closed this on May 6, 2021

  12. bitcoin 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-05-20 06:54 UTC