Bug 2273559

Summary: python-APScheduler fails to build with pytest 8: concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
Product: [Fedora] Fedora Reporter: Tomáš Hrnčiar <thrnciar>
Component: python-APSchedulerAssignee: mmassari
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mhroncok, mmassari, thrnciar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-04-09 12:27:53 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: 2256331    

Description Tomáš Hrnčiar 2024-04-05 07:17:30 UTC
python-APScheduler fails to build with pytest 8.


=================================== FAILURES ===================================
_______________________________ test_broken_pool _______________________________
tests/test_executors.py:176: in test_broken_pool
    assert pid[0] != killed_pid
E   assert 684 != 684
------------------------------ Captured log call -------------------------------
ERROR    apscheduler.executors.default:base.py:100 Error running job 0205404401f54f24898a939bba614063
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.

https://docs.pytest.org/en/stable/changelog.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/thrnciar/pytest/fedora-rawhide-x86_64/07247724-python-APScheduler/

For all our attempts to build python-APScheduler with pytest 8, see:
https://copr.fedorainfracloud.org/coprs/thrnciar/pytest/package/python-APScheduler/

Let us know here if you have any questions.

Pytest 8 is planned to be included in Fedora 41. And this bugzilla is a
heads up before we merge new pytest into rawhide. For more info see a Fedora Change
proposal https://fedoraproject.org/wiki/Changes/Pytest_8

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 mmassari 2024-04-09 07:01:13 UTC
I am trying to reproduce it locally, with no success until now. I am not sure this is always happening but I will try it more.

I saw you are are mainly building the 4.0.0a4 alpha release, but this upstream release is not released in downstream yet. I will avoid to work on it (since it has many more problems) and I will focus just on the 3.10.4.

Comment 2 mmassari 2024-04-09 08:53:45 UTC
I can reproduce the above same error, locally, for version 3.10.4 lowering this waiting time: https://github.com/agronholm/apscheduler/blob/2cd37918351c266ff4149abccc40635b79a80477/tests/test_executors.py#L175

For this reason I think this is not related with the new pytest but it is just something that sometimes could happen.
I would ask you to try to rebuild it again (just version 3.10.4) to see if it succeeds. 
If not I can try to increase the waiting time.

Thanks maja.

Comment 3 mmassari 2024-04-09 11:35:50 UTC
I ran the builds on my copr project where I have enabled pytest8: https://copr.fedorainfracloud.org/coprs/mmassari/apscheduler/builds/
As you can see sometimes it passes and sometimes it does not, I bet it depends on the load of the copr builders.
I don't think increasing the waiting time will solve this completely and if you agree I will let the test at it is now. I just know that I need to rerun the builds if they fail.

Comment 4 Tomáš Hrnčiar 2024-04-09 12:27:53 UTC
Hi Maja, thank you for your investigation. Keeping the test as it is works for me. I'll close the bugzilla. 

(In reply to mmassari from comment #1)
> I saw you are are mainly building the 4.0.0a4 alpha release, but this
> upstream release is not released in downstream yet. I will avoid to work on
> it (since it has many more problems) and I will focus just on the 3.10.4.

Actually, I am building rawhide commits as well as commits from PRs. This way maintainers can check whether the next version of their package works with pytest 8. You can differentiate between them when you look into build details. In case of APScheduler, there were plenty of rebases in this PR(https://src.fedoraproject.org/rpms/python-APScheduler/pull-request/29) by Packit so all of them were rebuilt in copr.

Build #7154100 - built by me
Directory:
    pytest 
Built by:
    thrnciar 

Build #7265531 - built from PR
Pull Request:
    PR#29 
Directory:
    pytest:pr:29 
Built by:
    https://src.fedoraproject.org/user/packit-stg

Comment 5 mmassari 2024-04-09 12:59:00 UTC
Yes you are right PR 29 is full of rebases... I am using it to test a new Packit feature :D

Thanks,

Maja