Fixes #36388 (llvm-symbolizer broken pipe complaints) by replacing the unclean Bitcoin Core shutdown with a clean one in init_fd_overflow_test.
test: Extract and use sigterm_node in init_fd_overflow_test #36392
pull maflcko wants to merge 1 commits into bitcoin:master from maflcko:2609-test-term-kill-llvm-symbolizer-pipe-error changing 1 files +23 −25-
maflcko commented at 2:04 PM on September 30, 2026: member
- DrahtBot added the label Tests on Sep 30, 2026
-
DrahtBot commented at 2:04 PM on September 30, 2026: contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
External sites
- Code coverage & benchmarks: https://corecheck.dev/bitcoin/bitcoin/pulls/36392
- Ralph review <img src=https://review.fish.foo/assets/bitcoin/bitcoin/36392.png alt="Ralph review status"> https://git.fish.foo/bitcoin/bitcoin/pulls/36392#author-ralph
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline and AI policy for information on the review process.
If your review is incorrectly listed, please copy-paste <code><!--meta-tag:bot-skip--></code> into the comment that the bot should ignore.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
Reviewers, this pull request conflicts with the following ones:
- #24230 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/24230.svg"></sub> (indexes: Stop using node internal types and locking cs_main, improve sync logic by ryanofsky)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
- DrahtBot added the label CI failed on Sep 30, 2026
- maflcko force-pushed on Sep 30, 2026
- DrahtBot removed the label CI failed on Sep 30, 2026
-
fad49a733d
test: Extract and use sigterm_node in init_fd_overflow_test
Changes: * Extract a shared get_process_group_kwargs() to avoid repeating it * In sigterm_node, use node.wait_until_stopped() instead of the manual assert_equal(0, node.process.wait()) * Extract sigterm_node; can be reviewed via the git options --color-moved=dimmed-zebra --color-moved-ws=ignore-all-space * Use self.sigterm_node(node)+get_process_group_kwargs() over node.kill_process() for a graceful shutdown to avoid complaints from the llvm-symbolizer about a broken pipe when it resolves UBSAN suppressions during a process kill
- maflcko force-pushed on Sep 30, 2026
-
fametrano commented at 8:51 AM on October 2, 2026: contributor
ACK fad49a733d611f6d49ab9cb80509b79af500b384
I could not reproduce the failure: it needs a sanitizer build, and I tested on macOS without one. feature_init.py passed 5 of 5 runs with and without the change. With a startup warning added to the node, init_fd_overflow_test still fails on the unexpected stderr, so the clean stop hides nothing. The stress test now also checks stderr after each SIGTERM, which it did not before.
The same failure hit the ASan job on three of my PRs, #36185, #36407 and #36409, on 2026-10-01 and 2026-10-02: 1, 2, 3.
- sedited approved
-
sedited commented at 12:19 PM on October 7, 2026: contributor
ACK fad49a733d611f6d49ab9cb80509b79af500b384
- sedited merged this on Oct 7, 2026
- sedited closed this on Oct 7, 2026
- maflcko deleted the branch on Oct 7, 2026
- fanquake referenced this in commit a323326a0d on Oct 7, 2026