classification
Title: [Windows WSL] Fatal Python error: _Py_InitializeMainInterpreter: can't initialize time, after year 2038
Type: Stage: resolved
Components: Interpreter Core, Windows Versions: Python 3.8
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: Petter S, leewz, paul.moore, steve.dower, tim.golden, vstinner, zach.ware
Priority: normal Keywords:

Created on 2018-06-26 08:05 by vstinner, last changed 2019-07-04 15:29 by leewz. This issue is now closed.

Messages (9)
msg320475 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-06-26 08:05
Petter S commented the closed bpo-25155, so I open a new issue. Copy of messages starting at https://bugs.python.org/issue25155#msg320431:

msg320431 - (view) 	Author: Petter S (Petter S) * 	Date: 2018-06-25 17:52

I get this error when starting the interpreter in Windows subsystem for Linux (WSL). 

I am using Python 2.7.15rc1

$ python --version
Python 2.7.15rc1
$ python
Fatal Python error: _Py_InitializeMainInterpreter: can't initialize time                                                                                                                                          OverflowError: timestamp too large to convert to C _PyTime_t                                                                                                                                                                                                                                                                                                                                                                        Current thread 0x00007fe547231080 (most recent call first):                                                                                                                                                       Aborted (core dumped)

msg320432 - (view) 	Author: Petter S (Petter S) * 	Date: 2018-06-25 17:55

For Python 3:

$ python3 --version
Python 3.7.0b3
$ python3
Fatal Python error: _Py_InitializeMainInterpreter: can't initialize time
OverflowError: timestamp too large to convert to C _PyTime_t

Current thread 0x00007f0232c21080 (most recent call first):
Aborted (core dumped)

msg320441 - (view) 	Author: STINNER Victor (vstinner) * (Python committer) 	Date: 2018-06-25 21:06

> I get this error when starting the interpreter in Windows subsystem for Linux (WSL).

This bug is currently closed, please open a new bug.

About your issue. I'm not sure if Windows subsystem for Linux is officially supported. How did you install Python 2.7 and 3.7? Are you testing 32-bit or 64-bit Python? (Again, please answer in your new issue.)

msg320447 - (view) 	Author: STINNER Victor (vstinner) * (Python committer) 	Date: 2018-06-25 22:05

I tried 64-bit builds of Python 2.7 and 3.7rc1 (binaries from python.org) on Windows 10 on year 2045: start with no error, time.time() and datetime.datetime.now() don't fail.

I tried Python 2.7.12 and 3.5.2 on Ubuntu 16.04 in WSL on my Windows 10: same, start with no error, time.time() and datetime.datetime.now() don't fail. It's 64-bit Ubuntu with 64-bit binaries for Python 2 and Python 3 (check sys.maxsize).

I even compiled Python 2.7.15 and 3.7rc1 on Ubuntu 16.04 in WSL on my Windows 10: same again, start with no error, time.time() and datetime.datetime.now() don't fail. Python 2 and 3 have been compiled in 64-bit mode, since it's a 64-bit Ubuntu.

Everything is fine. I failed to reproduce your bug.

msg320473 - (view) 	Author: Petter S (Petter S) * 	Date: 2018-06-26 07:26

I also compiled Python myself on WSL.

The bug seemed to appear after computer had been running for a while. Before that, the interpreters were working normally. And after rebooting the problem disappeared.
msg320477 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-06-26 08:08
Petter S:

* What is your Windows version?
* Which operating system are you running on WSL? Name and version?
* In WSL: can you copy/paste the output of "uname -a"? What is your compiler version? Are you compiling in 32-bit or 64-bit mode?


Maybe the exception came from:

static int
pymonotonic(_PyTime_t *tp, _Py_clock_info_t *info, int raise)
{
#if defined(MS_WINDOWS)
    ...
    if (_PyTime_check_mul_overflow(t, MS_TO_NS)) {
        if (raise) {
            _PyTime_overflow();
            return -1;
        }
        /* Hello, time traveler! */
        Py_UNREACHABLE();
    }
    ...
}
msg320491 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2018-06-26 13:41
Also please include your sys.version. It is possible to launch Windows applications from WSL, which means we need to know if you ran the Linux version or the Windows version (though it sounds like it was a Linux version which means MS_WINDOWS is not defined).
msg321536 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-07-12 10:32
Petter S: If you don't provide further information, I will close the issue in one week.

I tried all possible ways to compile Python on Windows and I failed to reproduce the bug. I'm not saying that there is no bug, just that the bug cannot fixed it if I fail to reproduce it.
msg321539 - (view) Author: Petter S (Petter S) * Date: 2018-07-12 10:51
Makes sense. I fail to reproduce it myself. :-(
msg321542 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-07-12 11:01
Ok, no problem, I close the issue.
msg324373 - (view) Author: Petter S (Petter S) * Date: 2018-08-30 09:28
I am updating this bug since someone may find it.

The problem lies with WSL. After having my computer running for many days, this is the result of the uptime command:

$ uptime
 11:23:19 up -24855 days, -3:-14,  0 users,  load average: 0.52, 0.58, 0.59

Restarting the computer fixes this and the Python issue discussed in this thread.
msg324377 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-08-30 11:47
> 11:23:19 up -24855 days, -3:-14,  0 users,  load average: 0.52, 0.58, 0.59

Impressive uptime!
msg347283 - (view) Author: Franklin? Lee (leewz) Date: 2019-07-04 15:29
Petter S reported the issue to Microsoft, and got the response that it was already fixed in Insider Preview.
https://github.com/microsoft/WSL/issues/3514

Should be fixed in Windows 10 version 1809, according to the tags here:
https://github.com/microsoft/WSL/issues/3252
History
Date User Action Args
2019-07-04 15:29:51leewzsetnosy: + leewz
messages: + msg347283
2018-08-30 11:47:52vstinnersetmessages: + msg324377
2018-08-30 09:28:13Petter Ssetmessages: + msg324373
2018-07-12 11:01:09vstinnersetstatus: open -> closed
resolution: not a bug
messages: + msg321542

stage: resolved
2018-07-12 10:51:51Petter Ssetmessages: + msg321539
2018-07-12 10:32:06vstinnersetmessages: + msg321536
2018-06-26 13:41:52steve.dowersetmessages: + msg320491
2018-06-26 08:08:06vstinnersetmessages: + msg320477
2018-06-26 08:06:20vstinnersetnosy: + Petter S
2018-06-26 08:05:40vstinnercreate