Bug 2423882

Summary: python-dateutil fails to build with Python 3.15: test_tzlocal_local_time_trim_colon: AssertionError: assert tz.gettz() is not None
Product: [Fedora] Fedora Reporter: Karolina Surma <ksurma>
Component: python-dateutilAssignee: Mattia Verga <mattia.verga>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: gwync, igor.raits, knivnia, ksurma, lbalhar, mattia.verga, mhroncok, pj.pandit, python-packagers-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-dateutil-2.9.0.post0-10.fc45 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-03-24 19:18:34 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: 2412434    

Description Karolina Surma 2025-12-19 14:50:15 UTC
python-dateutil fails to build with Python 3.15.0a3.

______________________ test_tzlocal_local_time_trim_colon ______________________

    @mark_tzlocal_nix
    def test_tzlocal_local_time_trim_colon():
        with TZEnvContext(':/etc/localtime'):
>           assert tz.gettz() is not None
E           assert None is not None
E            +  where None = <dateutil.tz.tz.__get_gettz.<locals>.GettzFunc object at 0x7fc867bd7770>()
E            +    where <dateutil.tz.tz.__get_gettz.<locals>.GettzFunc object at 0x7fc867bd7770> = tz.gettz

https://docs.python.org/3.15/whatsnew/3.15.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.15/fedora-rawhide-x86_64/09935309-python-dateutil/

For all our attempts to build python-dateutil with Python 3.15, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.15/package/python-dateutil/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.15:
https://copr.fedorainfracloud.org/coprs/g/python/python3.15/

Let us know here if you have any questions.

Python 3.15 is planned to be included in Fedora 45.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.15.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires),
so if this package is required a lot, it's important for us to get it fixed soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Lumír Balhar 2026-03-23 11:56:18 UTC
I've tried the build now and it seems the problem might be somewhere else (it now fails sooner than in %check).

In COPR:

+ make -C docs html
make: Entering directory '/builddir/build/BUILD/python-dateutil-2.9.0.post0-build/python-dateutil-2.9.0.post0/docs'
sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v9.1.0
loading translations [en]... done
making output directory... done
Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [html]: targets for 13 source files that are out of date
updating environment: [new config] 13 added, 0 changed, 0 removed
reading sources... [  8%] changelog
reading sources... [ 15%] easter
reading sources... [ 23%] examples
reading sources... [ 31%] exercises/index
reading sources... [ 38%] exercises/solutions/mlk-day-rrule
reading sources... [ 46%] index
reading sources... [ 54%] parser
 !! Copr timeout => sending INT
ERROR: Build root is locked by another process.
Copr build error: Build failed

In my local build:

+ make -C docs html
make: Entering directory '/builddir/build/BUILD/python-dateutil-2.9.0.post0-build/python-dateutil-2.9.0.post0/docs'
sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v9.1.0
loading translations [en]... done
making output directory... done
Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [html]: targets for 13 source files that are out of date
updating environment: [new config] 13 added, 0 changed, 0 removed
reading sources... [  8%] changelog
reading sources... [ 15%] easter
reading sources... [ 23%] examples
reading sources... [ 31%] exercises/index
reading sources... [ 38%] exercises/solutions/mlk-day-rrule
reading sources... [ 46%] index
reading sources... [ 54%] parser
make: Leaving directory '/builddir/build/BUILD/python-dateutil-2.9.0.post0-build/python-dateutil-2.9.0.post0/docs'
make: *** [Makefile:53: html] Killed
error: Bad exit status from /var/tmp/rpm-tmp.OgTnrX (%build)

I'm not yet sure what is happening inside, but it seems to be some kind of memory leak or something like that in Sphinx.

Comment 3 Fedora Update System 2026-03-28 16:50:20 UTC
FEDORA-2026-fc452ca35b (python-dateutil-2.9.0.post0-10.fc45) has been submitted as an update to Fedora 45.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-fc452ca35b

Comment 4 Fedora Update System 2026-03-28 18:06:52 UTC
FEDORA-2026-fc452ca35b (python-dateutil-2.9.0.post0-10.fc45) has been pushed to the Fedora 45 stable repository.
If problem still persists, please make note of it in this bug report.