Skip to content

Conversation

@PastaPastaPasta
Copy link
Collaborator

Backports bitcoin#25392

Original commit: 3b3c66f

Cleans up the symbol-check.py script by removing no-longer-needed ignored exports.

Conflicts resolved: kept Dash-specific exports (_edata, _end, __bss_start, __cxa_demangle) while applying Bitcoin's cleanup.

84e56b4 scripts: remove no-longer-needed ignored exports (fanquake)

Pull request description:

  Haven't checked which commit this changed (I assume the GCC-10 consolidation), however Guix builds no-longer require these exports to be ignored.

  Guix Build (x86_64):
  ```bash
  9be92af4d0697aec2e54fd105002f690c174e0da07fd62506865a7d52395afb5  guix-build-84e56b45b45e/output/aarch64-linux-gnu/SHA256SUMS.part
  a7c9e708c9a8e6e8c98dab326e010719f6f89c2d81e6ce61a9d976e1a179ea44  guix-build-84e56b45b45e/output/aarch64-linux-gnu/bitcoin-84e56b45b45e-aarch64-linux-gnu-debug.tar.gz
  e0ba3a6a9c319739cfdb0cf6d3f389cfd1e16008385fcad6d70ac404c9bf9db0  guix-build-84e56b45b45e/output/aarch64-linux-gnu/bitcoin-84e56b45b45e-aarch64-linux-gnu.tar.gz
  f3e71a81727a4a177454e9c15d2a07fcf8f9431e0259eabd31d5cef72682f33c  guix-build-84e56b45b45e/output/arm-linux-gnueabihf/SHA256SUMS.part
  ff8cf7390281bdd3c421f1ee19b68727732e0676058eb2dd442b7ae1fc80e0f1  guix-build-84e56b45b45e/output/arm-linux-gnueabihf/bitcoin-84e56b45b45e-arm-linux-gnueabihf-debug.tar.gz
  561f69b6862a4c24bc00a18249e1ef0064c221ab96047ac8fd57b54dc102332c  guix-build-84e56b45b45e/output/arm-linux-gnueabihf/bitcoin-84e56b45b45e-arm-linux-gnueabihf.tar.gz
  a1352d3e1720d8b67e009596dea8bfe873e9200150b2ff9219d2c44b14273b10  guix-build-84e56b45b45e/output/arm64-apple-darwin/SHA256SUMS.part
  fe6ab4fb695322fe5247f8b355ca5d0a2f94d5dda67b44f710b640971fa8b29c  guix-build-84e56b45b45e/output/arm64-apple-darwin/bitcoin-84e56b45b45e-arm64-apple-darwin-unsigned.dmg
  13aa79cfb9642efe00fe03389dd4b358d767a9ee8268da3705f0c6d112400b8a  guix-build-84e56b45b45e/output/arm64-apple-darwin/bitcoin-84e56b45b45e-arm64-apple-darwin-unsigned.tar.gz
  e62df23e9bbccaa6864eef8d8efa2a701a0b1322d6feca7b134311ba13621f99  guix-build-84e56b45b45e/output/arm64-apple-darwin/bitcoin-84e56b45b45e-arm64-apple-darwin.tar.gz
  0d22f8d02f9b16aace107c013166b52e4ea9b3f7babf44257b6c51bb30418f27  guix-build-84e56b45b45e/output/dist-archive/bitcoin-84e56b45b45e.tar.gz
  edd3cd49d8bf1765cc008f63a94e53cb153a646f072599637153573f77f4696a  guix-build-84e56b45b45e/output/powerpc64-linux-gnu/SHA256SUMS.part
  868602e7bbdce98a0974eb057b1b3670e87c9bcd110d40004e86e20768c8de32  guix-build-84e56b45b45e/output/powerpc64-linux-gnu/bitcoin-84e56b45b45e-powerpc64-linux-gnu-debug.tar.gz
  449c261eb9125764f0c9796bb48f01a12e3d034dd9591bb7722fa85451e4abf9  guix-build-84e56b45b45e/output/powerpc64-linux-gnu/bitcoin-84e56b45b45e-powerpc64-linux-gnu.tar.gz
  154e03ba9103ecc72c9cfa1fa2dbad1ab626e44502b520599791de3772656fd1  guix-build-84e56b45b45e/output/powerpc64le-linux-gnu/SHA256SUMS.part
  a9469869fcf1d0b92abe6ecdb1eb99d251da158ad867db342ef8bd1875b3ec13  guix-build-84e56b45b45e/output/powerpc64le-linux-gnu/bitcoin-84e56b45b45e-powerpc64le-linux-gnu-debug.tar.gz
  5118caa6e4df5f99f0fd11911578758e8969d11766a042b986bcb83fbe1ba114  guix-build-84e56b45b45e/output/powerpc64le-linux-gnu/bitcoin-84e56b45b45e-powerpc64le-linux-gnu.tar.gz
  879f536a3a1486465611281b50fd4607c78da935b9cf9478b75c204560cc919c  guix-build-84e56b45b45e/output/riscv64-linux-gnu/SHA256SUMS.part
  25665580fc1cb830483dfb8ae0238dba14237e726e830028a043b09c93ef71a1  guix-build-84e56b45b45e/output/riscv64-linux-gnu/bitcoin-84e56b45b45e-riscv64-linux-gnu-debug.tar.gz
  833c7e202c937c2577ecee2c974c9d15c5042e7e1a0a19c10bd80e8ea748c643  guix-build-84e56b45b45e/output/riscv64-linux-gnu/bitcoin-84e56b45b45e-riscv64-linux-gnu.tar.gz
  372c6778a9cdb488b02600d6a0b7c4f0acb7418a00bc80817cbf09e7ed20d56a  guix-build-84e56b45b45e/output/x86_64-apple-darwin/SHA256SUMS.part
  b711303e1fcda56ca9e804d12c674687a1906a0d33025153f0795b374d35f8a4  guix-build-84e56b45b45e/output/x86_64-apple-darwin/bitcoin-84e56b45b45e-x86_64-apple-darwin-unsigned.dmg
  8a41582ca663a12c4e46752f96cff2f82b3c03b9a99a6d2aa9b545d49f2c3adf  guix-build-84e56b45b45e/output/x86_64-apple-darwin/bitcoin-84e56b45b45e-x86_64-apple-darwin-unsigned.tar.gz
  5d622bdf94e009483fa287b611a3eb6c887e88fd3c242e323015f96aaa7ae645  guix-build-84e56b45b45e/output/x86_64-apple-darwin/bitcoin-84e56b45b45e-x86_64-apple-darwin.tar.gz
  836ec0b63b44cfaca13fe1bbf150a250a04b748457a01b72f7d178df8bf3d7ea  guix-build-84e56b45b45e/output/x86_64-linux-gnu/SHA256SUMS.part
  ed2ad8864c361df278288b5e18047f1d98960a0d10bf34f09e30558237610ba8  guix-build-84e56b45b45e/output/x86_64-linux-gnu/bitcoin-84e56b45b45e-x86_64-linux-gnu-debug.tar.gz
  bda24f092de4bb7d995e9d21714619a0a8bc4ee762e0ef3063201a2b38311256  guix-build-84e56b45b45e/output/x86_64-linux-gnu/bitcoin-84e56b45b45e-x86_64-linux-gnu.tar.gz
  ad21413d411dada0b40b566311531a21022dc0b6eea77ec1807ba59a7000deff  guix-build-84e56b45b45e/output/x86_64-w64-mingw32/SHA256SUMS.part
  5573d65bce9ce5ee65f9ae34b2bd4da8af0ff4ec60a67dfb45ac76bf696711a0  guix-build-84e56b45b45e/output/x86_64-w64-mingw32/bitcoin-84e56b45b45e-win64-debug.zip
  09e29350ef8f6246d5cd16b7b7d6602bf04f0aea41445ae3f7aa235a1ace79d4  guix-build-84e56b45b45e/output/x86_64-w64-mingw32/bitcoin-84e56b45b45e-win64-setup-unsigned.exe
  d5804a4e267a36b603723e149833cbb1e1740d34a89f66034e80c3caff31c4cf  guix-build-84e56b45b45e/output/x86_64-w64-mingw32/bitcoin-84e56b45b45e-win64-unsigned.tar.gz
  aa54a35c667f560609a3f418defd8558806b6081a5a027707954f69557b36f63  guix-build-84e56b45b45e/output/x86_64-w64-mingw32/bitcoin-84e56b45b45e-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  8cedaaa26db8ad04063b350e475834beaaede949ae985d67bb661f367cacbd5c  guix-build-84e56b45b45e/output/arm-linux-gnueabihf/SHA256SUMS.part
  134a567e6671ac31d911956118794347e37abd647940183f291f985146595ebf  guix-build-84e56b45b45e/output/arm-linux-gnueabihf/bitcoin-84e56b45b45e-arm-linux-gnueabihf-debug.tar.gz
  1a53bd0029537e153be032f09c69a4d950442319c03a6c1f7f2a16ef444c39b7  guix-build-84e56b45b45e/output/arm-linux-gnueabihf/bitcoin-84e56b45b45e-arm-linux-gnueabihf.tar.gz
  b9de5a0182e15c43223bce6a5dcd423c760d1be5c2c3256b69948e35e574e530  guix-build-84e56b45b45e/output/arm64-apple-darwin/SHA256SUMS.part
  86dc1aef2d7fc52b52c26bff5c57415a38d84600430761b296669891dd5dd216  guix-build-84e56b45b45e/output/arm64-apple-darwin/bitcoin-84e56b45b45e-arm64-apple-darwin-unsigned.dmg
  043ba78adfac04bbeda75fd9c8718980abd2073716e0925a0eda688755e91765  guix-build-84e56b45b45e/output/arm64-apple-darwin/bitcoin-84e56b45b45e-arm64-apple-darwin-unsigned.tar.gz
  1adccc66e8bfe48e1cfaaa9c5a254310565b6897d7b0134d5fc5c787c8d56583  guix-build-84e56b45b45e/output/arm64-apple-darwin/bitcoin-84e56b45b45e-arm64-apple-darwin.tar.gz
  0d22f8d02f9b16aace107c013166b52e4ea9b3f7babf44257b6c51bb30418f27  guix-build-84e56b45b45e/output/dist-archive/bitcoin-84e56b45b45e.tar.gz
  50e98b648087f4d20f7e6b4cdee07f200523a9ba7474db8ac9771fdedd391c76  guix-build-84e56b45b45e/output/powerpc64-linux-gnu/SHA256SUMS.part
  35f200e58e9b206d2743a1e94e0857e0494fa650be91683b89328fcad55e643f  guix-build-84e56b45b45e/output/powerpc64-linux-gnu/bitcoin-84e56b45b45e-powerpc64-linux-gnu-debug.tar.gz
  09d1263b33bee32c9a7584155c4cd2e129ae0cff1b7a1f7049773501841b74b5  guix-build-84e56b45b45e/output/powerpc64-linux-gnu/bitcoin-84e56b45b45e-powerpc64-linux-gnu.tar.gz
  d63b6e9e47ed0fb6f52b7285638eb7030b68d1e821978b8f7fb4a94122f88106  guix-build-84e56b45b45e/output/powerpc64le-linux-gnu/SHA256SUMS.part
  3addd674c1b45bab6b9e5882cce6a0e1138df876a214297554cf957cc9abd3ad  guix-build-84e56b45b45e/output/powerpc64le-linux-gnu/bitcoin-84e56b45b45e-powerpc64le-linux-gnu-debug.tar.gz
  5b2353043239b78a28607cd037729181ddd3705cb6595df0cefc8d2c38e8ce35  guix-build-84e56b45b45e/output/powerpc64le-linux-gnu/bitcoin-84e56b45b45e-powerpc64le-linux-gnu.tar.gz
  7ee90e3c72890bd10ada21ae9223301ea7faf283f937993d9e036bb423351526  guix-build-84e56b45b45e/output/riscv64-linux-gnu/SHA256SUMS.part
  4e660b9a497cc0d1142dfc91ed2ac85bff16eaafe6a28a4f31b3b7650d0b9345  guix-build-84e56b45b45e/output/riscv64-linux-gnu/bitcoin-84e56b45b45e-riscv64-linux-gnu-debug.tar.gz
  6779bcabe53ce8d276082d7694fc897bb0e366a038bca5d45a81ca357fa7a3bc  guix-build-84e56b45b45e/output/riscv64-linux-gnu/bitcoin-84e56b45b45e-riscv64-linux-gnu.tar.gz
  372c6778a9cdb488b02600d6a0b7c4f0acb7418a00bc80817cbf09e7ed20d56a  guix-build-84e56b45b45e/output/x86_64-apple-darwin/SHA256SUMS.part
  b711303e1fcda56ca9e804d12c674687a1906a0d33025153f0795b374d35f8a4  guix-build-84e56b45b45e/output/x86_64-apple-darwin/bitcoin-84e56b45b45e-x86_64-apple-darwin-unsigned.dmg
  8a41582ca663a12c4e46752f96cff2f82b3c03b9a99a6d2aa9b545d49f2c3adf  guix-build-84e56b45b45e/output/x86_64-apple-darwin/bitcoin-84e56b45b45e-x86_64-apple-darwin-unsigned.tar.gz
  5d622bdf94e009483fa287b611a3eb6c887e88fd3c242e323015f96aaa7ae645  guix-build-84e56b45b45e/output/x86_64-apple-darwin/bitcoin-84e56b45b45e-x86_64-apple-darwin.tar.gz
  a20620da9eddd9039a4af4a22ac675047fd84b2897c1077c0c23ce29836617e9  guix-build-84e56b45b45e/output/x86_64-linux-gnu/SHA256SUMS.part
  caeea4294f8b3e76f3a997fc0a4ac11c26b4c6d65430d6293318f2e74bfda8fe  guix-build-84e56b45b45e/output/x86_64-linux-gnu/bitcoin-84e56b45b45e-x86_64-linux-gnu-debug.tar.gz
  59cba65f31fd34d656a86bcf5b6ea8326d7e7cdb215931fc9943dadedcc84ed3  guix-build-84e56b45b45e/output/x86_64-linux-gnu/bitcoin-84e56b45b45e-x86_64-linux-gnu.tar.gz
  3b70924b559c1bd7c05bb8862bb19051af674488b9f03364a20164dc6ae05f36  guix-build-84e56b45b45e/output/x86_64-w64-mingw32/SHA256SUMS.part
  cb0dc3594503b41d0e716be7049eaffe87a85ff15c746e03130ca79f64c308da  guix-build-84e56b45b45e/output/x86_64-w64-mingw32/bitcoin-84e56b45b45e-win64-debug.zip
  09e29350ef8f6246d5cd16b7b7d6602bf04f0aea41445ae3f7aa235a1ace79d4  guix-build-84e56b45b45e/output/x86_64-w64-mingw32/bitcoin-84e56b45b45e-win64-setup-unsigned.exe
  d5804a4e267a36b603723e149833cbb1e1740d34a89f66034e80c3caff31c4cf  guix-build-84e56b45b45e/output/x86_64-w64-mingw32/bitcoin-84e56b45b45e-win64-unsigned.tar.gz
  62881744e69b717cba75cf449fbcd0d4cdee21a88fb002cafaa71439abec339a  guix-build-84e56b45b45e/output/x86_64-w64-mingw32/bitcoin-84e56b45b45e-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Tested ACK 84e56b4
  hebasto:
    ACK 84e56b4

Tree-SHA512: 682527f4492f04bddfe9f669171c1121da987a485525bcd33a3da9e60b29416e5bab751c9c47849970bfed03a3705475b0a513579c6dde6e896d66e49f0510eb
@coderabbitai
Copy link

coderabbitai bot commented May 30, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

DashCoreAutoGuix pushed a commit that referenced this pull request Jul 25, 2025
f952e67 ci: remove usage of untrusted bpfcc-tools (fanquake)
1232c2f ci: use LLVM/clang-16 in native_asan job (fanquake)

Pull request description:

  Similar to bitcoin#27298. Working for me on `x86_64` and solves the issue I currently see with TSAN on `aarch64` with master (6882828):
  ```bash
  crc32c/src/crc32c_arm64.cc:101:26: runtime error: load of misaligned address 0xffff84400406 for type 'uint64_t' (aka 'unsigned long'), which requires 8 byte alignment
  0xffff84400406: note: pointer points here
   b9 c5 22 00 01 01  1a 6c 65 76 65 6c 64 62  2e 42 79 74 65 77 69 73  65 43 6f 6d 70 61 72 61  74 6f
               ^
      #0 0xaaaaaddaf0b4 in crc32c::ExtendArm64(unsigned int, unsigned char const*, unsigned long) src/./src/crc32c/src/crc32c_arm64.cc:101:26
      #1 0xaaaaadd2c838 in leveldb::crc32c::Value(char const*, unsigned long) src/./leveldb/util/crc32c.h:20:60
      #2 0xaaaaadd2c838 in leveldb::log::Reader::ReadPhysicalRecord(leveldb::Slice*) src/./src/leveldb/db/log_reader.cc:246:29
      #3 0xaaaaadd2ba9c in leveldb::log::Reader::ReadRecord(leveldb::Slice*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) src/./src/leveldb/db/log_reader.cc:72:38
      #4 0xaaaaadd41710 in leveldb::VersionSet::Recover(bool*) src/./src/leveldb/db/version_set.cc:910:19
      #5 0xaaaaadcf9fec in leveldb::DBImpl::Recover(leveldb::VersionEdit*, bool*) src/./src/leveldb/db/db_impl.cc:320:18
      #6 0xaaaaadd12068 in leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::DB**) src/./src/leveldb/db/db_impl.cc:1487:20
      #7 0xaaaaad314e80 in CDBWrapper::CDBWrapper(DBParams const&) src/./src/dbwrapper.cpp:156:30
      #8 0xaaaaace94880 in CBlockTreeDB::CBlockTreeDB(DBParams const&) src/./txdb.h:89:23
      #9 0xaaaaace94880 in std::_MakeUniq<CBlockTreeDB>::__single_object std::make_unique<CBlockTreeDB, DBParams>(DBParams&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:962:34
      #10 0xaaaaace94880 in ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&) src/./src/test/util/setup_common.cpp:188:51
      #11 0xaaaaace95da0 in TestingSetup::TestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&, bool, bool) src/./src/test/util/setup_common.cpp:243:7
      #12 0xaaaaace96730 in TestChain100Setup::TestChain100Setup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&, bool, bool) src/./src/test/util/setup_common.cpp:274:7
      #13 0xaaaaac1ddbc8 in blockfilter_index_tests::BuildChainTestingSetup::BuildChainTestingSetup() src/./src/test/blockfilter_index_tests.cpp:26:8
      #14 0xaaaaac1ddbc8 in blockfilter_index_tests::blockfilter_index_initial_sync::blockfilter_index_initial_sync() src/./src/test/blockfilter_index_tests.cpp:112:1
      #15 0xaaaaac1ddbc8 in blockfilter_index_tests::blockfilter_index_initial_sync_invoker() src/./src/test/blockfilter_index_tests.cpp:112:1
      #16 0xaaaaabf08f7c in boost::function0<void>::operator()() const /usr/include/boost/function/function_template.hpp:763:14
      #17 0xaaaaabf95468 in boost::detail::forward::operator()() /usr/include/boost/test/impl/execution_monitor.ipp:1388:32
      #18 0xaaaaabf95468 in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:137:18
      #19 0xaaaaabf8e12c in boost::function0<int>::operator()() const /usr/include/boost/function/function_template.hpp:763:14
      #20 0xaaaaabe7be14 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:903:16
      #21 0xaaaaabe7c1c0 in boost::execution_monitor::execute(boost::function<int ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:1301:16
      #22 0xaaaaabe6f47c in boost::execution_monitor::vexecute(boost::function<void ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:1397:5
      #23 0xaaaaabe75124 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /usr/include/boost/test/impl/unit_test_monitor.ipp:49:9
      #24 0xaaaaabed19fc in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:815:44
      #25 0xaaaaabed0f6c in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:784:58
      #26 0xaaaaabed0f6c in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:784:58
      #27 0xaaaaabe73878 in boost::unit_test::framework::run(unsigned long, bool) /usr/include/boost/test/impl/framework.ipp:1721:29
      #28 0xaaaaabe9d244 in boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /usr/include/boost/test/impl/unit_test_main.ipp:250:9
      #29 0xffff8f0773f8  (/lib/aarch64-linux-gnu/libc.so.6+0x273f8) (BuildId: f37f3aa07c797e333fd106472898d361f71798f5)
      #30 0xffff8f0774c8 in __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x274c8) (BuildId: f37f3aa07c797e333fd106472898d361f71798f5)
      #31 0xaaaaabda55ac in _start (/home/fedora/ci_scratch/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src/test/test_bitcoin+0x10e55ac) (BuildId: b7909adaefd9db6cd6a7c4d3d40207cf6bdaf4b3)

  SUMMARY: UndefinedBehaviorSanitizer: misaligned-pointer-use crc32c/src/crc32c_arm64.cc:101:26 in
  ```

ACKs for top commit:
  dergoegge:
    utACK f952e67
  MarcoFalke:
    lgtm ACK f952e67

Tree-SHA512: 9dee2abf73d3f23bb9979bfb453b48e39f0b7a5f58d43824ecf053a53e9800ed413b915382b274d1a84baf2999683e3b485463e377e0455b3f0ead65ed1d1916
DashCoreAutoGuix pushed a commit that referenced this pull request Jul 27, 2025
a44caf65fe Merge bitcoin-core/univalue-subtree#28: Import fixes for sanitizer reported issues
135254331e Import fixes for sanitizer reported issues
d5fb86940e refactor: use c++11 range based for loop in checkObject
ff9c379304 refactor: Use nullptr (c++11) instead of NULL
08a99754d5 build: use ax_cxx_compile_stdcxx.m4 to check for C++11 support
66d3713ce7 Merge bitcoin-core/univalue-subtree#29: ci: travis -> cirrus
808d487292 ci: travis -> cirrus
c390ac375f Merge bitcoin-core/univalue-subtree#19: Split sources for easier buildsystem integration
4a5b0a1c65 build: Move source entries out to sources.mk
6c7d94b33c build: cleanup wonky gen usage
a222637c6d Merge #23: Merge changes from jgarzik/univalue@1ae6a23
98fadc0909 Merge #24: Push bool into array correctly
5f03f1f39a Push bool into array correctly
f77d0f718d Merge commit '1ae6a231a0169938eb3972c1d48dd17cba5947e1' into HEAD
98261b1 Merge #22: Clamp JSON object depth to PHP limit
54c4015 Clamp JSON object depth to PHP limit
5a58a46 Merge #21: Remove hand-coded UniValue destructor.
b4cdfc4 Remove hand-coded UniValue destructor.
1ae6a231a0 Merge pull request #57 from MarcoFalke/test_fix
92bdd11f0b univalue_write: remove unneeded sstream.h include
ffb621c130 Merge pull request #56 from drodil/remove_sstream_header
f33acf9fe8 Merge commit '7890db9~' into HEAD
7fba60b Merge #17: [docs] Update readme
4577454 Merge #13: Fix typo
66e0adec4d Remove unnecessary sstream header from univalue.h
ac7e73c [docs] Update readme
7890db9 Merge #11: Remove deprecated std pair wrappers
88967f6586 Version 1.0.4
40e3485 Merge #14: Cleaned up namespace imports to reduce symbol collisions
1dc113dbef Merge pull request #50 from luke-jr/pushKV_bool
72392fb227 [tests] test pushKV for boolean values
c23132bcf4 Pushing boolean value to univalue correctly
4a49647 Fix typo
85052a4 Remove deprecated std::pair wrappers
81faab26a1 Merge pull request #48 from fwolfst/47-UPDATE_MIT_LINK_TO_HTTPS
b17634ef24 Update URLs to MIT license.
51d3ab3 Merge #10: Add pushKV(key, boolean) function (replaces #5)
129bad9 [tests] test pushKV for boolean values
b3c44c9 Pushing boolean value to univalue correctly
07947ff Merge #9: [tests] Fix BOOST_CHECK_THROW macro
ec849d9 [tests] Fix BOOST_CHECK_THROW macro
88ab64f6b5 Merge pull request #46 from jasonbcox/master
35ed96da31 Merge pull request #44 from MarcoFalke/Mf1709-univalue-cherrypick-explicit
420c226290 Merge pull request #45 from MarcoFalke/Mf1710-univalue-revert-test
d208f98 Cleaned up namespace imports to reduce symbol collisions
31bc9f5 Merge #8: Remove unused Homebrew workaround
fa04209 Remove HomeBrew workaround
a523e08 Merge #7: Declare single-argument (non-converting) constructors "explicit"
a9e53b3 Merge #4: Pull upstream
fe805ea Declare single-argument (non-converting) constructors "explicit"
8a2d6f1 Merge pull request #41 from jgarzik/get-obj-map
ba341a2 Add getObjMap() helper method.  Also, constify checkObject().
ceb1194 Handle .pushKV() and .checkObject() edge cases.
107db98 Add ::push_back(double) method for feature parity.
d415300 Move one-line implementation of UniValue::read() to header.
52e85b3 Move exception-throwing get_* methods into separate implementation module.
dac5296 README.md: update code quotes
3e31dcf README.md: close code quote
d09b842 Update README.md
f1b86ed Convert README to markdown style.
1dfe464 Import UniValue class unit tests from bitcoin project.
0d3e74d operator[] takes size_t index parameter (versus unsigned int)
640158f Private findKey() method becomes size_t clean, and returns bool on failure.
7099135 Merge pull request #36 from ryanofsky/pr/end-str
a31231b Version 1.0.3
4fd5444 Reject unterminated strings
81eba33 Merge pull request #26 from isle2983/pushBackHelpers
3640541 Merge PR #32 from branch 'nul-not-special' of git://github.com/ryanofsky/univalue into merge
89bb073 Merge pull request #31 from ryanofsky/raw-literals
511008c Merge pull request #30 from ryanofsky/test-driver
77974f3 Merge pull request #34 from paveljanik/20161116_Wshadow_codepoint
a38fcd3 Do not shadow member variable codepoint.
fd32d1a Don't require nul-terminated string inputs
0bb1439 Support parsing raw literals in UniValue
28876d0 Merge pull request #29 from btcdrak/exportspace
839ccd7 Add test driver for JSONTestSuite
26ef3ff Remove trailing whitespace from JSON export
16a1f7f Merge #3: Pull upstream
3f03bfd Merge pull request #27 from laanwj/2016_09_const_refs
5668ca3 Return const references from getKeys, getValues, get_str
cedda14 Merge pull request #28 from MarcoFalke/patch-1
9f0b997 [travis] Work around osx libtool issue
daf1285 Merge pull request #2 from jgarzik/master
cfa0384 Convenience wrappers for push_back-ing integer types
d9e62d3 Merge pull request #24 from MarcoFalke/Mf1608-cleanup
faf260f Rem unused vars and prefer prefix operator for non-primitive type
09a2693 Merge pull request #22 from laanwj/2016_04_unicode
c74a04c Merge pull request #23 from paveljanik/20160527_Wshadow
f32df99 Merge branch '2016_04_unicode' into bitcoin
280b191 Merge remote-tracking branch 'jgarzik/master' into bitcoin
fceb4f8 Do not shadow variables
c9a716c Handle UTF-8
bed8dd9 Version 1.0.2.
5e7985a Merge pull request #14 from laanwj/2015_11_escape_plan

git-subtree-dir: src/univalue
git-subtree-split: a44caf65fe55b9dd8ddb08f04c0f70409efd53b3
DashCoreAutoGuix pushed a commit that referenced this pull request Jul 31, 2025
f952e67 ci: remove usage of untrusted bpfcc-tools (fanquake)
1232c2f ci: use LLVM/clang-16 in native_asan job (fanquake)

Pull request description:

  Similar to bitcoin#27298. Working for me on `x86_64` and solves the issue I currently see with TSAN on `aarch64` with master (6882828):
  ```bash
  crc32c/src/crc32c_arm64.cc:101:26: runtime error: load of misaligned address 0xffff84400406 for type 'uint64_t' (aka 'unsigned long'), which requires 8 byte alignment
  0xffff84400406: note: pointer points here
   b9 c5 22 00 01 01  1a 6c 65 76 65 6c 64 62  2e 42 79 74 65 77 69 73  65 43 6f 6d 70 61 72 61  74 6f
               ^
      #0 0xaaaaaddaf0b4 in crc32c::ExtendArm64(unsigned int, unsigned char const*, unsigned long) src/./src/crc32c/src/crc32c_arm64.cc:101:26
      #1 0xaaaaadd2c838 in leveldb::crc32c::Value(char const*, unsigned long) src/./leveldb/util/crc32c.h:20:60
      #2 0xaaaaadd2c838 in leveldb::log::Reader::ReadPhysicalRecord(leveldb::Slice*) src/./src/leveldb/db/log_reader.cc:246:29
      #3 0xaaaaadd2ba9c in leveldb::log::Reader::ReadRecord(leveldb::Slice*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) src/./src/leveldb/db/log_reader.cc:72:38
      #4 0xaaaaadd41710 in leveldb::VersionSet::Recover(bool*) src/./src/leveldb/db/version_set.cc:910:19
      #5 0xaaaaadcf9fec in leveldb::DBImpl::Recover(leveldb::VersionEdit*, bool*) src/./src/leveldb/db/db_impl.cc:320:18
      #6 0xaaaaadd12068 in leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::DB**) src/./src/leveldb/db/db_impl.cc:1487:20
      #7 0xaaaaad314e80 in CDBWrapper::CDBWrapper(DBParams const&) src/./src/dbwrapper.cpp:156:30
      #8 0xaaaaace94880 in CBlockTreeDB::CBlockTreeDB(DBParams const&) src/./txdb.h:89:23
      #9 0xaaaaace94880 in std::_MakeUniq<CBlockTreeDB>::__single_object std::make_unique<CBlockTreeDB, DBParams>(DBParams&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:962:34
      #10 0xaaaaace94880 in ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&) src/./src/test/util/setup_common.cpp:188:51
      #11 0xaaaaace95da0 in TestingSetup::TestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&, bool, bool) src/./src/test/util/setup_common.cpp:243:7
      #12 0xaaaaace96730 in TestChain100Setup::TestChain100Setup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&, bool, bool) src/./src/test/util/setup_common.cpp:274:7
      #13 0xaaaaac1ddbc8 in blockfilter_index_tests::BuildChainTestingSetup::BuildChainTestingSetup() src/./src/test/blockfilter_index_tests.cpp:26:8
      #14 0xaaaaac1ddbc8 in blockfilter_index_tests::blockfilter_index_initial_sync::blockfilter_index_initial_sync() src/./src/test/blockfilter_index_tests.cpp:112:1
      #15 0xaaaaac1ddbc8 in blockfilter_index_tests::blockfilter_index_initial_sync_invoker() src/./src/test/blockfilter_index_tests.cpp:112:1
      #16 0xaaaaabf08f7c in boost::function0<void>::operator()() const /usr/include/boost/function/function_template.hpp:763:14
      #17 0xaaaaabf95468 in boost::detail::forward::operator()() /usr/include/boost/test/impl/execution_monitor.ipp:1388:32
      #18 0xaaaaabf95468 in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:137:18
      #19 0xaaaaabf8e12c in boost::function0<int>::operator()() const /usr/include/boost/function/function_template.hpp:763:14
      #20 0xaaaaabe7be14 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:903:16
      #21 0xaaaaabe7c1c0 in boost::execution_monitor::execute(boost::function<int ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:1301:16
      #22 0xaaaaabe6f47c in boost::execution_monitor::vexecute(boost::function<void ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:1397:5
      #23 0xaaaaabe75124 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /usr/include/boost/test/impl/unit_test_monitor.ipp:49:9
      #24 0xaaaaabed19fc in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:815:44
      #25 0xaaaaabed0f6c in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:784:58
      #26 0xaaaaabed0f6c in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:784:58
      #27 0xaaaaabe73878 in boost::unit_test::framework::run(unsigned long, bool) /usr/include/boost/test/impl/framework.ipp:1721:29
      #28 0xaaaaabe9d244 in boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /usr/include/boost/test/impl/unit_test_main.ipp:250:9
      #29 0xffff8f0773f8  (/lib/aarch64-linux-gnu/libc.so.6+0x273f8) (BuildId: f37f3aa07c797e333fd106472898d361f71798f5)
      #30 0xffff8f0774c8 in __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x274c8) (BuildId: f37f3aa07c797e333fd106472898d361f71798f5)
      #31 0xaaaaabda55ac in _start (/home/fedora/ci_scratch/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src/test/test_bitcoin+0x10e55ac) (BuildId: b7909adaefd9db6cd6a7c4d3d40207cf6bdaf4b3)

  SUMMARY: UndefinedBehaviorSanitizer: misaligned-pointer-use crc32c/src/crc32c_arm64.cc:101:26 in
  ```

ACKs for top commit:
  dergoegge:
    utACK f952e67
  MarcoFalke:
    lgtm ACK f952e67

Tree-SHA512: 9dee2abf73d3f23bb9979bfb453b48e39f0b7a5f58d43824ecf053a53e9800ed413b915382b274d1a84baf2999683e3b485463e377e0455b3f0ead65ed1d1916
DashCoreAutoGuix pushed a commit that referenced this pull request Sep 30, 2025
f952e67 ci: remove usage of untrusted bpfcc-tools (fanquake)
1232c2f ci: use LLVM/clang-16 in native_asan job (fanquake)

Pull request description:

  Similar to bitcoin#27298. Working for me on `x86_64` and solves the issue I currently see with TSAN on `aarch64` with master (6882828):
  ```bash
  crc32c/src/crc32c_arm64.cc:101:26: runtime error: load of misaligned address 0xffff84400406 for type 'uint64_t' (aka 'unsigned long'), which requires 8 byte alignment
  0xffff84400406: note: pointer points here
   b9 c5 22 00 01 01  1a 6c 65 76 65 6c 64 62  2e 42 79 74 65 77 69 73  65 43 6f 6d 70 61 72 61  74 6f
               ^
      #0 0xaaaaaddaf0b4 in crc32c::ExtendArm64(unsigned int, unsigned char const*, unsigned long) src/./src/crc32c/src/crc32c_arm64.cc:101:26
      #1 0xaaaaadd2c838 in leveldb::crc32c::Value(char const*, unsigned long) src/./leveldb/util/crc32c.h:20:60
      #2 0xaaaaadd2c838 in leveldb::log::Reader::ReadPhysicalRecord(leveldb::Slice*) src/./src/leveldb/db/log_reader.cc:246:29
      #3 0xaaaaadd2ba9c in leveldb::log::Reader::ReadRecord(leveldb::Slice*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) src/./src/leveldb/db/log_reader.cc:72:38
      #4 0xaaaaadd41710 in leveldb::VersionSet::Recover(bool*) src/./src/leveldb/db/version_set.cc:910:19
      #5 0xaaaaadcf9fec in leveldb::DBImpl::Recover(leveldb::VersionEdit*, bool*) src/./src/leveldb/db/db_impl.cc:320:18
      #6 0xaaaaadd12068 in leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::DB**) src/./src/leveldb/db/db_impl.cc:1487:20
      #7 0xaaaaad314e80 in CDBWrapper::CDBWrapper(DBParams const&) src/./src/dbwrapper.cpp:156:30
      #8 0xaaaaace94880 in CBlockTreeDB::CBlockTreeDB(DBParams const&) src/./txdb.h:89:23
      #9 0xaaaaace94880 in std::_MakeUniq<CBlockTreeDB>::__single_object std::make_unique<CBlockTreeDB, DBParams>(DBParams&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:962:34
      #10 0xaaaaace94880 in ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&) src/./src/test/util/setup_common.cpp:188:51
      #11 0xaaaaace95da0 in TestingSetup::TestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&, bool, bool) src/./src/test/util/setup_common.cpp:243:7
      #12 0xaaaaace96730 in TestChain100Setup::TestChain100Setup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&, bool, bool) src/./src/test/util/setup_common.cpp:274:7
      #13 0xaaaaac1ddbc8 in blockfilter_index_tests::BuildChainTestingSetup::BuildChainTestingSetup() src/./src/test/blockfilter_index_tests.cpp:26:8
      #14 0xaaaaac1ddbc8 in blockfilter_index_tests::blockfilter_index_initial_sync::blockfilter_index_initial_sync() src/./src/test/blockfilter_index_tests.cpp:112:1
      #15 0xaaaaac1ddbc8 in blockfilter_index_tests::blockfilter_index_initial_sync_invoker() src/./src/test/blockfilter_index_tests.cpp:112:1
      #16 0xaaaaabf08f7c in boost::function0<void>::operator()() const /usr/include/boost/function/function_template.hpp:763:14
      #17 0xaaaaabf95468 in boost::detail::forward::operator()() /usr/include/boost/test/impl/execution_monitor.ipp:1388:32
      #18 0xaaaaabf95468 in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:137:18
      #19 0xaaaaabf8e12c in boost::function0<int>::operator()() const /usr/include/boost/function/function_template.hpp:763:14
      #20 0xaaaaabe7be14 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:903:16
      #21 0xaaaaabe7c1c0 in boost::execution_monitor::execute(boost::function<int ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:1301:16
      #22 0xaaaaabe6f47c in boost::execution_monitor::vexecute(boost::function<void ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:1397:5
      #23 0xaaaaabe75124 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /usr/include/boost/test/impl/unit_test_monitor.ipp:49:9
      #24 0xaaaaabed19fc in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:815:44
      #25 0xaaaaabed0f6c in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:784:58
      #26 0xaaaaabed0f6c in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:784:58
      #27 0xaaaaabe73878 in boost::unit_test::framework::run(unsigned long, bool) /usr/include/boost/test/impl/framework.ipp:1721:29
      #28 0xaaaaabe9d244 in boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /usr/include/boost/test/impl/unit_test_main.ipp:250:9
      #29 0xffff8f0773f8  (/lib/aarch64-linux-gnu/libc.so.6+0x273f8) (BuildId: f37f3aa07c797e333fd106472898d361f71798f5)
      #30 0xffff8f0774c8 in __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x274c8) (BuildId: f37f3aa07c797e333fd106472898d361f71798f5)
      #31 0xaaaaabda55ac in _start (/home/fedora/ci_scratch/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src/test/test_bitcoin+0x10e55ac) (BuildId: b7909adaefd9db6cd6a7c4d3d40207cf6bdaf4b3)

  SUMMARY: UndefinedBehaviorSanitizer: misaligned-pointer-use crc32c/src/crc32c_arm64.cc:101:26 in
  ```

ACKs for top commit:
  dergoegge:
    utACK f952e67
  MarcoFalke:
    lgtm ACK f952e67

Tree-SHA512: 9dee2abf73d3f23bb9979bfb453b48e39f0b7a5f58d43824ecf053a53e9800ed413b915382b274d1a84baf2999683e3b485463e377e0455b3f0ead65ed1d1916
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants