[PHP-DEV] PHP 5 Bug Summary Report
PHP 5 Bug Database summary - http://bugs.php.net/ Num Status Summary (1335 total -- which includes 820 feature requests) ===[*Directory/Filesystem functions] 46990 Assigned Passing UTF8 strings to filesystem functions produce wrong filenames ===[Apache related]=== 47503 Feedback apache start terminated ===[Apache2 related]== 32220 Assigned [PATCH] thread_resources for thread not getting freed when apache kills thread 46479 Open virtual() prints output to browser 46481 Feedback apache_lookup_uri() draws blank if Apache auth enabled ===[Arrays related]=== 46283 Open array_merge_recursive() Warning recursion detected in... 47221 Open no result from array_diff() ===[BC math related]== 44995 Open bcpowmod() using a scale function always returns 0 46564 Open bcmod( '1071', '357.5' ) returns '0' ===[Bzip2 Related] 29521 Assigned compress.bzip2 wrapper ===[Calendar related]= 40213 Suspended easter_date() returns wrong timestamp if ... 44474 Open GregorianToJD wrong return value ===[CGI related]== 43313 Open getopt() doesn't handle unknown parameters 45217 Open crash if -z and -m are used together 46305 Open Exception handler not invoked when using -r command line option 47042 Open php cgi sapi is incorrectly removing the SCRIPT_FILENAME for non apache 47412 Open PHP_MSHUTDOWN_FUNCTION not being called under FastCGI 47540 Open CLI can go into an infinite write() loop when ignore_user_abort(true) 47605 Open PHP CGI fails to ever output HTTP 200 header 47625 Open SCRIPT_NAME and PHP_SELF 47627 Open No input file specified causing crash ===[Class/Object related]= 45199 Assigned Serializing objects with private properties 46140 Open Unserializing with __wakeup that removes child causes subsequent refs to shift 46812 Open get_class_vars() does not include visible private variable looking at subclass 47405 Open error reports wrong file/line 47664 Assigned get_class returns NULL instead of FALSE. ===[COM related]== 31327 Assigned chinese char and word problem 32099 Assigned After opening ADO connection and closing it repeatedly, Apache stops service 34253 Assigned COM binary object/array issue (question marks?) 35875 Assigned IE event failure upon scheduling script 36360 Assigned PHP crashes when accessing an object that was just create by parent object 37562 Assigned Unable to lookup ParameterFieldDefinitions 37899 Assigned [PATCH] php_char_to _OLECHAR copies junk bytes 37965 Assigned Multi-dimensional array between PHP and COM 38719 Assigned COM Error during accessing function VirtualMachines 40424 Assigned Fatal error when setting the value of COM object's property array 40581 Assigned Pass Struct type to COM object from PHP 40664 Assigned String conversion functions wrong for multibyte chars 41055 Assigned DOTNET not instantiating fully-pathed assembly 41078 Assigned Its not possible to call Static dotNet Classes with dotnet 41189 Assigned Multi-dimensional array in COM function causes hang 41368 Assigned ADODB.Recordset ActiveConnection property - can't set with PHP 5.2.1+ 41388 Assigned Error in COM Object results 41577 Assigned DOTNET is successful once per server run 42413 Assigned Cannot iterate IE's event object 42551 Assigned new COM(HTMLFile) = warnings 42585 Assigned die() in event handler = PHP hangs 43275 Open get_class problem with COM objects 43432 Open Fatal error when setting the value of COM object's Attribute property 43470 Open COM API fails to correctly return [OUT] VT_PTR references 43506 Open com_get_active_object always fails 43521 Open Problem with Variant/Parameters 43838 Open variant_set with IE leads to hang 43897 Open $ie not cleared on IE quit 44256 Open Pb with COM in PHP5 44578 Open Strange Behavior of PHP using COM Object 45280 Open Reflection of instantiated COM classes causes PHP to crash. 45704 Open $exception-getCode() always return 0x80020009 even when it shouldn't 45855 Open COM-Problem with GET/SET, using same method name (but with different arg count) 46224 Open Cannot instantiate .Net object (ABCpdf 6.1 .Net) 46522 Open Problem using new com 47401 Open Can't instantiate VARIANT objects with VT_BYREF flag 47458 Open PHP run as CGI module onapache giving
[PHP-DEV] PHP 6 Bug Summary Report
PHP 6 Bug Database summary - http://bugs.php.net/ Num Status Summary (75 total -- which includes 32 feature requests) ===[*General Issues]== 26771 Suspended register_tick_funtions crash under threaded webservers ===[Apache related]=== 47061 Open User not logged under Apache ===[Apache2 related]== 44083 Open virtual() not outputting results if zlib.output_compression = On ===[Arrays related]=== 35277 Suspended incorrect recursion detection 41758 Assigned SORT_LOCALE_STRING broken for sort() in PHP6 43109 Open array_intersect() emits unexpected no of notices when 2d array is passed as arg ===[Class/Object related]= 41461 Assigned E_STRICT notice when overriding methods not defined by an Interface in hierarchy ===[COM related]== 45836 Open cannot use com 46909 Open COM object not allowing calls to methods ===[Compile Failure]== 42606 Open unicode/constants.c relies on ICU draft api 44502 Suspended Compiling ok with MySQL 5.0 ===[Date/time related] 46948 Assigned ext/date/lib/parse_tz.c:99: Memory leak: buffer ===[Filesystem function related]== 42110 Open fgetcsv doesn't handle \n correctly in multiline csv record 44034 Open FILE_IGNORE_NEW_LINES in FILE does not work as expected when lines end in \r\n 46688 Open Return values differ from 5.3 and are also inconsistent 46689 Open Downcoded notices suggest unfinished code in file system? ===[GD related]=== 34670 Assigned imageTTFText for Indian scripts (Devanagari) 34992 Assigned imageconvolution does not respect alpha ===[I18N and L10N related] 42471 Open locale_set_default returns true on invalid locales ===[mbstring related]= 44868 Open Replaces UTF-8 symbol with incorrect symbol ===[mcrypt related]=== 46834 Assigned Range of mcrypt functions fail on PHP 6.0 ===[MySQL related] 44076 Open mysql_result returns nothing with blob 45246 Open make error after ./configure --with-mysql ===[ODBC related]= 39756 Open [PATCH] Crashes in fetching resultsets with LONG ASCII columns from MaxDB ===[OpenSSL related]== 25614 Assigned openssl_pkey_get_public() fails when given a private key ===[PDO related]== 35368 Suspended PDO query does not work properly with serialize ===[Performance problem]== 42528 Open Out of char(8-bit) range value doesn't roll back, with uni-code ON. ===[Program Execution] 39992 Open proc_terminate() leaves children of child running 43784 Assigned escapeshellarg removes % from given string ===[Regexps related]== 44923 Open ereg functions are not unicode aware: provide wrapper functions in PCRE ===[Reproducible crash]=== 45107 Open setting ext_dir to ./ (and other ini settings) causes apache crash ===[Scripting Engine problem]= 42194 Open $argc/$argv[] won't work when .php extension is assigned to php.exe 47154 Open Object properties unset after setting. ===[Session related]== 44860 Open session_encode() fails for php_binary serializer ===[Strings related]== 45566 Open Strict comparision on $_SERVER values fail ===[Unicode Engine related]=== 45087 Open Illegal or truncated character in input 47155 Open PHP 6.0 decodes base64 into incorrect uft-8 string 47164 Assigned uncomfortable (binary)char() append to binary string ===[URL related]== 45602 Open urlencode/urldecode should use ASCII encoding ===[XSLT related]= 38218 Assigned php:functionString tries to access objects with their names in
[PHP-DEV] Re: [PATCH] Remove nTableSize from HashTable?
Hi Matt, I don't see a lot of reason in this patch as the benefit is near invisible and readability becomes worse. Also the patch can break third-party modules like APC and Zend extensions. Even it's not a big problem as they can be easily fixed, I'm against of changing of core components without real benefit. Thanks. Dmitry. Matt Wilmas wrote: Hi Dmitry, all, Just a quick one... ;^) Is there much, if any, advantage to removing the HashTable member nTableSize? It's just nTableMask + 1, so it can be derived easily in the couple places that need it... Figured it can't hurt to make things smaller, and it only adds a couple addition operations for resizing, basically. :-) Patches if you want the change (or tell me to commit): http://realplain.com/php/tablesize.diff http://realplain.com/php/tablesize_5_3.diff - Matt -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variation_
Hi, On Mon, 2009-03-16 at 09:52 +, Dmitry Stogov wrote: Log: Fixed bug #47664 (get_class returns NULL instead of FALSE) [...] @@ -716,7 +716,7 @@ int dup; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |o, obj) == FAILURE) { - return; + RETURN_FALSE; } Usually we return NULL in case parameter parsing fails, this is documented like this: If the parameters given to a function are not what it expects, such as passing an array where a string is expected, the return value of the function is undefined. In this case it will likely return NULL but this is just a convention, and cannot be relied upon. http://www.php.net/manual/en/functions.internal.php This also applies to many other functions which usually return false on error and are documented like that. Therefore I think returning NULL in this case is a good thing in order to bring more consistency to the language and I think this BC break is quite minor. On a sidenote: There are cases where such a change has bigger effect: In all cases where int(0)/string() are successful return values and one has to use type-safe comparison (think about strpos for instance) but in this case I see more of a cleanup. Oh and the user should, usually, check the types before passing the variable to the function ... johannes -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variati
2009/3/16 Johannes Schlüter johan...@php.net: Hi, On Mon, 2009-03-16 at 09:52 +, Dmitry Stogov wrote: Log: Fixed bug #47664 (get_class returns NULL instead of FALSE) [...] @@ -716,7 +716,7 @@ int dup; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |o, obj) == FAILURE) { - return; + RETURN_FALSE; } Usually we return NULL in case parameter parsing fails, this is documented like this: Hi Johannes, Please read the bug report. In this case I think that we should not break it only to follow this (arguable :) rule. See the documentation of get_class as well: http://de.php.net/get_class Cheers, -- Pierre http://blog.thepimp.net | http://www.libgd.org -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variat
Hi! Log: Fixed bug #47664 (get_class returns NULL instead of FALSE) [...] @@ -716,7 +716,7 @@ int dup; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |o, obj) == FAILURE) { - return; + RETURN_FALSE; } Usually we return NULL in case parameter parsing fails, this is documented like this: If all other functions return NULL with wrong args, why should get_class return false? Is there any value in it besides the fact that docs say so? -- Stanislav Malyshev, Zend Software Architect s...@zend.com http://www.zend.com/ (408)253-8829 MSN: s...@zend.com -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variati
2009/3/16 Stanislav Malyshev s...@zend.com: Hi! Log: Fixed bug #47664 (get_class returns NULL instead of FALSE) [...] @@ -716,7 +716,7 @@ int dup; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |o, obj) == FAILURE) { - return; + RETURN_FALSE; } Usually we return NULL in case parameter parsing fails, this is documented like this: If all other functions return NULL with wrong args, why should get_class return false? Is there any value in it besides the fact that docs say so? The main reason is the documentation. It introduces a useless BC break which was reported in #47664. -- Pierre http://blog.thepimp.net | http://www.libgd.org -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variati
Hi! If all other functions return NULL with wrong args, why should get_class return false? Is there any value in it besides the fact that docs say so? The main reason is the documentation. It introduces a useless BC break which was reported in #47664. Well, sometimes a bug is a bug and we can't keep BC just for bugs, unless it is useful for something. -- Stanislav Malyshev, Zend Software Architect s...@zend.com http://www.zend.com/ (408)253-8829 MSN: s...@zend.com -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variati
On Mon, Mar 16, 2009 at 6:43 PM, Stanislav Malyshev s...@zend.com wrote: Hi! If all other functions return NULL with wrong args, why should get_class return false? Is there any value in it besides the fact that docs say so? The main reason is the documentation. It introduces a useless BC break which was reported in #47664. Well, sometimes a bug is a bug and we can't keep BC just for bugs, unless it is useful for something. The new parsing API and the strictness of this return NULL rule is new and arguable. As it is not that important (work 'round is easy), I tend to prefer to minimize the wtf instead of being too strict. -- Pierre http://blog.thepimp.net | http://www.libgd.org -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variati
Hi! The new parsing API and the strictness of this return NULL rule is new and arguable. As it is not that important (work 'round is easy), I tend to prefer to minimize the wtf instead of being too strict. Minimizing the WTF may also mean standardizing exception handling - i.e. knowing what functions actually return when something's wrong without having to consult the manual each time. -- Stanislav Malyshev, Zend Software Architect s...@zend.com http://www.zend.com/ (408)253-8829 MSN: s...@zend.com -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variati
On Mon, Mar 16, 2009 at 6:49 PM, Stanislav Malyshev s...@zend.com wrote: Hi! The new parsing API and the strictness of this return NULL rule is new and arguable. As it is not that important (work 'round is easy), I tend to prefer to minimize the wtf instead of being too strict. Minimizing the WTF may also mean standardizing exception handling - i.e. knowing what functions actually return when something's wrong without having to consult the manual each time. First it is not an exception. Secondly, as I said earlier already, this rule is arguable, even more in this particular case. Return NULL when an argument is missing could be fine but to return NULL when an argument cannot be processed is not necessary a good idea. For example: ?php var_dump(is_int($b); ?, do we want NULL here? Cheers, -- Pierre http://blog.thepimp.net | http://www.libgd.org -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variati
Hi! Why do functions return NULL? (I know the technical answer, obviously, I'm interested in the design decision). If FALSE is the error condition, whats the point in a separate NULL error condition? Because false is not an error condition. It's a legitimate value, which can be normal answer for many functions. -- Stanislav Malyshev, Zend Software Architect s...@zend.com http://www.zend.com/ (408)253-8829 MSN: s...@zend.com -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variati
On Mon, Mar 16, 2009 at 6:46 PM, Stanislav Malyshev s...@zend.com wrote: Hi! Why do functions return NULL? (I know the technical answer, obviously, I'm interested in the design decision). If FALSE is the error condition, whats the point in a separate NULL error condition? Because false is not an error condition. It's a legitimate value, which can be normal answer for many functions. Is this not the case for NULL? Thanks, Paul -- Paul Biggar paul.big...@gmail.com -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: cvs: ZendEngine2 / zend_builtin_functions.c /tests 009.phpt php-src/ext/reflection/tests 027.phpt php-src/ext/standard/tests/class_object get_class_error_001.phpt get_class_variati
Hi! Is this not the case for NULL? Null means no value, which is relatively rarely legitimate return of the function (most of the functions legitimately returning null AFAIK are value-manipulating functions i.e. they can return any type of value). -- Stanislav Malyshev, Zend Software Architect s...@zend.com http://www.zend.com/ (408)253-8829 MSN: s...@zend.com -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php