Bug 1371224

Summary: threading wait(timeout) doesn't return after timeout if system clock is set backward
Product: [Fedora] Fedora Reporter: Charalampos Stratakis <cstratak>
Component: python3Assignee: Michal Cyprian <mcyprian>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 26CC: bkabrda, cstratak, mcyprian, mhroncok, pviktori, rkuska, tomspur, torsava
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: 2018-01-18 14:20:58 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:
Attachments:
Description Flags
Reproducer none

Description Charalampos Stratakis 2016-08-29 16:07:24 UTC
Created attachment 1195423 [details]
Reproducer

The problem is in python threading library, which doesn't use monotonic timer when handling wait timeouts. Reproducer:

$ date -s "2016-08-19 12:59:42 EDT"
$ ./test.py &
$ date -s "2016-08-19 09:10:26 EDT"

And it stops counting, i.e. the wait doesn't return after the timeout as it should.

Comment 1 Fedora End Of Life 2017-02-28 10:10:31 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 2 Charalampos Stratakis 2017-09-27 13:06:04 UTC
The patch used by Centos to work around the issue:

https://git.centos.org/raw/rpms/python.git/c7/SOURCES!00257-threading-wait-clamp-remaining-time.patch

Comment 3 Petr Viktorin 2018-01-18 14:20:58 UTC
This is reported upstream; we won't work on it in Fedora.