Bug 2008899

Summary: python-kerberos: SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-kerberosAssignee: Rob Crittenden <rcritten>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: abokovoy, ljavorsk, rcritten
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-kerberos-1.3.0-14.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-01 00:14:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1890881    

Description Miro Hrončok 2021-09-29 12:59:09 UTC
Description of problem:
Using python-kerberos is broken on Python 3.10+

>>> import kerberos
>>> kerberos.__file__
'/usr/lib64/python3.10/site-packages/kerberos.cpython-310-x86_64-linux-gnu.so'
>>> kerberos.channelBindings(application_data=...)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats

Version-Release number of selected component (if applicable): python3-kerberos-1.3.0-13.fc35.x86_64


How reproducible: Easy.


Steps to Reproduce:
1. Run Python 3.10 on Fedora 35 or 36.
2. Import kerberos
3. Run kerberos.channelBindings(application_data=...)

Actual results:
SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats

Expected results:
No SystemError.

Additional info: This breaks the Red Hat internal rhpkg tool, see https://bugzilla.redhat.com/show_bug.cgi?id=1890878#c8 and below.

Comment 1 Miro Hrončok 2021-09-29 13:01:25 UTC
Upstream report: https://github.com/apple/ccs-pykerberos/issues/88

This could have been caught much sooner if only there were some tests executed in %check :/

Comment 2 Miro Hrončok 2021-09-29 13:09:44 UTC
> This could have been caught much sooner if only there were some tests
> executed in %check :/

Unfortunately, I see now that setting that up would not be very easy. https://github.com/apple/ccs-pykerberos/blob/PyKerberos-1.3.0/testing_notes.md

Comment 4 Fedora Update System 2021-09-29 14:02:02 UTC
FEDORA-2021-aa8e7b6146 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-aa8e7b6146

Comment 5 Fedora Update System 2021-09-30 01:43:34 UTC
FEDORA-2021-aa8e7b6146 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-aa8e7b6146`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-aa8e7b6146

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2021-10-01 00:14:57 UTC
FEDORA-2021-aa8e7b6146 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.