[Bug 296290] sysutils/py-salt3006.26,1 doesn't work with python312

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 26 Jun 2026 14:13:43 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296290

            Bug ID: 296290
           Summary: sysutils/py-salt3006.26,1 doesn't work with python312
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: js@FreeBSD.org

Looks like we have some type of communication error between the salt-minion and
salt-master on python312. I'm not seeing the same problem when I'm using
python311:

root@<redacted>:~ # salt-call state.apply --log-level=trace
...
[DEBUG   ] Connecting to master. Attempt 1 of 1
[DEBUG   ] "salt" Not an IP address? Assuming it is a hostname.
[DEBUG   ] Master URI: tcp://10.2.10.87:4506
[DEBUG   ] Initializing new AsyncAuth for ('/usr/local/etc/salt/pki/minion',
'<redacted>', 'tcp://10.2.10.87:4506', '1574223880.58654')
[DEBUG   ] Generated random reconnect delay between '1000ms' and '11000ms'
(4273)
[DEBUG   ] Setting zmq_reconnect_ivl to '4273ms'
[DEBUG   ] Setting zmq_reconnect_ivl_max to '11000ms'
[DEBUG   ] salt.crypt.get_rsa_key: Loading private key
[DEBUG   ] salt.crypt._get_key_with_evict: Loading private key
[DEBUG   ] SaltEvent PUB socket URI:
/var/run/salt/minion/minion_event_d0881ffea1_pub.ipc
[DEBUG   ] SaltEvent PULL socket URI:
/var/run/salt/minion/minion_event_d0881ffea1_pull.ipc
[TRACE   ] ReqChannel send clear load={'cmd': '_auth', 'id': '<redacted>',
'nonce': '04df327b9ab94b6db4b178835a105f93', 'enc_algo': 'OAEP-SHA1',
'sig_algo': 'PKCS1v15-SHA1', 'token': b"<removed to reduce noise>", 'pub':
'<removed to reduce noise>'}
[DEBUG   ] Using selector: KqueueSelector
[TRACE   ] Failed to send msg SaltReqTimeoutError('Message timed out')
[TRACE   ] ReqChannel send clear load={'cmd': '_auth', 'id': '<redacted>',
'nonce': '04df327b9ab94b6db4b178835a105f93', 'enc_algo': 'OAEP-SHA1',
'sig_algo': 'PKCS1v15-SHA1', 'token': b"<removed to reduce noise>", 'pub':
'<removed to reduce noise>'}
[TRACE   ] Failed to send msg SaltReqTimeoutError('Message timed out')
[TRACE   ] ReqChannel send clear load={'cmd': '_auth', 'id': '<redacted>',
'nonce': '04df327b9ab94b6db4b178835a105f93', 'enc_algo': 'OAEP-SHA1',
'sig_algo': 'PKCS1v15-SHA1', 'token': b"<removed to reduce noise>", 'pub':
'<removed to reduce noise>'}
[TRACE   ] Failed to send msg SaltReqTimeoutError('Message timed out')
[TRACE   ] ReqChannel send clear load={'cmd': '_auth', 'id': '<redacted>',
'nonce': '04df327b9ab94b6db4b178835a105f93', 'enc_algo': 'OAEP-SHA1',
'sig_algo': 'PKCS1v15-SHA1', 'token': b"<removed to reduce noise>", 'pub':
'<removed to reduce noise>'}
[TRACE   ] Failed to send msg SaltReqTimeoutError('Message timed out')
[TRACE   ] ReqChannel send clear load={'cmd': '_auth', 'id': '<redacted>',
'nonce': '04df327b9ab94b6db4b178835a105f93', 'enc_algo': 'OAEP-SHA1',
'sig_algo': 'PKCS1v15-SHA1', 'token': b"<removed to reduce noise>", 'pub':
'<removed to reduce noise>'}
[TRACE   ] Failed to send msg SaltReqTimeoutError('Message timed out')
[TRACE   ] ReqChannel send clear load={'cmd': '_auth', 'id': '<redacted>',
'nonce': '04df327b9ab94b6db4b178835a105f93', 'enc_algo': 'OAEP-SHA1',
'sig_algo': 'PKCS1v15-SHA1', 'token': b"<removed to reduce noise>", 'pub':
'<removed to reduce noise>'}
[TRACE   ] Failed to send msg SaltReqTimeoutError('Message timed out')
[TRACE   ] ReqChannel send clear load={'cmd': '_auth', 'id': '<redacted>',
'nonce': '04df327b9ab94b6db4b178835a105f93', 'enc_algo': 'OAEP-SHA1',
'sig_algo': 'PKCS1v15-SHA1', 'token': b"<removed to reduce noise>", 'pub':
'<removed to reduce noise>'}
[TRACE   ] Failed to send msg SaltReqTimeoutError('Message timed out')
[DEBUG   ] Closing AsyncReqChannel instance
Unable to sign_in to master: Attempt to authenticate with the salt master
failed with timeout error


I tried changing KqueueSelector to PollSelector with a ugly patch in
salt/__init__.py but it didn't help. I know python312 isn't officially
supported by salt so I figured I'd start with making this ticket before
reporting it upstream.

-- 
You are receiving this mail because:
You are the assignee for the bug.