Bug 2507024

Summary: Rebuild python-xmlsec with Python 3.15.0b4+
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-xmlsecAssignee: Michel Lind <michel>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 45CC: infra-sig, michel, python-packagers-sig, rosset.filipe
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
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: 2433833, 2503726, 2506751    

Description Miro Hrončok 2026-07-25 09:54:39 UTC
In https://bodhi.fedoraproject.org/updates/FEDORA-2026-2551d0d66b we have shipped Python 3.15.0b4.

All packages that link to libpython or have extension modules should be rebuilt, or they will segfault on import/usage.

Packages using stable ABI might not need a rebuild.

This package was not rebuilt because we were unable to do so.
Please rebuild it with Python 3.15.0b4+ ASAP.

If you are sure this package does not need a rebuild, feel free to close this bugzilla.

Thanks

Comment 1 Miro Hrončok 2026-07-27 16:02:35 UTC
A rawhdie build fails with:

=================================== FAILURES ===================================
_________________ TestCallbacks.test_sign_data_from_callbacks __________________
self = <tests.test_main.TestCallbacks testMethod=test_sign_data_from_callbacks>
result = <TestCaseFunction test_sign_data_from_callbacks>
    def run(self, result=None):
        # run first time
        super().run(result=result)
        if self.iterations == 0:
            return
    
        m_usage = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
        o_count = gc.get_count()[0]
        m_hits = 0
        o_hits = 0
        for _ in range(self.iterations):
            super().run(result=result)
            m_usage_n = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
            if m_usage_n > m_usage:
                m_usage = m_usage_n
                m_hits += 1
            o_count_n = gc.get_count()[0]
            if o_count_n > o_count:
                o_count = o_count_n
                o_hits += 1
            del m_usage_n
            del o_count_n
    
        if m_hits > int(self.iterations * 0.8):
            result.buffer = False
            try:
                raise AssertionError('memory leak detected')
            except AssertionError:
                result.addError(self, sys.exc_info())
        if o_hits > int(self.iterations * 0.8):
            result.buffer = False
            try:
>               raise AssertionError('unreferenced objects detected')
E               AssertionError: unreferenced objects detected
tests/base.py:67: AssertionError
_______________ TestCallbacks.test_sign_data_not_first_callback ________________
self = <tests.test_main.TestCallbacks testMethod=test_sign_data_not_first_callback>
result = <TestCaseFunction test_sign_data_not_first_callback>
    def run(self, result=None):
        # run first time
        super().run(result=result)
        if self.iterations == 0:
            return
    
        m_usage = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
        o_count = gc.get_count()[0]
        m_hits = 0
        o_hits = 0
        for _ in range(self.iterations):
            super().run(result=result)
            m_usage_n = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
            if m_usage_n > m_usage:
                m_usage = m_usage_n
                m_hits += 1
            o_count_n = gc.get_count()[0]
            if o_count_n > o_count:
                o_count = o_count_n
                o_hits += 1
            del m_usage_n
            del o_count_n
    
        if m_hits > int(self.iterations * 0.8):
            result.buffer = False
            try:
                raise AssertionError('memory leak detected')
            except AssertionError:
                result.addError(self, sys.exc_info())
        if o_hits > int(self.iterations * 0.8):
            result.buffer = False
            try:
>               raise AssertionError('unreferenced objects detected')
E               AssertionError: unreferenced objects detected
tests/base.py:67: AssertionError
=========================== short test summary info ============================
FAILED tests/test_main.py::TestCallbacks::test_sign_data_from_callbacks - Ass...
FAILED tests/test_main.py::TestCallbacks::test_sign_data_not_first_callback
=================== 2 failed, 277 passed, 7 skipped in 0.57s ===================
error: Bad exit status from /var/tmp/rpm-tmp.XjEfii (%check)