Bug #61424 [Opn-Csd]: 8 dll error messages during start of win php
Edit report at https://bugs.php.net/bug.php?id=61424edit=1 ID: 61424 Updated by: paj...@php.net Reported by:jmichae3 at yahoo dot com Summary:8 dll error messages during start of win php -Status: Open +Status: Closed Type: Bug Package:Dynamic loading Operating System: XP Pro SP3 32-bit PHP Version:5.4.0 -Assigned To: +Assigned To:pajoye Block user comment: N Private report: N New Comment: About sqlite, there is no such module but php_sqlite3.dll. I have now removed it from the released php.ini. For the other extensions, you have to install the respective dependencies. Firebird client, oracle client, etc. Previous Comments: [2012-03-17 08:52:15] paj...@php.net Automatic comment from SVN on behalf of pajoye Revision: http://svn.php.net/viewvc/?view=revisionamp;revision=324317 Log: - Fix bug #61424, ext/sqlite is not bundled anymore, remove it from php.ini [2012-03-17 04:46:40] jmichae3 at yahoo dot com several of the extension entries in the developer ini point to dll's that are not there. making a list of the real ones would be as easy as doing dir/b ext copy and paste into notepad++(at the cmd shell do alt-space ek and then mark out the section you want to copy with the mouse then hit Enter), and alt-drag the cursor down the left of the list to make a long cursor and type ;extension= and you have ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_enchant.dll ;extension=php_exif.dll ;extension=php_fileinfo.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_intl.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_oci8.dll ;extension=php_oci8_11g.dll ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_soap.dll ;extension=php_sockets.dll ;extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll the list you SHOULD have. easy. [2012-03-17 04:30:39] jmicahe3 at yahoo dot com I didn't add extension=php_interbase.dll either, and it also gives an error message. PLEASE TEST your releases! [2012-03-17 04:20:26] jmichae3 at yahoo dot com I am using developer ini with all error messages turned on, and the extensions I have enabled are everything in the ext directory except snmp. I just added SNMP and I got this dialog 19 times: Windows - No Disk: Exception Processing Message c013 Parameters 75b6bf7c 4 75b6bf7c 75b6bf7c I also get the following errors from php (this includes the stuff with E_ALL turned on): Fri 03/16/2012 20:54:37.67|C:\Documents and Settings\Jim Michaels|php PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php-5.4.0/ext/php_oci8.dll' - The specified module could not be found. in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'c:/php-5.4.0/ext/php_oci8.dll' - The specified module could not be found. in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php-5.4.0/ext/php_oci8_11g.dll' - The specified module could not be fo und. in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'c:/php-5.4.0/ext/php_oci8_11g.dll' - The specified module could not be found. in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php-5.4.0/ext/php_pdo_firebird.dll' - The specified module could not b e found. in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'c:/php-5.4.0/ext/php_pdo_firebird.dll' - The specified module could not be fou nd. in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php-5.4.0/ext/php_sqlite.dll' - The specified module could not be foun d. in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'c:/php-5.4.0/ext/php_sqlite.dll' - The specified module could not be found. in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php-5.4.0/ext/php_zip.dll' - The specified module could not be found. in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'c:/php-5.4.0/ext/php_zip.dll' - The specified module could not be found. in Unknown on line 0 No log handling enabled - turning on stderr logging Cannot find module
Bug #47096 [Com]: move_uploaded_file not OS encoding aware
Edit report at https://bugs.php.net/bug.php?id=47096edit=1 ID: 47096 Comment by: salsi at icosaedro dot it Reported by:nuabaranda at web dot de Summary:move_uploaded_file not OS encoding aware Status: Open Type: Bug Package:Filesystem function related Operating System: win32 only - Windows XP PHP Version:5.2.8 Block user comment: N Private report: N New Comment: As PHP operates under Windows as a non-Unicode aware program, file names are bare array of bytes represented under PHP as string; these strings are converted back and forth to Unicode by Windows according to the currently selected code page table (see Control Panel, Regional and Language Options, Administrative tab panel, Language for non-Unicode programs). Unfortunately, UTF-8 encoding is not available there, so whatever locale you choose, some Unicode file names may still remain unaccessible to PHP. For example, if your system locale is any western european encoding (code page 1252), there is no way to refer to a file whose name is æ¥æ¬èª; only on Windows system with japanese locale set (code page 932) you can access such a name, provided that the string that represents that name be properly encoded as requested by the code page 932, that is \x93\xfa\x96\x7b\x8c\xea. So, if you have a generic name of a file (along with its path) as a Unicode string $u (for example UTF-8 encoded) and you want to try to save it with that name under Windows, you must first check the current locale calling setlocale(LC_CTYPE, 0) to retrieve the current code page, then you must convert $u to an array of bytes according to the code page; if one or more code points have no counterpart in the current code page, the file cannot be saved with that name from PHP. Dot. To complicate the implementation of such an algorithm, neither mbstring nor iconv are aware of all the Windows code pages, so you must write these conversion routines by yourself. This is just what I have done experimentally under PHP, and it appears to work nicely (http://www.icosaedro.it/phplint/libraries.cgi?lib=stdlib/it/icosaedro/io/FileName.html). Hopefully some day something similar will be available in PHP core lib., or some other abstraction layer of classes may provide full access to the Unicode realm. References: http://en.wikipedia.org/wiki/Windows_code_page http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/ Previous Comments: [2011-09-23 03:02:09] xd-yang at qq dot com Since basename() is locale aware, why not move_uploaded_file()? A common remedial measure is to use iconv() to explicitly convert the destination filename encoding usually from utf-8 to ansi(like gb2312). But this becomes complicated and unreachable in a multilingual CMS, like wordpress. Can this issue be solved in the future? [2009-02-26 09:46:51] mm107137 at spamcorptastic dot com I have the same problem under debian host (ovh hoster). Filename with french accents passed to move_upload_file are destroyed. There's no problems if filename is not passed as utf8. Very annoying [2009-02-06 20:21:49] mindfreakthemon at gmail dot com And on Windows 7 and Vista under Apache 2.2 that bug exists too. [2009-01-14 09:26:41] nuabaranda at web dot de Description: Files with filenames containing non-ascii characters like german umlauts get destroyed when saved with move_uploaded_file(). The UTF-8 special characters get translated byte-wise into CP1251 characters when determining the Windows filenames thus destroying the original special characters. -- Edit this bug report at https://bugs.php.net/bug.php?id=47096edit=1
Bug #61415 [Opn]: zend_alter_ini_entry failuers
Edit report at https://bugs.php.net/bug.php?id=61415edit=1 ID: 61415 Updated by: cataphr...@php.net Reported by:info at simonecaruso dot com Summary:zend_alter_ini_entry failuers Status: Open Type: Bug Package:Safe Mode/open_basedir Operating System: Linux PHP Version:5.3.10 Block user comment: N Private report: N New Comment: The fact it worked in 5.2 doesn't imply your code had no bug. It may mean that a bug has always existed, but by luck it wasn't triggered by 5.2. Of course, if you could identify the specific commit that triggers the problem, it could shed light on this problem. If you can automate the tests, you can easily run something a bisection procedure to find such commit. Previous Comments: [2012-03-16 23:27:31] info at simonecaruso dot com I don't think it's a my module problem because with 5.2 i dont have this problem (i did the sames tests for 5.3, same apache, same config), i moved to 5.3 from less than one month. I don't think it's a concurrency related issue too, the failure are too much rare i think. I did a diff between 5.2 and 5.3 and saw there are major changes to fopen_wrapper.c, and i have this problem only for open_basedir, that's why i opened the bug. I'll try with other stages in the hope this can help. [2012-03-16 21:41:22] cataphr...@php.net I assume you're using the prefork SAPI, as the stack trace shows you're not using ZTS. In that case, I find strange your claim this is a concurrency issue. More likely, the problem would be in your module and I don't know anything about Apache modules lifecycle to even guess where the problem could be. You could try passing another value for stage as the ini update handler for open_basedir can never fail for stages PHP_INI_STAGE_STARTUP, PHP_INI_STAGE_SHUTDOWN, PHP_INI_STAGE_ACTIVATE,PHP_INI_STAGE_DEACTIVATE, but this would most likely just mask the underlying problem. You can also try running Apache under valgrind with --trace-children and see if you get something. [2012-03-16 18:07:23] info at simonecaruso dot com It breaks always at zend_ini.c:300 The data i pass is always correct, but sometimes i get a FAILURE. Breakpoint 3, zend_alter_ini_entry_ex (name=0x7f2de6128199 open_basedir, name_length=13, new_value=0x7f2debd02e48 /tmp/:/usr/share/php/:.:/home/www- data/musitalia.com/html/, new_value_length=58, modify_type=4, stage=16, force_change=0) at /root/php-5.3.10/Zend/zend_ini.c:300 300 return FAILURE; (gdb) bt full #0 zend_alter_ini_entry_ex (name=0x7f2de6128199 open_basedir, name_length=13, new_value=0x7f2debd02e48 /tmp/:/usr/share/php/:.:/home/www- data/musitalia.com/html/, new_value_length=58, modify_type=4, stage=16, force_change=0) at /root/php-5.3.10/Zend/zend_ini.c:300 ini_entry = 0x7f2debb35d30 duplicate = 0x7f2debaf3140 'Z' repeats 59 times, N\230D\300ZQ\twe- \177 modifiable = 7 '\a' modified = 1 '\001' #1 0x7f2de77f00d0 in zend_alter_ini_entry (name=0x7f2de6128199 open_basedir, name_length=13, new_value=0x7f2debd02e48 /tmp/:/usr/share/php/:.:/home/www- data/musitalia.com/html/, new_value_length=58, modify_type=4, stage=16) at /root/php-5.3.10/Zend/zend_ini.c:249 No locals. #2 0x7f2de6126c1d in mod_vhost_ldap_translate_name (r=0x7f2debd01570) at mod_vhost_ldap_ng.c:862 reqc = 0x7f2deb4b0510 conf = 0x7f2deba31038 core = 0x7f2deb9695e8 ld = 0x0 realfile = 0x0 alias = 0x0 i = 0 ret = 0 str = {0x0, 0x0, 0x0} ldapmsg = 0x0 vhostentry = 0x0 openbasedir = 0x7f2debd02e48 /tmp/:/usr/share/php/:.:/home/www- data/musitalia.com/html/ include = 0x7f2debd02e08 /tmp/:/usr/share/php/:.:/home/www- data/musitalia.com/html/ [2012-03-16 15:59:22] info at simonecaruso dot com It will take some time for me to debug into php code, even because the problem happen only on the ~5% of requests, my users notice the problem only with my server are under load. For now, I can add this: we have this problem since migrated from 5.2.6 to 5.3.10. [2012-03-16 14:25:35] cataphr...@php.net zend_alter_ini_entry_ex has several failure paths. It would be helpful to know which one is being triggered. Can you investigate this? You can try first by starting apache under gdb with the -X option. The remainder of the comments for this report are too long. To view the rest of the comments,
Bug #61418 [Opn]: Segmentation foult using FiltesystemIterator RegexIterator
Edit report at https://bugs.php.net/bug.php?id=61418edit=1 ID: 61418 User updated by:melkorm at gmail dot com Reported by:melkorm at gmail dot com Summary:Segmentation foult using FiltesystemIterator RegexIterator Status: Open Type: Bug Package:SPL related Operating System: Linux Mint 12 PHP Version:5.3.10 Block user comment: N Private report: N New Comment: There is a typo Previous Comments: [2012-03-16 17:52:20] melkorm at gmail dot com It also fails at : melkorm@bibiop ~ $ php -v PHP 5.3.6-13ubuntu3.6 with Suhosin-Patch (cli) (built: Feb 11 2012 03:26:01) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans [2012-03-16 17:47:22] melkorm at gmail dot com Description: melkorm@bibiop ~/htdocs/test.dev $ php -v PHP 5.3.10-1~dotdeb.1 with Suhosin-Patch (cli) (built: Feb 2 2012 23:28:08) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans with Suhosin v0.9.33, Copyright (c) 2007-2012, by SektionEins GmbH Test script: --- $fileIterator = new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME); $regexpIterator = new RegexIterator($fileIterator, $regexpIterator = new RegexIterator($fileIterator, '#.*#', '#.*#', \RegexIterator::MATCH, \RegexIterator::MATCH, \RegexIterator::USE_KEY \RegexIterator::USE_KEY ); ); foreach ($fileIterator as $key = $file) foreach ($fileIterator as $key = $file) { } Actual result: -- Segemntation foult strace output can be found here : http://pastebin.com/CFV6qepj -- Edit this bug report at https://bugs.php.net/bug.php?id=61418edit=1
Bug #61418 [Opn]: Segmentation foult using FiltesystemIterator RegexIterator
Edit report at https://bugs.php.net/bug.php?id=61418edit=1 ID: 61418 User updated by:melkorm at gmail dot com Reported by:melkorm at gmail dot com Summary:Segmentation foult using FiltesystemIterator RegexIterator Status: Open Type: Bug Package:SPL related Operating System: Linux Mint 12 PHP Version:5.3.10 Block user comment: N Private report: N New Comment: Sorry for this, but I am not used to this bugtrucker yet, anywho proper script should look like that: $fileIterator = new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME); $regexpIterator = new RegexIterator($fileIterator, '#.*#', \RegexIterator::MATCH, \RegexIterator::USE_KEY ); foreach ($fileIterator as $key = $file) { } No idea why this `doubled`. Previous Comments: [2012-03-17 18:50:14] melkorm at gmail dot com There is a typo [2012-03-16 17:52:20] melkorm at gmail dot com It also fails at : melkorm@bibiop ~ $ php -v PHP 5.3.6-13ubuntu3.6 with Suhosin-Patch (cli) (built: Feb 11 2012 03:26:01) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans [2012-03-16 17:47:22] melkorm at gmail dot com Description: melkorm@bibiop ~/htdocs/test.dev $ php -v PHP 5.3.10-1~dotdeb.1 with Suhosin-Patch (cli) (built: Feb 2 2012 23:28:08) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans with Suhosin v0.9.33, Copyright (c) 2007-2012, by SektionEins GmbH Test script: --- $fileIterator = new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME); $regexpIterator = new RegexIterator($fileIterator, $regexpIterator = new RegexIterator($fileIterator, '#.*#', '#.*#', \RegexIterator::MATCH, \RegexIterator::MATCH, \RegexIterator::USE_KEY \RegexIterator::USE_KEY ); ); foreach ($fileIterator as $key = $file) foreach ($fileIterator as $key = $file) { } Actual result: -- Segemntation foult strace output can be found here : http://pastebin.com/CFV6qepj -- Edit this bug report at https://bugs.php.net/bug.php?id=61418edit=1
Bug #61371 [Ver-Csd]: stream_context_create() causes memory leaks on use streams_socket_create
Edit report at https://bugs.php.net/bug.php?id=61371edit=1 ID: 61371 Updated by: cataphr...@php.net Reported by:raiderz at gmail dot com Summary:stream_context_create() causes memory leaks on use streams_socket_create -Status: Verified +Status: Closed Type: Bug Package:Streams related Operating System: Linux PHP Version:Irrelevant Assigned To:cataphract Block user comment: N Private report: N New Comment: 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/. For Windows: http://windows.php.net/snapshots/ Thank you for the report, and for helping us make PHP better. Previous Comments: [2012-03-17 19:37:19] cataphr...@php.net Automatic comment from SVN on behalf of cataphract Revision: http://svn.php.net/viewvc/?view=revisionamp;revision=324324 Log: - Fixed bug #61371 (resource leak). This bug had two parts, a long standing leak already fixed in trunk/5.3 and now merged onto 5.4 and a leak introduced in fixing bug #61115. This better fix for #61115 fixes the leak (the inhibition for deleting the context was too broad) and so prevents segfaults in new circumstances (where the inhibition was not broad enough). [2012-03-14 08:28:37] cataphr...@php.net This was fixed in trunk in r323478. If you unset also $errno and $errstr you have constant memory. PHP 5.4 still has the resource leak fixed in that revision because the fix has not been merged yet. PHP 5.3 seems to (also?) have a different and more serious leak. trunk: memory: 223kb memory: 223kb memory: 223kb memory: 223kb memory: 223kb 5.4: memory: 223kb memory: 290kb memory: 356kb memory: 424kb memory: 489kb 5.3: memory: 629kb memory: 711kb memory: 792kb memory: 875kb memory: 955kb I'll investigate later the problem in 5.3. [2012-03-13 15:34:33] raiderz at gmail dot com I update to 5.3.11-dev from snaps, bug already have in this version. New result: memory: 317kb memory: 338kb memory: 359kb memory: 380kb memory: 400kb [2012-03-13 14:32:22] cataphr...@php.net Please try using this snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows: http://windows.php.net/snapshots/ [2012-03-13 10:29:25] raiderz at gmail dot com Description: stream_context_create() causes memory leaks on use width stream_socket_client Version PHP 5.3.6 Test script: --- for($test=1;$test=5;$test++) { echo 'memory: '.round(memory_get_usage()/1024, 0).kb\n; for($i=0;$i=100;$i++) { $context = stream_context_create(array()); $stream = stream_socket_client('udp://0.0.0.0:80', $errno, $errstr, 10, STREAM_CLIENT_CONNECT, $context); fclose($stream); unset($context); unset($stream); } } Expected result: memory: 615kb memory: 674kb memory: 732kb memory: 790kb memory: 847kb -- Edit this bug report at https://bugs.php.net/bug.php?id=61371edit=1
Bug #61418 [Opn-Ver]: Segmentation foult using FiltesystemIterator RegexIterator
Edit report at https://bugs.php.net/bug.php?id=61418edit=1 ID: 61418 Updated by: cataphr...@php.net Reported by:melkorm at gmail dot com Summary:Segmentation foult using FiltesystemIterator RegexIterator -Status: Open +Status: Verified Type: Bug Package:SPL related Operating System: Linux Mint 12 PHP Version:5.3.10 Block user comment: N Private report: N New Comment: Verified. The zend_object_iterator_funcs.dtor function (implementation: spl_filesystem_tree_it_dtor) seems faulty. In the reproduce script here, the zend_object_iterator is requested twice: first by the RegexIterator constructor, and then by foreach. The zend_object_iterator returned is the same in both cases -- that owned by the FilesystemIterator and its destructor gets called twice. But obviously the destructor is not prepared to be called twice as it unconditionally calls zval_ptr_dtor (for some reason, twice) and zeroes the reference to the owning object. Previous Comments: [2012-03-17 18:52:31] melkorm at gmail dot com Sorry for this, but I am not used to this bugtrucker yet, anywho proper script should look like that: $fileIterator = new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME); $regexpIterator = new RegexIterator($fileIterator, '#.*#', \RegexIterator::MATCH, \RegexIterator::USE_KEY ); foreach ($fileIterator as $key = $file) { } No idea why this `doubled`. [2012-03-17 18:50:14] melkorm at gmail dot com There is a typo [2012-03-16 17:52:20] melkorm at gmail dot com It also fails at : melkorm@bibiop ~ $ php -v PHP 5.3.6-13ubuntu3.6 with Suhosin-Patch (cli) (built: Feb 11 2012 03:26:01) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans [2012-03-16 17:47:22] melkorm at gmail dot com Description: melkorm@bibiop ~/htdocs/test.dev $ php -v PHP 5.3.10-1~dotdeb.1 with Suhosin-Patch (cli) (built: Feb 2 2012 23:28:08) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans with Suhosin v0.9.33, Copyright (c) 2007-2012, by SektionEins GmbH Test script: --- $fileIterator = new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME); $regexpIterator = new RegexIterator($fileIterator, $regexpIterator = new RegexIterator($fileIterator, '#.*#', '#.*#', \RegexIterator::MATCH, \RegexIterator::MATCH, \RegexIterator::USE_KEY \RegexIterator::USE_KEY ); ); foreach ($fileIterator as $key = $file) foreach ($fileIterator as $key = $file) { } Actual result: -- Segemntation foult strace output can be found here : http://pastebin.com/CFV6qepj -- Edit this bug report at https://bugs.php.net/bug.php?id=61418edit=1