#48752 [Opn->Csd]: SIGSEGV during date parsing with new timelib

From: Date: Sun, 06 Dec 2009 22:31:41 +0000
Subject: #48752 [Opn->Csd]: SIGSEGV during date parsing with new timelib
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-145461@lists.php.net to get a copy of this message
ID: 48752 Updated by: derick@php.net Reported By: thetaphi@php.net -Status: Open +Status: Closed Bug Type: Date/time related Operating System: * (ZTS build only!) PHP Version: 5.*, 6 Assigned To: pajoye New Comment: This has been rolled back for 5.2 only, because it doesn't have last_errors in the first place. Previous Comments: ------------------------------------------------------------------------ [2009-12-06 18:59:15] srinatar@php.net the fix for this issue has been rolled back. http://svn.php.net/viewvc/?view=revision&revision=289991 [sriramn@sriramn]'PHP_5_2'>svn diff -r 289982:289991 ext/date/php_date.c Index: ext/date/php_date.c =================================================================== --- ext/date/php_date.c (revision 289982) +++ ext/date/php_date.c (revision 289991) @@ -371,7 +371,6 @@ } DATEG(timezone) = NULL; DATEG(tzcache) = NULL; - DATEG(last_errors) = NULL; return SUCCESS; } @@ -389,10 +388,6 @@ FREE_HASHTABLE(DATEG(tzcache)); DATEG(tzcache) = NULL; } - if (DATEG(last_errors)) { - timelib_error_container_dtor(DATEG(last_errors)); - DATEG(last_errors) = NULL; - } return SUCCESS; } accordingly, this bug has been moved to open status. The corresponding NEWS entry for this bug will also need to be rolled back as well. ------------------------------------------------------------------------ [2009-10-27 10:45:19] pajoye@php.net This bug has been fixed in SVN. 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. ------------------------------------------------------------------------ [2009-10-27 10:44:12] svn@php.net Automatic comment from SVN on behalf of pajoye Revision: http://svn.php.net/viewvc/?view=revision&revision=289982 Log: - #48752 ------------------------------------------------------------------------ [2009-10-27 10:41:45] svn@php.net Automatic comment from SVN on behalf of pajoye Revision: http://svn.php.net/viewvc/?view=revision&revision=289981 Log: - #48752, crash during date parsing with invalid date ------------------------------------------------------------------------ [2009-10-24 23:36:59] pajoye@php.net here is a patch: http://pastie.org/668460 It makes the last_errors request specific as well as it should be. However the problem is not completely solved as we need a lock before the 1st operation on last_errors until we are done. It is not sufficent to lock it before calling a function or setting it a value. Other threads may affect it during two calls. I consider this last_errors as a design mistake, but if you like to keep it this way then we will need this global lock. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/48752 -- Edit this bug report at http://bugs.php.net/?id=48752&edit=1

« previous php.bugs (#145461) next »