[New-bugs-announce] [issue25534] SimpleHTTPServer throwed an exception due to negtive st_mtime attr in file

Sean Wang report at bugs.python.org
Mon Nov 2 10:35:17 EST 2015

New submission from Sean Wang:

I transfered a file from remote Debian host to my local Windows 10 host using SecureFX.
I found that the file's last modifed date was ‎1900‎/‎1‎/1‎,‏‎0:00:00 on Windows.

I tried to serve this file to be downloaded, and it crashed as follows:
Exception happened during processing of request from ('', 50978)

Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 295, in _handle_request_noblock
    self.process_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 321, in process_request
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Python27\lib\SocketServer.py", line 655, in __init__
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
  File "C:\Python27\lib\SimpleHTTPServer.py", line 45, in do_GET
    f = self.send_head()
  File "C:\Python27\lib\SimpleHTTPServer.py", line 103, in send_head
    self.send_header("Last-Modified", self.date_time_string(fs.st_mtime))
  File "C:\Python27\lib\BaseHTTPServer.py", line 468, in date_time_string
    year, month, day, hh, mm, ss, wd, y, z = time.gmtime(timestamp)
ValueError: (22, 'Invalid argument')

I have checked the source code, and found it was because of the last modifed date of the file, I got this in console:

>>> os.fstat(f.fileno())
nt.stat_result(st_mode=33206, st_ino=4785074604093500L, st_dev=0L, st_nlink=1, st_uid=0, st_gid=0, st_size=3406L, st_atime=1446477520L, st_mtime=-2209017600L, st_ctime=1446370767L)

-2209017600L cannot be handled by "time.gmtime()" method and it throwed 

components: Library (Lib)
messages: 253926
nosy: Sean.Wang
priority: normal
severity: normal
status: open
title: SimpleHTTPServer throwed an exception due to negtive st_mtime attr in file
type: crash
versions: Python 2.7

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list