Skip to content

Fix TCP PublishServer crash on IPv6-enabled masters - #70706

Open
Aathi-27 wants to merge 6 commits into
saltstack:3008.xfrom
Aathi-27:fix-66567-tcp-pub-ipv6
Open

Aathi-27 wants to merge 6 commits into
saltstack:3008.xfrom
Aathi-27:fix-66567-tcp-pub-ipv6

Conversation

@Aathi-27

@Aathi-27 Aathi-27 commented Nov 6, 2026 •

Copy link
Copy Markdown

What does this PR do?

Fixes TCP server startup failures caused by bracketed IPv6 bind addresses and mismatched socket families.

Master startup converts IPv6 interface addresses into ZeroMQ URI form, such as [::]. The TCP publisher previously tried to bind that bracketed address directly and failed, leaving its publish port closed.

The patch normalizes bind addresses and selects the socket family from the actual interface address for publisher, request-server and load-balancer sockets. Client connection paths retain their existing flag-based behavior.

Issue

Fixes #66567

Validation

  • On 3008.x, all 82 tests in tests/pytests/unit/transport/test_tcp.py pass with the fix.
  • Without the fix, five new tests fail and 77 pass.
  • Live master startup and TCP/IPv6 test.ping were checked on master before this port, not on 3008.x.

Includes regression tests and changelog/66567.fixed.md.

@Aathi-27
Aathi-27 requested a review from a team as a code owner November 6, 2026 01:34
@twangboy twangboy added the test:full Run the full test suite label Nov 6, 2026
@twangboy twangboy added this to the Potassium v3009.0 milestone Nov 6, 2026

@twangboy twangboy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this bug exists on 3008.x, please rebase this PR against 3008.x branch.

@Aathi-27
Aathi-27 force-pushed the fix-66567-tcp-pub-ipv6 branch from 216636c to 5257bb4 Compare November 6, 2026 20:07
@Aathi-27
Aathi-27 changed the base branch from master to 3008.x November 6, 2026 20:08
@Aathi-27

Aathi-27 commented Nov 6, 2026

Copy link
Copy Markdown
Author

The affected code is the same on 3008.x, so this change is now based on 3008.x and the PR base has been updated. The new unit tests fail on 3008.x without the fix and pass with it.

@twangboy
twangboy force-pushed the fix-66567-tcp-pub-ipv6 branch from 92a07d8 to 50b54a1 Compare November 10, 2026 20:42
@Aathi-27
Aathi-27 requested a deployment to ci November 11, 2026 20:45 — with GitHub Actions Abandoned
@Aathi-27
Aathi-27 requested a deployment to ci November 11, 2026 20:45 — with GitHub Actions Abandoned
@Aathi-27
Aathi-27 requested a deployment to ci November 11, 2026 20:45 — with GitHub Actions Abandoned
@Aathi-27
Aathi-27 requested a deployment to ci November 11, 2026 20:45 — with GitHub Actions Abandoned
@Aathi-27

Copy link
Copy Markdown
Author

The latest CI attempt fails only on test_cluster_ready_fires_on_restart_from_persisted_log across 15 functional ZeroMQ jobs. I also found this test failing with the same assertion on 3008.x in Debian 11 and Debian 13 jobs. Could a maintainer confirm whether this is a known branch failure and advise whether anything is needed from this PR?

@dwoz

dwoz commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

@Aathi-27 Yes, I had merged to conflicting PRs which broke the full test suite. This will be resolved soon. I think this PR will be good to go.

@Aathi-27

Copy link
Copy Markdown
Author

Thanks for confirming. I'll leave this PR unchanged while the upstream test suite is fixed. Please let me know if anything is needed from my side.

This branch was successfully deployed

1 active deployment
ci — 3d13624b Deployed Nov 12, 2026 by Aathi-27 via Prepare Workflow Run #28827
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:full Run the full test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] [3007.0] Using IPv6 causes TCP PublishServer to crash

3 participants