Bug 1371224 - threading wait(timeout) doesn't return after timeout if system clock is set backward
Summary: threading wait(timeout) doesn't return after timeout if system clock is set b...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: python3
Version: 26
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Michal Cyprian
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-08-29 16:07 UTC by Charalampos Stratakis
Modified: 2018-01-18 14:20 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-01-18 14:20:58 UTC
Type: Bug


Attachments (Terms of Use)
Reproducer (154 bytes, text/x-python)
2016-08-29 16:07 UTC, Charalampos Stratakis
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Python 12822 0 None None None 2016-08-30 10:26:51 UTC
Python 23428 0 None None None 2016-08-30 10:26:10 UTC

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.


Note You need to log in before you can comment on or make changes to this bug.