Re: [PHP-DEV] 5.3 Release Planning
Hi Mike, Am Sonntag, den 09.03.2008, 21:52 -0700 schrieb Mike Lively: [...] +1 for lsb.parent-forwarding.patch as the implemented behaviour will be expected from our users anyway. cu, Lars signature.asc Description: Dies ist ein digital signierter Nachrichtenteil
[PHP-DEV] PHP 6 Bug Summary Report
PHP 6 Bug Database summary - http://bugs.php.net Num Status Summary (59 total including feature requests) ===[*Configuration Issues] 42262 Open get_magic_quotes_gpc() should be there and return false ===[*General Issues]== 26771 Suspended register_tick_funtions crash under threaded webservers ===[Apache2 related]== 42209 Open fail on make for sapi/apache2handler/apache_config.lo 44083 Open virtual() not outputting results if zlib ouptut compression is 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 44043 Open Enforcing a method without specifying the arguments ===[Compile Failure]== 42606 Open unicode/constants.c relies on ICU draft api ===[Feature/Change Request]=== 20377 Open php_admin_value affects _only_ .htaccess 27618 Open curl_multi_info_read does not appear to work 28261 Open Lifting reserved keyword restriction for method names 29479 Suspended changing current process name 34211 Open PDO_OCI: Allow for data type TIMESTAMP(0) WITH LOCAL TIME ZONE 34252 Open Base functions extension and refactoring 34527 Open trim functions extension 34775 Open parse_url() provide better error description on failure 34882 Open Unable to access *original* posted variable name with dot in 35309 Open Database connection pooling 37081 Open Make the include-errors mention faulty permissions 37380 Open DOMDocument-createAttribute[NS] can't set value 37546 Open DOMDocumentFragment-appendXML namespace support 38622 Open Proposed new security scheme for shared hosting (safe mode substitute) 38946 Open pecl/docblock should be merged into ext/tokenizer 40013 Open php_uname() doesnt return nodename 40499 Open filter sapi does not register any highlightning filter 41019 Assigned auto update feature for FastCGI for IIS 41602 Open POSIX functions on Windows using Cygwin Library 42727 Open Zend doesn't fail with syntax error 42922 Open request for 64bit numbers in php6 43743 Open Unicode Error Mode That Throws Exceptions On Error 44290 Open Request for package access control system 44330 Open Apache with PHP 5+6 ===[Filesystem function related]== 27792 Assigned Functions fail on large files (filesize,is_file,is_dir) 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 ===[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 ===[MySQL related] 44076 Open mysql_result returns nothing with blob 44082 Open mysqlnd driver doesn't connect to remote hosts ===[ODBC related]= 39756 Assigned Crashes in fetching resultsets with LONG ASCII columns from MaxDB ===[OpenSSL related]== 25614 Suspended openssl_pkey_get_public() fails when given a private key ===[Other web server]= 26495 Suspended Using WebSite Pro 2.5 with ISAPI, cookies are not working ===[PDO related]== 35368 Suspended PDO query does not work properly with serialize 39171 Assigned pdo_mysql configure script sets empty default socket 42079 Open pdo_mysql always links to 3.x libraries (== PDO* in HEAD is out-dated) ===[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 ===[Scripting Engine problem]= 33487 Assigned
[PHP-DEV] Re: Suggestion for get_headers
Justin Martin wrote: headers generated by an HTTP request. The primary parameter to this, string $url, is provided unencoded. Due to this, any request with special characters (i.e. a space), will return 400 BAD REQUEST. My Garbage in, garbage out. It is up to you to provide it with a valid URL (spaces are not allowed in a URL). Use e.g. http_build_query() for the URL parameters. Regards, - Chris -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Patch for opcode caches
Hi phpxcache, On 08/03/2008, phpxcache [EMAIL PROTECTED] wrote: all test cases that pass without XCache now pass with XCache too. Are these tests that are already in the cvs repository? If not, it would be great to get them in. Sounds like they could be useful whether or not the patch gets applied. They might also help illustrate the patch. Regards, Robin -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP-DEV] Patch for opcode caches
Hi Marcus, -Original Message- From: Marcus Boerger [mailto:[EMAIL PROTECTED] Sent: Sunday, March 09, 2008 3:00 PM To: Dmitry Stogov Cc: Derick Rethans; internals Mailing List; Andi Gutmans; Stas Malyshev; phpxcache Subject: Re: [PHP-DEV] Patch for opcode caches Hello Dmitry, please don't apply. The patch looks rather rough and untested (see below). It was tested at least with Zend products and xcache. Also I really disagree to making the engine even more complex and adding even more different behavior ways. That way we just introduce more errors as we cannot test the engine in all its modes. It is not a good argument to hide this from APC, eAccelerator and xcache. We simply do not have the infrastructure for that. And that means we will add even more bugs. You will able to test it with make test and new versions of APC/eAccelerator/XCache ... At least I tested it in this way without problems Further more I am missgin a description what you really do here and why we need to do that. This is the description of the problem http://www.mail-archive.com/internals@lists.php.net/msg32601.html It is well known to all opcode cache weiters, but it is not possible to solve it 100% correctly without ZE modification Ok Opcode caches have issues but so far all attempts to do somethign about that have been blocked. Now this one apparently has a new option. But as far as I can tell it simply allows to change the compiler to an opcode friendly order. If that is all what it does than we should simply drop all the options and do it anyway without flags. As I remember opcode cache was planned as a part of PHP-6, probably there we will able to follow your suggestion, but for now I don't see any reason to make PHP slowdown (without caches). Thank you for patch review 1) CG(extended_info) was a boolean falg, CG(compiler_options) is a bitset one bit of which represents old CG(extended_info) 2) Changes related to ZEND_ACC_IMPLEMENT_INTERFACES fix unnecessary zend_verify_abstarct_class() calls. (For some reason it might be called twice for the same class) 3) ZEND_COMPILE_OPTION_... is to long, but I can accept this and of couse I'll add comments as you requested. 4) zend_vm_opcodes.h is autogenerated file, zend_vm_gen.php chenged the indents :) 5) I'll recheck the -e option. Probably I missied something there. Thanks. Dmitry. unnoticed. marcus Friday, March 7, 2008, 12:36:58 PM, you wrote: Index: Zend/zend.c === RCS file: /repository/ZendEngine2/zend.c,v retrieving revision 1.308.2.12.2.35.2.9 diff -u -p -d -r1.308.2.12.2.35.2.9 zend.c --- Zend/zend.c 5 Mar 2008 13:34:12 - 1.308.2.12.2.35.2.9 +++ Zend/zend.c 7 Mar 2008 11:34:14 - @@ -463,7 +463,7 @@ static void zend_set_default_compile_tim CG(asp_tags) = asp_tags_default; CG(short_tags) = short_tags_default; CG(allow_call_time_pass_reference) = ct_pass_ref_default; - CG(extended_info) = extended_info_default; + CG(compiler_options) = compiler_options_default; } /* }}} */ Why rename this variable? It still is an exetended information in the compiler globals. It's full name would be compiler_globals_extended_info' versus 'compiler_globals_compiler_options'. Index: Zend/zend_compile.c === RCS file: /repository/ZendEngine2/zend_compile.c,v retrieving revision 1.647.2.27.2.41.2.46 diff -u -p -d -r1.647.2.27.2.41.2.46 zend_compile.c --- Zend/zend_compile.c 3 Mar 2008 15:07:04 - 1.647.2.27.2.41.2.46 +++ Zend/zend_compile.c 7 Mar 2008 11:34:15 - [...] @@ -2588,7 +2577,7 @@ ZEND_API void zend_do_inheritance(zend_c if (ce-ce_flags ZEND_ACC_IMPLICIT_ABSTRACT_CLASS ce- type == ZEND_INTERNAL_CLASS) { ce-ce_flags |= ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; - } else { + } else if (!(ce-ce_flags ZEND_ACC_IMPLEMENT_INTERFACES)) + { zend_verify_abstract_class(ce TSRMLS_CC); } } @@ -2700,7 +2689,7 @@ ZEND_API zend_class_entry *do_bind_class } return NULL; } else { - if (!(ce-ce_flags ZEND_ACC_INTERFACE)) { + if (!(ce-ce_flags (ZEND_ACC_INTERFACE|ZEND_ACC_IMPLEMENT_INTERFACES))) { zend_verify_abstract_class(ce TSRMLS_CC); } return ce; This looks like a change of behavior to the untrained eye. [...] @@ -3238,54 +3235,36 @@ void zend_do_end_class_declaration(znode ce-line_end = zend_get_compiled_lineno(TSRMLS_C); - if (!(ce-ce_flags (ZEND_ACC_INTERFACE|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS)) -
[PHP-DEV] Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2(PHP_5_3) / zend_API.c zend_builtin_functions.c zend_compile.h zend_execute.c zend_execute.h zend_execute_API.c zend_globals.h zend_vm_def.h zend_vm_exe
Hi Dmitry, I finally got around to upgrading my compiler over the weekend, but I still have to fiddle with line 229 of zend_execute.h to get sane nmake output in the 5_3 branch. And I'm not alone - see http://snaps.php.net/win32/snapshot-5.3.log, now it's back up. The only place it doesn't throw a warning is in the debug build. Can you please fix it? Thanks, - Steph ps Sorry for top-posting, the alternative didn't bear thinking about. Oh. I meant MSVC6-SP5. Could you please verify the version with cl command. Dmitry. Steph Fox wrote: But not MSVC6? Why would I get a compiler warning and you not? That doesn't make a lot of sense. - Original Message - From: Dmitry Stogov [EMAIL PROTECTED] To: Steph Fox [EMAIL PROTECTED] Cc: Dmitry Stogov [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Thursday, January 24, 2008 4:18 PM Subject: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2(PHP_5_3) / zend_API.c zend_builtin_functions.c zend_compile.h zend_execute.c zend_execute.h zend_execute_API.c zend_globals.h zend_vm_def.h zend_vm_execute.h zend_vm_execute.skl zend_vm_gen.php /tests I tried MSVC5 too. no warnings. cl Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. Dmitry. Steph Fox wrote: MSVC6 - which is still used for official php.net builds + snaps because everything Apache not CGI/CLI fails otherwise. Configure line is: --with-bz2 --enable-phar --enable-zip=shared. I don't recommend trying that @ present (phar build's broken for me) but I think you'll agree it doesn't affect ZE warnings. - Steph Hi Steph, What compiler/configure option do you use? I don't have such warnings. Thanks. Dmitry. Steph Fox wrote: Hi Dmitry, This change led to an interesting make output here. The whole thing looks like this throughout: Zend\zend_execute.h(229) : warning C4018: '' : signed/unsigned mismatch sanitizing_filters.c Zend\zend_execute.h(229) : warning C4018: '' : signed/unsigned mismatch ftp.c Zend\zend_execute.h(229) : warning C4018: '' : signed/unsigned mismatch php_ftp.c Zend\zend_execute.h(229) : warning C4018: '' : signed/unsigned mismatch hash.c Zend\zend_execute.h(229) : warning C4018: '' : signed/unsigned mismatch hash_adler32.c Zend\zend_execute.h(229) : warning C4018: '' : signed/unsigned mismatch hash_crc32.c Zend\zend_execute.h(229) : warning C4018: '' : signed/unsigned mismatch hash_gost.c Zend\zend_execute.h(229) : warning C4018: '' : signed/unsigned mismatch I wasn't aware of zend_execute.h being called so many times until now, but maybe that's just because there's a warning now that wasn't there before? I can kill the warning easily enough: ZEND_VM_STACK_GROW_IF_NEEDED((int)size); but I've no idea if that breaks anything delicate. - Steph - Original Message - From: Dmitry Stogov [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, January 24, 2008 9:41 AM Subject: [ZEND-ENGINE-CVS] cvs: ZendEngine2(PHP_5_3) / zend_API.c zend_builtin_functions.c zend_compile.h zend_execute.c zend_execute.h zend_execute_API.c zend_globals.h zend_vm_def.h zend_vm_execute.h zend_vm_execute.skl zend_vm_gen.php /tests bug41209.phpt php-src NEWS dmitry Thu Jan 24 09:41:41 2008 UTC Modified files: (Branch: PHP_5_3) /php-src NEWS /ZendEngine2 zend_API.c zend_builtin_functions.c zend_compile.h zend_execute.c zend_execute.h zend_execute_API.c zend_globals.h zend_vm_def.h zend_vm_execute.h zend_vm_execute.skl zend_vm_gen.php /ZendEngine2/tests bug41209.phpt Log: Changed EG(argument_stack) implementation. -- Zend Engine CVS Mailing List (http://cvs.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Patch for opcode caches
Hi! This does not work. Does not work either. And this does also not work. The reason is that you did not update the table that allows those Which table are you referring to? -- Stanislav Malyshev, Zend Software Architect [EMAIL PROTECTED] http://www.zend.com/ (408)253-8829 MSN: [EMAIL PROTECTED] -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] 5.3 Release Planning
Hi! One thing that never really was resolved were the patches I submitted as a compromise to some of the early disagreements about late static binding. I don't think it's a good ideas as it changes the meaning of parent::. -- Stanislav Malyshev, Zend Software Architect [EMAIL PROTECTED] http://www.zend.com/ (408)253-8829 MSN: [EMAIL PROTECTED] -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DEV] Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2(PHP_5_3) / zend_API.c zend_builtin_functions.c zend_compile.h zend_execute.c zend_execute.h zend_execute_API.c zend_globals.h zend_vm_def.h zend_vm_exe
Steph Fox wrote: Hi Dmitry, I finally got around to upgrading my compiler over the weekend, but I still have to fiddle with line 229 of zend_execute.h to get sane nmake output in the 5_3 branch. And I'm not alone - see http://snaps.php.net/win32/snapshot-5.3.log, now it's back up. The only place it doesn't throw a warning is in the debug build. Can you please fix it? Thanks, - Steph ps Sorry for top-posting, the alternative didn't bear thinking about. I second the please fix it - incredibly annoying to get log files filled with warnings - and I get it on all compiles, VC6, 7, 7.1, 8 and 9 (notice it does NOT appear in 5.2 because it was introduced with the gc code, so if you compile without gc you probably won't see it) Thanks, Elizabeth Smith -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] 5.3 Release Planning
On Mon, Mar 10, 2008 at 9:49 AM, Stanislav Malyshev [EMAIL PROTECTED] wrote: Hi! One thing that never really was resolved were the patches I submitted as a compromise to some of the early disagreements about late static binding. I don't think it's a good ideas as it changes the meaning of parent::. I disagree, the meaning of parent:: is not changed at all relative to php 5.2.*. It behaves exactly the same with the parent forwarding patch. If you call parent::method() the parent version of the method is still called. It just provides complete polymorphic calls with static functions which is the whole purpose for which LSB was even proposed. Regardless of that, there are two other patches that do the same thing without altering the behaviour of parent in the current 5.3 code. Though again, I would think it very unfortunate should we not fix it properly and just allow parent:: to forward the caller. -- Stanislav Malyshev, Zend Software Architect [EMAIL PROTECTED] http://www.zend.com/ (408)253-8829 MSN: [EMAIL PROTECTED]
[PHP-DEV] Dropping ze1_compatibility_mode (PHP 5.3)
Hello! I've backported the Dmitry's patch (HEAD) for to drop zend.ze1_compatibility_mode in PHP_5_3 branch. Would be interesting remove it in 5_3? :) Here's the patch: http://felipe.ath.cx/diff/drop-ze1.diff Tests to be removed: /ZendEngine2/tests bug30332.phpt bug31828.phpt bug32080.phpt bug32852.phpt bug33243.phpt bug34712.phpt bug34767.phpt /php-src/tests/lang bug22367.phpt -- Regards, Felipe Pena. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] 5.3 Release Planning
I disagree, the meaning of parent:: is not changed at all relative to php 5.2.*. It behaves exactly the same with the parent forwarding patch. I must be misunderstanding the patch then - doesn't it change behavior of the engine so that parent:: doesn't mean parent of __CLASS__ anymore? If so, could you explain again what it does? without altering the behaviour of parent in the current 5.3 code. Though again, I would think it very unfortunate should we not fix it properly and just allow parent:: to forward the caller. parent:: is very simple thing - it means use the name of the parent class here. I do not thing changing it is a good idea. -- Stanislav Malyshev, Zend Software Architect [EMAIL PROTECTED] http://www.zend.com/ (408)253-8829 MSN: [EMAIL PROTECTED] -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] PHPUnit under the umbrella of PHP for GSoC
On Thu, Mar 6, 2008 at 5:21 PM, Lukas Kahwe Smith [EMAIL PROTECTED] wrote: 1) php internals (php-src, qa, docs etc) 2) any other php.net subproject 3) other php projects just to remember last year we had 4 projects in [3] (jaws, phpunit, doctrine, xdebug), 1 in [2] (PEAR) and 2 in [1] (docs and php-src). the year before things weren't so different. given that info I would say there is a high possibility to have a PHPUnit project accepted again this year. The key is the number of proposals. The more proposals we have to our organization, the more slots we will get... -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DEV] new version of check_parameters.php
Hello developers. I saw some days ago that there is need in rewriting of check_parameters.php to be less false-positive and so on... So i wrote new version - based on state machines _and_ regex. Base checks are the same, only reporting is improved. There is simple comparision: -- on old version my php-5.2.5 source old util gives ~180 problems (excluding optional, non optional params initialization, reporting_level is setted up to 5): # php ./scripts/dev/check_parameters.php //php5.2-200803061530 | grep -iv 'optional var not initialized' | grep -iv 'not optional var is initialized' ./old1.log # wc -l ./old1.log 181 ./old1.log new gives ~150 problems :) # php /check_code.php -v 5 //php5.2-200803061530 |grep -iv 'OPTIONAL var IS NOT' | grep -iv 'NOT OPTIONAL var IS initialized' /new1.log # wc -l /new1.log 147 /new1.log Some problems are unavoided: - external variable definition (~60) * 'php_com_variant_class_entry' - 11 reports * 'date_ce_timezone' - 2 reports * 'oci_lob_class_entry_ptr' - 26 reports * 'text**' - 7 reports * 'oci_coll_class_entry_ptr' - 10 reports * 'zend_ce_traversable' - 3 reports * others ... - too complex cases of parsing ( can be fixed by hacks but it's wrong...) (~5) , others will be solved by more correct parsing and some will be fixed in source code (i think :) ), for example: ext/iconv/iconv.c [] iconv_mime_encode : field_value: expected char** but got const char** [3] ext/mysqli/mysqli_nonapi.c [] mysqli_connect : hostname_len: expected int* but got unsigned int* [2] ext/mysqli/mysqli_nonapi.c [] mysqli_connect : username_len: expected int* but got unsigned int*[4] ext/mysqli/mysqli_nonapi.c [] mysqli_connect : passwd_len: expected int* but got unsigned int* [6] ext/mysqli/mysqli_nonapi.c [] mysqli_connect : dbname_len: expected int* but got unsigned int* [8] ext/mysqli/mysqli_nonapi.c [] mysqli_connect : socket_len: expected int* but got unsigned int* [11] ext/openssl/openssl.c [] openssl_seal : the '/' specifier cannot be applied to 'a' ext/pgsql/pgsql.c [] pg_field_table : the '!' specifier cannot be applied to 'b' ext/pgsql/pgsql.c [] pg_copy_from : the '/' specifier cannot be applied to 's' ext/pgsql/pgsql.c [] pg_meta_data : table_name_len: expected int* but got uint* [3] ext/pgsql/pgsql.c [] pg_convert : option: expected long* but got ulong* [5] ext/pgsql/pgsql.c [] pg_insert : option: expected long* but got ulong* [5] ext/pgsql/pgsql.c [] pg_update : option: expected long* but got ulong* [6] ext/pgsql/pgsql.c [] pg_delete : option: expected long* but got ulong* [5] ext/pgsql/pgsql.c [] pg_select : option: expected long* but got ulong* [5] ext/standard/streamsfuncs.c [] stream_socket_client : the '!' specifier cannot be applied to 'd' , so i believe final number will be ~70-80 ... There are also need to do: * write tests * rewrite dropping comments from code * return missed current_line function * replace other regexes by statemachines where it is possible * improve more maintainability * write docu * smth else ? So it's not last version... But please check it if you have time. You can see utility on [1] (I don't creare patch because of it is the same as downloading new version - too many changes) Also i have questions: 1. in many problem reports there are unsigned int (or uint, or ulong - long or smth else) to int assigning. Is it safe ? If yes, then i need to process this in code 2. There are really many problem reports about optional var is not initialized Is there a requrement for reporting about it ? And why ? 3. There are really many problem reports about not optional var is initialized Also in most part of these cases not optional var is inialized by null value. Why is this requrement ? And why ? 4. there is code like: // separate_zval_if_not_ref case '/': //FIXME could not understand from why it so if ( !in_array($prev_char, array('r', 'z')) ) { self::error(the '/' specifier cannot be applied to '$prev_char'); } break; Why ? In readme.parameter_parsing_api docu i can't find any related to it information. Links: [1] http://sawoy.mylivepage.com/file/?fileid=2830 -- Greetings, Alexandr Savchuk -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php