Bug#593461: Bug #593461

2011-06-14 Thread Daniel Piddock
The bug discussed here is caused by the Debian patch issue762963.diff.
Removing this patch makes the issue disappear.

-- 
Daniel Piddock, Systems Administrator, CoreFiling Limited
http://www.corefiling.com




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#593461: Bug #593461

2011-06-14 Thread Jon Siddle
The issue762963.diff patch is definitely the cause of this issue. 
http://bugs.python.org/issue762963#msg138340 gives a detailed 
description of the problem with that patch.


In short, mktime() is being called with a zero'd struct tm which is 
outside the range representable by a 32-bit integer. It appears that 
mktime() on a 32-bit system will therefore leave tm_zone as null but a 
64-bit system will fill it in (with GMT). If set, tm_zone will 
override the other fields in the struct tm and the end result is that 
for a time during DST, strftime() outputs the time itself with the 
offset applied, but GMT for the zone (when it should be the DST zone; 
eg BST).


Since this actually outputs an incorrect time (as opposed to a correct 
time with an inconvenient timezone) I think the patch should be removed 
until the Python issue has been properly resolved as fixed.


Jon



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#593461: Bug #593461

2011-06-13 Thread Jon Siddle
I have also run into this bug. I have been able to reproduce it on 4/4 
64-bit Squeeze systems and been unable to reproduce it on any 32-bit 
Squeeze systems (2 tried). All machines tried are set to Europe/London.


It might be worth noting that this causes the standard Python logging 
framework to output incorrect times. The following is a reasonably 
minimal test case:


import logging
logging.basicConfig(format='%(asctime)s: %(name)s %(levelname)s: 
%(message)s',

datefmt='%Y-%m-%d %H:%M:%S %Z')
logging.getLogger().error(Foo)

Expected output (seen on 32-bit systems):

2011-06-13 17:37:33 BST: root ERROR: Foo

Observed output (seen on 64-bit system):

2011-06-13 17:37:33 GMT: root ERROR: Foo

I've also tried this on a 64-bit Fedora core 14 box and it produces the 
correct output with both the standard Python 2.7 and a locally compiled 
Python 2.6


Jon




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org