php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #44219 Fix for Bug #44209 Causes Test Regression
Submitted: 2008-02-22 18:28 UTC Modified: 2008-02-25 22:38 UTC
From: kirkland at ubuntu dot com Assigned:
Status: Closed Package: Date/time related
PHP Version: 5.2.5 OS: Linux 64 bit
Private report: No CVE-ID: None
 [2008-02-22 18:28 UTC] kirkland at ubuntu dot com
Description:
------------
I just rolled the patch associated with the fix from Bug #44209:
http://marc.info/?l=php-cvs&m=120367371119481&w=2

However, I see test regressions on 64-bit Linux.  See the differences here:
http://pastebin.com/pastebin.php?diff=d365cb1ad

Most of the failed tests are in the date/time realm, so I'd think there might be some concern.  Thoughts?


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-02-22 18:38 UTC] derick@php.net
Not really... it's just that results are sometimes different on 32 vs 64 bit. 
 [2008-02-22 19:12 UTC] kirkland at ubuntu dot com
The diff shown in that pastebin is from two subsequent runs, both on 64-bit Linux.

The only difference between the two is:

+++ php-src/ext/date/lib/timelib.h	Fri Feb 22 09:48:18 2008
...
+#if HAVE_LIMITS_H
+#include <limits.h>
+#endif
...
 [2008-02-22 20:21 UTC] kirkland at ubuntu dot com
In other words, adding that 3-line patch creates the following test regressions.  The following tests now fail on 64-bit Linux:

+ Bug #41523 (strtotime('0000-00-00 00:00:00') is parsed as 1999-11-30) [ext/date/tests/bug41523.phpt]

+ mktime() [3] [ext/date/tests/mktime-3.phpt]

+ strtotime() and mysql timestamps [ext/date/tests/strtotime-mysql.phpt]

+ strtotime() function [ext/date/tests/strtotime3.phpt]

+ wddx deserialization test [ext/wddx/tests/001.phpt]
 [2008-02-22 20:31 UTC] kirkland at ubuntu dot com
Test script:
# cat /tmp/foo.php 
<?php
var_dump(strtotime('0000-00-00 00:00:00'));
?>

Built without patch:
# php /tmp/foo.php 
bool(false)


Built with patch:
# ./cli-build/sapi/cli/php /tmp/foo.php 
int(-62169962400)
 [2008-02-25 11:35 UTC] bisho at onirica dot com
It seens a test-problem, not a regression. The new output of int(-62169962400) is correct.
 [2008-02-25 22:38 UTC] derick@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 00:01:29 2024 UTC