#48058 [Asn]: DateTimeZone::getTransitions output different on 64 bit
ID: 48058 User updated by: wharmby at uk dot ibm dot com Reported By: wharmby at uk dot ibm dot com Status: Assigned Bug Type: Date/time related Operating System: Linux 64 bit PHP Version: 5.3CVS-2009-04-23 (snap) Assigned To: derick New Comment: Hi Derick Thanks for atking a look at this. I can see why we end up with the bogus looking entry given that timestamp_begin is initialized to LONG_MIN its just that the output is not what I expected to see and I believe it will confuse other users who are perhaps not aware of how the results array is being built. Also given that the remaining entries in the array are the same and we don't produce more transitions (going further into past) on 64 bit would it not make more sense to initialize timestamp_begin to -2147483648 regardless of platform rather than using LON_MIN ? I realize this is a minor issue and there are probably more important issues that need your attention but I do believe the current output will confuse someone some day Regards Andy Previous Comments: [2009-04-23 12:35:30] der...@php.net It looks bogus, but it is (sortof) correct. If you go -9223372036854775808 seconds back from 1970-01-01 you end up at a date 219 billion years in the past. Not sure why it formats wrong though. [2009-04-23 08:57:58] wharmby at uk dot ibm dot com Description: First entry in array returned by DateTimeZone method getTransitions (and function timezone_transitions_get()looks bogus on 64 bit systems. I expected same result when running this command on 32 and 64 bit systems. Problem affects current levels of PHP 5.3 and 6.0 (snapshot timestamp == Wed 22-04-2009 6:30:00 ) only. Looks like problem caused by use of constant LONG_MIN at around line 3218 in current src of ext/dates/date.c introduced by the following change: = Revision 1.43.2.45.2.51.2.28 - (view) (download) (as text) (annotate) - [select for diffs] Thu Mar 20 19:43:36 2008 UTC (13 months ago) by derick Branch: PHP_5_3 Changes since 1.43.2.45.2.51.2.27: +57 -24 lines Diff to previous 1.43.2.45.2.51.2.27 , to branch point 1.43.2.45.2.51 - MFH: Fix the DateTimeZone::getTransitions() algorithm. == Reproduce code: --- ?php date_default_timezone_set(Europe/London); $tz = new DateTimeZone(Europe/London); $tran = $tz-getTransitions(); var_dump( $tran ); ? Expected result: (as produced by same code running on Linux 32 bits system) array(243) { [0]= array(5) { [ts]= int(-2147483648) [time]= string(24) 1901-12-13T20:45:52+ [offset]= int(3600) [isdst]= bool(true) [abbr]= string(3) BST } Actual result: -- array(243) { [0]= array(5) { [ts]= int(-9223372036854775808) - == LONG_MIN [time]= string(30) -219246529-01-27T08:29:52+ - Bogus looking entry [offset]= int(3600) [isdst]= bool(true) [abbr]= string(3) BST } -- Edit this bug report at http://bugs.php.net/?id=48058edit=1
#48041 [Fbk-Opn]: no headers sent if output is blank
ID: 48041 User updated by: mortals at seznam dot cz Reported By: mortals at seznam dot cz -Status: Feedback +Status: Open Bug Type: *General Issues Operating System: linux PHP Version: 5.2.9 New Comment: ok, little more info for reproduce: I am using distribution gentoo and fastcgi (fcgid), but I have try minimal manually instalation without extensions: ./configure --prefix=/usr/local/php5latest --host=x86_64-pc-linux-gnu --enable-cgi --enable-fastcgi --enable-force-cgi-redirect --with-config-file-path=/etc/php/cgi-php5 --without-pear /usr/local/php5latest/bin/php-cgi -v PHP 5.2.10-dev (cgi-fcgi) (built: Apr 24 2009 10:06:17) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies in virtualhost is directory /home... FCGIWrapper /usr/local/php5latest/bin/php-cgi .php /directory and still doesnt work. I have added `echo $test;` to example reproduce code and headers are sent, without echo no headers. I have make strace with output: http://www.korous.net/strace-echo.txt and without output: http://www.korous.net/strace-noecho.txt Previous Comments: [2009-04-23 16:13:21] j...@php.net Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ I can not reproduce this on 3 servers (all being 64bit..) [2009-04-22 09:52:55] mortals at seznam dot cz Description: no headers sent if output is blank on 64bit system (for example redirection dont work). 5.2.9 on 32bit servers is ok. Reproduce code: --- ? $test = 0; ? or ? header('HTTP/1.1 301 Moved Permanently'); header('Location: http://www.example.com'); ? Expected result: telnet example.com 80 GET /test.php HTTP/1.1 Host: example.com HTTP/1.1 200 OK Date: Wed, 22 Apr 2009 09:23:11 GMT Server: Apache Cache-Control: max-age=7200 Expires: Wed, 22 Apr 2009 11:23:11 GMT Content-Length: 0 Content-Type: text/html Connection closed by foreign host. Actual result: -- telnet example.com 80 GET /test.php HTTP/1.1 Host: example.com Connection closed by foreign host. -- Edit this bug report at http://bugs.php.net/?id=48041edit=1
#44522 [Com]: http upload max_limits and file above 2GB
ID: 44522 Comment by: robin at willowsv dot com Reported By: mail2lv at yahoo dot com Status: Open Bug Type: Feature/Change Request Operating System: All PHP Version: 5.2.5 New Comment: It will accept 2047M Anything bigger breaks post data completely. You can only use GET variables. Previous Comments: [2008-03-24 20:21:47] mail2lv at yahoo dot com Description: can anyone change the internal variables from int to long, i guess thats the reason why uploading files bigger than 2GB via http doesnt work. (yes, i tried post_max_size and upload_max_filesize bigger than 2048M). -- Edit this bug report at http://bugs.php.net/?id=44522edit=1
#48066 [NEW]: Installer fails to install and incorrect cleanup.
From: david dot parrott at gmail dot com Operating system: Windows 7 Beta PHP version: 5.2.9 PHP Bug Type: Windows Installer Bug description: Installer fails to install and incorrect cleanup. Description: Atttempting to run the PHP 5.2.9-2 msi installer on Windows 7 Beta, installing onto Apache 2.2.11. The installer fails with A script required for this install to complete could not be run. It then reports the install failed and that the system has not been modified. This is also incorrect as it has failed to rollback, there are files left in Program Files\PHP and an entry in control panel, this cannot be removed as it generates the same error when attempting to uninstall. -- Edit bug report at http://bugs.php.net/?id=48066edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=48066r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=48066r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=48066r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=48066r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=48066r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=48066r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=48066r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=48066r=needscript Try newer version: http://bugs.php.net/fix.php?id=48066r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=48066r=support Expected behavior: http://bugs.php.net/fix.php?id=48066r=notwrong Not enough info: http://bugs.php.net/fix.php?id=48066r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=48066r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=48066r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=48066r=php4 Daylight Savings:http://bugs.php.net/fix.php?id=48066r=dst IIS Stability: http://bugs.php.net/fix.php?id=48066r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=48066r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=48066r=float No Zend Extensions: http://bugs.php.net/fix.php?id=48066r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=48066r=mysqlcfg
#48067 [NEW]: Class 'DOTNET' not found
From: lunter at interia dot pl Operating system: winXP PHP version: 5.3CVS-2009-04-24 (snap) PHP Bug Type: COM related Bug description: Class 'DOTNET' not found Description: Class 'DOTNET' not found introduced in PHP 5.3 Reproduce code: --- ?php $stack = new DOTNET(mscorlib, System.Collections.Stack); $stack-Push(.Net); $stack-Push(Hello ); echo $stack-Pop() . $stack-Pop(); ? Expected result: Fatal error: Class 'DOTNET' not found in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\1.php on line 2 Actual result: -- Hello .Net -- Edit bug report at http://bugs.php.net/?id=48067edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=48067r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=48067r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=48067r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=48067r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=48067r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=48067r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=48067r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=48067r=needscript Try newer version: http://bugs.php.net/fix.php?id=48067r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=48067r=support Expected behavior: http://bugs.php.net/fix.php?id=48067r=notwrong Not enough info: http://bugs.php.net/fix.php?id=48067r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=48067r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=48067r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=48067r=php4 Daylight Savings:http://bugs.php.net/fix.php?id=48067r=dst IIS Stability: http://bugs.php.net/fix.php?id=48067r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=48067r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=48067r=float No Zend Extensions: http://bugs.php.net/fix.php?id=48067r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=48067r=mysqlcfg
#48069 [NEW]: corrupted form data after submit
From: andrej dot nagy at is-solutions dot sk Operating system: linux PHP version: 5.2.9 PHP Bug Type: *General Issues Bug description: corrupted form data after submit Description: Sometimes if form is submitted, I get strange data on the server in php. It happens only about 3 times a day mostly using IE. It seems that the problem might be in the encoding on the client, even though I set the corrent charset using header('Content-Type: text/html; charset=UTF-8'); as soon as possible. Sometimes I get some HTML tags in the field data e.g. (table cellpadding= or input type=) Reproduce code: --- form definition form action=... method=post class=search-form name=reservation_form id=reservation_form There are 2 buttons for submition: input type=submit value=Book class=submit_button style=width:165px / button type=submit name=info_only style=width:165px value=1 class=submit_button with_valueInform/button Expected result: Correct form fields data. objekt 15010 pouze v pøípadì ceny 838 CZK za pokoj a noc se snídaní Actual result: -- objekt 15010 pouze v p%u0159#56353;d%u011B ceny 838 CZK za pokoj a noc se sn#55585;n#55456;/ table cellpadding= -- Edit bug report at http://bugs.php.net/?id=48069edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=48069r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=48069r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=48069r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=48069r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=48069r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=48069r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=48069r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=48069r=needscript Try newer version: http://bugs.php.net/fix.php?id=48069r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=48069r=support Expected behavior: http://bugs.php.net/fix.php?id=48069r=notwrong Not enough info: http://bugs.php.net/fix.php?id=48069r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=48069r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=48069r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=48069r=php4 Daylight Savings:http://bugs.php.net/fix.php?id=48069r=dst IIS Stability: http://bugs.php.net/fix.php?id=48069r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=48069r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=48069r=float No Zend Extensions: http://bugs.php.net/fix.php?id=48069r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=48069r=mysqlcfg
#48067 [Opn-Asn]: Class 'DOTNET' not found
ID: 48067 Updated by: paj...@php.net Reported By: lunter at interia dot pl -Status: Open +Status: Assigned Bug Type: COM related Operating System: winXP PHP Version: 5.3CVS-2009-04-24 (snap) -Assigned To: +Assigned To: pajoye New Comment: It is not available with the platform SDK 2003/02. 5.2 had a hack by manually copying the mscoree files to enable the DOTNET class. However 5.3 does not have this trick, you can use the VC9 builds for now as they use modern SDKs and support DOTNET. VC9's apache can be found at http://apachelounge.com Previous Comments: [2009-04-24 10:43:16] lunter at interia dot pl Description: Class 'DOTNET' not found introduced in PHP 5.3 Reproduce code: --- ?php $stack = new DOTNET(mscorlib, System.Collections.Stack); $stack-Push(.Net); $stack-Push(Hello ); echo $stack-Pop() . $stack-Pop(); ? Expected result: Fatal error: Class 'DOTNET' not found in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\1.php on line 2 Actual result: -- Hello .Net -- Edit this bug report at http://bugs.php.net/?id=48067edit=1
#48068 [NEW]: java.lang.UnsatisfiedLinkError: startup , net.php.servlet.startup(Native Method
From: pushpakr at yahoo dot com Operating system: Windows XP Pro PHP version: 5.2.9 PHP Bug Type: *Configuration Issues Bug description: java.lang.UnsatisfiedLinkError: startup , net.php.servlet.startup(Native Method Description: I have installed PHP 5.2.9 and APACHE TOMCAT 5.5.27. When I try to run the phpinfo test page I get the following error. java.lang.UnsatisfiedLinkError: startup net.php.servlet.startup(Native Method) net.php.servlet.init(servlet.java:158) I have made sure that php5srvlt.jar is in tomcat\commons\lib and the library=php5servlet line is servlet.properties and reflect.properties file is correct. I have php5servlet.dll and php5ts.dll in C:\php folder and C:\php has been set to PATH. I have even tried putting in c:\windows\system32 folder. I have also put this tp php.ini file [Java] java.class.path = c:\php\ext\php_java.jar java.home = D:\jdk1.5.0_18 java.library = D:\jdk1.5.0_18\jre\bin\client\jvm.dll java.library.path = c:\php\ext;D:\jdk1.5.0_18\jre\lib BUT STILL NOT WORKING. PLEASE HELP. CAN SOMEONE PLEASE PROVIDE ME php5srvlt.jar, php5servlet.dll and php5ts.dll file...just to see if something is wrong with the version I have. Actual result: -- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: Servlet.init() for servlet php threw exception org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:595) root cause java.lang.UnsatisfiedLinkError: startup net.php.servlet.startup(Native Method) net.php.servlet.init(servlet.java:158) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:595) -- Edit bug report at http://bugs.php.net/?id=48068edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=48068r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=48068r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=48068r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=48068r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=48068r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=48068r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=48068r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=48068r=needscript Try newer version: http://bugs.php.net/fix.php?id=48068r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=48068r=support Expected behavior: http://bugs.php.net/fix.php?id=48068r=notwrong Not enough info: http://bugs.php.net/fix.php?id=48068r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=48068r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=48068r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=48068r=php4 Daylight Savings:http://bugs.php.net/fix.php?id=48068r=dst IIS Stability: http://bugs.php.net/fix.php?id=48068r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=48068r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=48068r=float No Zend Extensions: http://bugs.php.net/fix.php?id=48068r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=48068r=mysqlcfg
#48066 [Opn-Fbk]: Installer fails to install and incorrect cleanup.
ID: 48066 Updated by: paj...@php.net Reported By: david dot parrott at gmail dot com -Status: Open +Status: Feedback Bug Type: Windows Installer Operating System: Windows 7 Beta PHP Version: 5.2.9 New Comment: Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ Previous Comments: [2009-04-24 08:58:37] david dot parrott at gmail dot com Description: Atttempting to run the PHP 5.2.9-2 msi installer on Windows 7 Beta, installing onto Apache 2.2.11. The installer fails with A script required for this install to complete could not be run. It then reports the install failed and that the system has not been modified. This is also incorrect as it has failed to rollback, there are files left in Program Files\PHP and an entry in control panel, this cannot be removed as it generates the same error when attempting to uninstall. -- Edit this bug report at http://bugs.php.net/?id=48066edit=1
#48041 [Opn-Fbk]: no headers sent if output is blank
ID: 48041 Updated by: lbarn...@php.net Reported By: mortals at seznam dot cz -Status: Open +Status: Feedback Bug Type: *General Issues Operating System: linux PHP Version: 5.2.9 New Comment: Could you please sent the output of the following command: /usr/local/php5latest/bin/php-cgi -i Previous Comments: [2009-04-24 08:37:05] mortals at seznam dot cz ok, little more info for reproduce: I am using distribution gentoo and fastcgi (fcgid), but I have try minimal manually instalation without extensions: ./configure --prefix=/usr/local/php5latest --host=x86_64-pc-linux-gnu --enable-cgi --enable-fastcgi --enable-force-cgi-redirect --with-config-file-path=/etc/php/cgi-php5 --without-pear /usr/local/php5latest/bin/php-cgi -v PHP 5.2.10-dev (cgi-fcgi) (built: Apr 24 2009 10:06:17) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies in virtualhost is directory /home... FCGIWrapper /usr/local/php5latest/bin/php-cgi .php /directory and still doesnt work. I have added `echo $test;` to example reproduce code and headers are sent, without echo no headers. I have make strace with output: http://www.korous.net/strace-echo.txt and without output: http://www.korous.net/strace-noecho.txt [2009-04-23 16:13:21] j...@php.net Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ I can not reproduce this on 3 servers (all being 64bit..) [2009-04-22 09:52:55] mortals at seznam dot cz Description: no headers sent if output is blank on 64bit system (for example redirection dont work). 5.2.9 on 32bit servers is ok. Reproduce code: --- ? $test = 0; ? or ? header('HTTP/1.1 301 Moved Permanently'); header('Location: http://www.example.com'); ? Expected result: telnet example.com 80 GET /test.php HTTP/1.1 Host: example.com HTTP/1.1 200 OK Date: Wed, 22 Apr 2009 09:23:11 GMT Server: Apache Cache-Control: max-age=7200 Expires: Wed, 22 Apr 2009 11:23:11 GMT Content-Length: 0 Content-Type: text/html Connection closed by foreign host. Actual result: -- telnet example.com 80 GET /test.php HTTP/1.1 Host: example.com Connection closed by foreign host. -- Edit this bug report at http://bugs.php.net/?id=48041edit=1
#48069 [Opn-Bgs]: corrupted form data after submit
ID: 48069 Updated by: lbarn...@php.net Reported By: andrej dot nagy at is-solutions dot sk -Status: Open +Status: Bogus Bug Type: *General Issues Operating System: linux PHP Version: 5.2.9 New Comment: This look like the data is already corrupted before it is sent to PHP. Check your javascript, check the HTML source of the page, etc. Previous Comments: [2009-04-24 12:29:11] andrej dot nagy at is-solutions dot sk Description: Sometimes if form is submitted, I get strange data on the server in php. It happens only about 3 times a day mostly using IE. It seems that the problem might be in the encoding on the client, even though I set the corrent charset using header('Content-Type: text/html; charset=UTF-8'); as soon as possible. Sometimes I get some HTML tags in the field data e.g. (table cellpadding= or input type=) Reproduce code: --- form definition form action=... method=post class=search-form name=reservation_form id=reservation_form There are 2 buttons for submition: input type=submit value=Book class=submit_button style=width:165px / button type=submit name=info_only style=width:165px value=1 class=submit_button with_valueInform/button Expected result: Correct form fields data. objekt 15010 pouze v pøípadì ceny 838 CZK za pokoj a noc se snídaní Actual result: -- objekt 15010 pouze v p%u0159#56353;d%u011B ceny 838 CZK za pokoj a noc se sn#55585;n#55456;/ table cellpadding= -- Edit this bug report at http://bugs.php.net/?id=48069edit=1
#48041 [Fbk-Opn]: no headers sent if output is blank
ID: 48041 User updated by: mortals at seznam dot cz Reported By: mortals at seznam dot cz -Status: Feedback +Status: Open Bug Type: *General Issues Operating System: linux PHP Version: 5.2.9 New Comment: output of /usr/local/php5latest/bin/php-cgi -i http://www.korous.net/phpcgi_i.html Previous Comments: [2009-04-24 11:53:19] lbarn...@php.net Could you please sent the output of the following command: /usr/local/php5latest/bin/php-cgi -i [2009-04-24 08:37:05] mortals at seznam dot cz ok, little more info for reproduce: I am using distribution gentoo and fastcgi (fcgid), but I have try minimal manually instalation without extensions: ./configure --prefix=/usr/local/php5latest --host=x86_64-pc-linux-gnu --enable-cgi --enable-fastcgi --enable-force-cgi-redirect --with-config-file-path=/etc/php/cgi-php5 --without-pear /usr/local/php5latest/bin/php-cgi -v PHP 5.2.10-dev (cgi-fcgi) (built: Apr 24 2009 10:06:17) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies in virtualhost is directory /home... FCGIWrapper /usr/local/php5latest/bin/php-cgi .php /directory and still doesnt work. I have added `echo $test;` to example reproduce code and headers are sent, without echo no headers. I have make strace with output: http://www.korous.net/strace-echo.txt and without output: http://www.korous.net/strace-noecho.txt [2009-04-23 16:13:21] j...@php.net Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ I can not reproduce this on 3 servers (all being 64bit..) [2009-04-22 09:52:55] mortals at seznam dot cz Description: no headers sent if output is blank on 64bit system (for example redirection dont work). 5.2.9 on 32bit servers is ok. Reproduce code: --- ? $test = 0; ? or ? header('HTTP/1.1 301 Moved Permanently'); header('Location: http://www.example.com'); ? Expected result: telnet example.com 80 GET /test.php HTTP/1.1 Host: example.com HTTP/1.1 200 OK Date: Wed, 22 Apr 2009 09:23:11 GMT Server: Apache Cache-Control: max-age=7200 Expires: Wed, 22 Apr 2009 11:23:11 GMT Content-Length: 0 Content-Type: text/html Connection closed by foreign host. Actual result: -- telnet example.com 80 GET /test.php HTTP/1.1 Host: example.com Connection closed by foreign host. -- Edit this bug report at http://bugs.php.net/?id=48041edit=1
#48068 [Opn-Bgs]: java.lang.UnsatisfiedLinkError: startup , net.php.servlet.startup(Native Method
ID: 48068 Updated by: j...@php.net Reported By: pushpakr at yahoo dot com -Status: Open +Status: Bogus Bug Type: *Configuration Issues Operating System: Windows XP Pro PHP Version: 5.2.9 New Comment: http://www.php.net/manual/en/intro.java.php Note: All this is totally unsupported. Previous Comments: [2009-04-24 11:58:06] pushpakr at yahoo dot com Description: I have installed PHP 5.2.9 and APACHE TOMCAT 5.5.27. When I try to run the phpinfo test page I get the following error. java.lang.UnsatisfiedLinkError: startup net.php.servlet.startup(Native Method) net.php.servlet.init(servlet.java:158) I have made sure that php5srvlt.jar is in tomcat\commons\lib and the library=php5servlet line is servlet.properties and reflect.properties file is correct. I have php5servlet.dll and php5ts.dll in C:\php folder and C:\php has been set to PATH. I have even tried putting in c:\windows\system32 folder. I have also put this tp php.ini file [Java] java.class.path = c:\php\ext\php_java.jar java.home = D:\jdk1.5.0_18 java.library = D:\jdk1.5.0_18\jre\bin\client\jvm.dll java.library.path = c:\php\ext;D:\jdk1.5.0_18\jre\lib BUT STILL NOT WORKING. PLEASE HELP. CAN SOMEONE PLEASE PROVIDE ME php5srvlt.jar, php5servlet.dll and php5ts.dll file...just to see if something is wrong with the version I have. Actual result: -- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: Servlet.init() for servlet php threw exception org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:595) root cause java.lang.UnsatisfiedLinkError: startup net.php.servlet.startup(Native Method) net.php.servlet.init(servlet.java:158) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:595) -- Edit this bug report at http://bugs.php.net/?id=48068edit=1
#46453 [Asn-Fbk]: Different Results than expected by session_decode_variation3.phpt
ID: 46453 Updated by: j...@php.net Reported By: hostmaster at uuism dot net -Status: Assigned +Status: Feedback Bug Type: Session related Operating System: Fedora Core 4 PHP Version: 5.2CVS-2008-11-01 (snap) Assigned To: kalle New Comment: Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ Previous Comments: [2008-11-01 21:44:21] j...@php.net Kalle: The fix for bug #45406 you backported broke the tests and also BC. [2008-11-01 21:42:15] j...@php.net Apparently I had outdated checkout. Kalle, your commit broke this. You should ALWAYS run tests _before_ committing! FIX IT. [2008-11-01 15:59:48] hostmaster at uuism dot net Description: When I run session_decode_variation3.phpt, the session_start() command produces a different results than expected after initializing session.serialize_handler=blah. Instead of responding with Warning: session_start(): Cannot find save handler files and still opening a session (?), PHP responds with Warning: session_start(): Cannot find save handler files and does not open a session. I can't find any documentation as to the correct Warning with the session.serialize_handler is not set to php or php-binary. Thanks. Jim Reproduce code: --- --INI-- session.serialize_handler=blah --FILE-- ?php ob_start(); /* * Prototype : string session_decode(void) * Description : Decodes session data from a string * Source code : ext/session/session.c */ echo *** Testing session_decode() : variation ***\n; var_dump(session_start()); var_dump($_SESSION); $_SESSION[foo] = 1234567890; $_SESSION[bar] = Blah!; $_SESSION[guff] = 123.456; var_dump($_SESSION); $encoded = A2Zvb2k6MTIzNDU2Nzg5MDs=; var_dump(session_decode(base64_decode($encoded))); var_dump($_SESSION); var_dump(session_destroy()); echo Done; ob_end_flush(); ? Expected result: *** Testing session_decode() : variation *** Warning: session_start(): Unknown session.serialize_handler. Failed to decode session object. in %s on line %d bool(true) array(0) { } array(3) { [foo]= int(1234567890) [bar]= string(5) Blah! [guff]= float(123.456) } Warning: session_decode(): Unknown session.serialize_handler. Failed to decode session object. in %s on line %d bool(true) array(3) { [foo]= int(1234567890) [bar]= string(5) Blah! [guff]= float(123.456) } bool(true) Done Actual result: -- *** Testing session_decode() : variation *** Warning: session_start(): Cannot find save handler files in /usr/local/src/php5.2-200810312330/ext/session/tests/session_decode_variation3.php on line 13 bool(true) Notice: Undefined variable: _SESSION in /usr/local/src/php5.2-200810312330/ext/session/tests/session_decode_variation3.php on line 14 NULL array(3) { [foo]= int(1234567890) [bar]= string(5) Blah! [guff]= float(123.456) } Warning: session_decode(): Unknown session.serialize_handler. Failed to decode session object. in /usr/local/src/php5.2-200810312330/ext/session/tests/session_decode_variation3.php on line 20 bool(true) array(3) { [foo]= int(1234567890) [bar]= string(5) Blah! [guff]= float(123.456) } Warning: session_destroy(): Trying to destroy uninitialized session in /usr/local/src/php5.2-200810312330/ext/session/tests/session_decode_variation3.php on line 22 bool(false) Done -- Edit this bug report at http://bugs.php.net/?id=46453edit=1
#48065 [Opn-Bgs]: mysqli can not have two called procedure queries active at once
ID: 48065 Updated by: j...@php.net Reported By: schwern at pobox dot com -Status: Open +Status: Bogus Bug Type: MySQLi related Operating System: OS X PHP Version: 5.2CVS-2009-04-23 (snap) New Comment: See bug #35203 Previous Comments: [2009-04-23 23:25:10] schwern at pobox dot com For reference, here's the MySQL 5.0 docs on Commands out of sync. http://dev.mysql.com/doc/refman/5.0/en/commands-out-of-sync.html [2009-04-23 23:10:26] schwern at pobox dot com Description: mysqli does not like having two query results active at the same time if a stored procedure was queried. MySQL balks with Commands out of sync; you can't run this command now. The equivalent SELECT does not have this problem, nor does Perl's DBD::mysql for comparison. Work arounds appear to be explicitly free'ing the result before calling the next one, but that is not easily possible through the Drupal DB API, for example. Also I might want to return a query result from a function and have it live on out of my function's control. And its a general violation of OO to have the two result objects interfere with each other. Reproduce code: --- http://rafb.net/p/XnP3AN31.html (Writes to the test database and user) The script creates a table with a few rows and a stored procedure doing a select * on that table. It then illustrates that two concurrent calls to that procedure cause an error while two SELECT * queries do not. Replicated on OS X with their stock PHP 5.2.6 and a fresh php5.2-200904232230 snapshot with --with-mysqli. Using a local mysql server compiled from MacPorts. mysql Ver 14.12 Distrib 5.0.77, for apple-darwin9.6.0 (i386) using readline 6.0 Expected result: Doing call get_stuff Done Doing select * from stuff Done Actual result: -- Doing call get_stuff Second query FAILED: Commands out of sync; you can't run this command now Done Doing select * from stuff Done -- Edit this bug report at http://bugs.php.net/?id=48065edit=1
#48041 [Opn-Fbk]: no headers sent if output is blank
ID: 48041 Updated by: lbarn...@php.net Reported By: mortals at seznam dot cz -Status: Open +Status: Feedback Bug Type: *General Issues Operating System: linux PHP Version: 5.2.9 New Comment: Both display_errors and log_errors are Off, please try enabling one of them and check if you have any error. Please also check if you have any differences compared to your 32bit setup (ini settings, fcgi module, etc). Also check your apache error log with LogLevel set to debug, eventually mod_fcgid logs, etc. Previous Comments: [2009-04-24 13:00:44] mortals at seznam dot cz output of /usr/local/php5latest/bin/php-cgi -i http://www.korous.net/phpcgi_i.html [2009-04-24 11:53:19] lbarn...@php.net Could you please sent the output of the following command: /usr/local/php5latest/bin/php-cgi -i [2009-04-24 08:37:05] mortals at seznam dot cz ok, little more info for reproduce: I am using distribution gentoo and fastcgi (fcgid), but I have try minimal manually instalation without extensions: ./configure --prefix=/usr/local/php5latest --host=x86_64-pc-linux-gnu --enable-cgi --enable-fastcgi --enable-force-cgi-redirect --with-config-file-path=/etc/php/cgi-php5 --without-pear /usr/local/php5latest/bin/php-cgi -v PHP 5.2.10-dev (cgi-fcgi) (built: Apr 24 2009 10:06:17) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies in virtualhost is directory /home... FCGIWrapper /usr/local/php5latest/bin/php-cgi .php /directory and still doesnt work. I have added `echo $test;` to example reproduce code and headers are sent, without echo no headers. I have make strace with output: http://www.korous.net/strace-echo.txt and without output: http://www.korous.net/strace-noecho.txt [2009-04-23 16:13:21] j...@php.net Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ I can not reproduce this on 3 servers (all being 64bit..) [2009-04-22 09:52:55] mortals at seznam dot cz Description: no headers sent if output is blank on 64bit system (for example redirection dont work). 5.2.9 on 32bit servers is ok. Reproduce code: --- ? $test = 0; ? or ? header('HTTP/1.1 301 Moved Permanently'); header('Location: http://www.example.com'); ? Expected result: telnet example.com 80 GET /test.php HTTP/1.1 Host: example.com HTTP/1.1 200 OK Date: Wed, 22 Apr 2009 09:23:11 GMT Server: Apache Cache-Control: max-age=7200 Expires: Wed, 22 Apr 2009 11:23:11 GMT Content-Length: 0 Content-Type: text/html Connection closed by foreign host. Actual result: -- telnet example.com 80 GET /test.php HTTP/1.1 Host: example.com Connection closed by foreign host. -- Edit this bug report at http://bugs.php.net/?id=48041edit=1
#48049 [Opn-Fbk]: Will not parse tags with certain chars
ID: 48049 Updated by: j...@php.net Reported By: nickmaccarthy at gmail dot com -Status: Open +Status: Feedback Bug Type: SimpleXML related Operating System: Ubuntu 8.04 PHP Version: 5.2.9 New Comment: Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with ?php and ends with ?, is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. Previous Comments: [2009-04-22 14:44:53] nickmaccarthy at gmail dot com Description: Note: SimpleXML has issues parsing tags with : in it. GML tags for example are formatted like: gml:nameFoo/gml:name. In the SimpleXML Documentation, it states to put tags between {} that could contain chars. that could break the parser, like - for example. In our example below: $xml-firstLayer-secondLayer-{'gml:name'} will not be parsed by SimpleXML, but SimpleXML will NOT throw an error or lead you to believe that it has NOT parsed it. I was parsing output from hostip.info which uses XML as an output with GML. Here is an example of the XML I was working with when I cam a Reproduce code: --- --- From manual page: book.simplexml --- $ipAddr = 209.240.56.78; $data = file_get_contents(http://api.hostip.info/?ip=.$ipAddr); $xml = @simplexml_load_string(str_replace(:, _, $data)); //SimpleXML has issues parsing the :, replacing it with underscore to make this work. $city = $xml-gml_featureMember-Hostip-gml_name; $country = $xml-gml_featureMember-Hostip-countryName; $country_abbrev = $xml-gml_featureMember-Hostip-countryAbbrev; $lat_long = $xml-gml_featureMember-Hostip-ipLocation-gml_PointProperty-gml_Point-gml_coordinates; echo $city Expected result: This is what XML looks like coming from the site: HostipLookupResultSet version=1.0.0 xmlns=http://www.hostip.info/api; xmlns:gml=http://www.opengis.net/gml; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.hostip.info/api/hostip-1.0.0.xsd; gml:descriptionThis is the Hostip Lookup Service/gml:description gml:namehostip/gml:name gml:boundedBy gml:Nullinapplicable/gml:Null /gml:boundedBy gml:featureMember Hostip gml:name(Unknown City?)/gml:name countryName(Unknown Country?)/countryName countryAbbrevXX/countryAbbrev !-- Co-ordinates are unavailable -- /Hostip /gml:featureMember /HostipLookupResultSet Based on my echo of $city, I would expect to see: Providence RI Actual result: -- Blank - nothing. SimpleXML will not throw an error if it runs into an issue parsing anything with a : in the tag. -- Edit this bug report at http://bugs.php.net/?id=48049edit=1
#48070 [NEW]: PDO_OCI Segfault when using persistent connection
From: jarismar dot php at gmail dot com Operating system: irrelevant PHP version: 5.2CVS-2009-04-24 (CVS) PHP Bug Type: PDO related Bug description: PDO_OCI Segfault when using persistent connection Description: When using persistent connections apache segfaults at end of the request. The segfault only happens if some statment has got error. Reproduced on Windows (XP) and Linux (debian 2.6.29-1-686). Reproduce code: --- $sDSN = 'oci:dbname=//webreport:1521/adplabs'; $sUserName = 'rpttest82'; $sPassword = 'rpttest82'; $oPDO = new PDO($sDSN, $sUserName, $sPassword, array(PDO::ATTR_PERSISTENT = true)); $oPDO-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); try { $oStatement = $oPDO-prepare('Select x from no_table'); $oStatement-execute(); } catch (Exception $oException) { print $oException-getMessage().\n; } Expected result: SQLSTATE[HY000]: General error: 942 OCIStmtExecute: ORA-00942: table or view does not exist (/home/jaris/php-latest/ext/pdo_oci/oci_statement.c:147) Actual result: -- Windows : Unhandled exception at 0x0088ad16 (php5ts.dll) in Apache.exe: 0xC005: Access violation reading location 0x002c5cc4. Debian : segmentation fault ALERT - canary mismatch on efree() - heap overflow detected (attacker 'REMOTE_ADDR not set', file 'unknown') -- Edit bug report at http://bugs.php.net/?id=48070edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=48070r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=48070r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=48070r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=48070r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=48070r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=48070r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=48070r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=48070r=needscript Try newer version: http://bugs.php.net/fix.php?id=48070r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=48070r=support Expected behavior: http://bugs.php.net/fix.php?id=48070r=notwrong Not enough info: http://bugs.php.net/fix.php?id=48070r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=48070r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=48070r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=48070r=php4 Daylight Savings:http://bugs.php.net/fix.php?id=48070r=dst IIS Stability: http://bugs.php.net/fix.php?id=48070r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=48070r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=48070r=float No Zend Extensions: http://bugs.php.net/fix.php?id=48070r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=48070r=mysqlcfg
#48070 [Com]: PDO_OCI Segfault when using persistent connection
ID: 48070 Comment by: jarismar dot php at gmail dot com Reported By: jarismar dot php at gmail dot com Status: Open Bug Type: PDO related Operating System: irrelevant PHP Version: 5.2CVS-2009-04-24 (CVS) New Comment: I think, this happens because error messages are being created with pestrdup and later destructed with efree. I've changed the pdo_oci extension to use pefree when appropriate, it seems to solve the problem. This is the patch against PHP_5_2 tip. cvs diff - u Index: oci_driver.c === RCS file: /repository/php-src/ext/pdo_oci/oci_driver.c,v retrieving revision 1.24.2.4.2.11 diff -u -u -p -r1.24.2.4.2.11 oci_driver.c --- oci_driver.c31 Dec 2008 11:17:42 - 1.24.2.4.2.11 +++ oci_driver.c24 Apr 2009 10:47:29 - @@ -70,16 +70,15 @@ ub4 _oci_error(OCIError *err, pdo_dbh_t S = (pdo_oci_stmt*)stmt-driver_data; einfo = S-einfo; pdo_err = stmt-error_code; - if (einfo-errmsg) { - efree(einfo-errmsg); - } } else { einfo = H-einfo; - if (einfo-errmsg) { - pefree(einfo-errmsg, dbh-is_persistent); - } } + + if (einfo-errmsg) { + pefree(einfo-errmsg, dbh-is_persistent); + } + einfo-errmsg = NULL; einfo-errcode = 0; Index: oci_statement.c === RCS file: /repository/php-src/ext/pdo_oci/oci_statement.c,v retrieving revision 1.16.2.10.2.9 diff -u -u -p -r1.16.2.10.2.9 oci_statement.c --- oci_statement.c 31 Dec 2008 11:17:42 - 1.16.2.10.2.9 +++ oci_statement.c 24 Apr 2009 10:47:30 - @@ -54,6 +54,7 @@ static php_stream *oci_create_lob_stream static int oci_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC) /* {{{ */ { pdo_oci_stmt *S = (pdo_oci_stmt*)stmt-driver_data; + pdo_dbh_t *dbh = stmt-dbh; HashTable *BC = stmt-bound_columns; HashTable *BP = stmt-bound_params; @@ -87,7 +88,7 @@ static int oci_stmt_dtor(pdo_stmt_t *stm } if (S-einfo.errmsg) { - efree(S-einfo.errmsg); + pefree(S-einfo.errmsg, dbh-is_persistent); S-einfo.errmsg = NULL; } Previous Comments: [2009-04-24 14:09:13] jarismar dot php at gmail dot com Description: When using persistent connections apache segfaults at end of the request. The segfault only happens if some statment has got error. Reproduced on Windows (XP) and Linux (debian 2.6.29-1-686). Reproduce code: --- $sDSN = 'oci:dbname=//webreport:1521/adplabs'; $sUserName = 'rpttest82'; $sPassword = 'rpttest82'; $oPDO = new PDO($sDSN, $sUserName, $sPassword, array(PDO::ATTR_PERSISTENT = true)); $oPDO-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); try { $oStatement = $oPDO-prepare('Select x from no_table'); $oStatement-execute(); } catch (Exception $oException) { print $oException-getMessage().\n; } Expected result: SQLSTATE[HY000]: General error: 942 OCIStmtExecute: ORA-00942: table or view does not exist (/home/jaris/php-latest/ext/pdo_oci/oci_statement.c:147) Actual result: -- Windows : Unhandled exception at 0x0088ad16 (php5ts.dll) in Apache.exe: 0xC005: Access violation reading location 0x002c5cc4. Debian : segmentation fault ALERT - canary mismatch on efree() - heap overflow detected (attacker 'REMOTE_ADDR not set', file 'unknown') -- Edit this bug report at http://bugs.php.net/?id=48070edit=1
#48065 [Bgs]: mysqli can not have two called procedure queries active at once
ID: 48065 User updated by: schwern at pobox dot com Reported By: schwern at pobox dot com Status: Bogus Bug Type: MySQLi related Operating System: OS X PHP Version: 5.2CVS-2009-04-23 (snap) New Comment: I strongly disagree with the conclusion in #35203. Querying a called procedure should not act any different than querying a normal statement. That's the point of an database abstraction layer. * To the user, its a single query. There's no user visible reason to suspect I might need to use multi_query() and pull out some invisible second result. That's all internal details that I should not be privy to. * It violates OO encapsulation to have one query effect another. * DB abstraction layers like Drupal's do not allow me to tweak how it calls mysqli. There's no db_multi_query(). I have no solution but to make a complete end run around Drupal's DB layer and drop into mysqli just to call a stored procedure safely. This is a mysqli implementation detail leaking out breaking encapsulation, and its a user trap. I understand resources are tight to fix it, but it would be nice if it was at least acknowledged as a bug/misfeature. Previous Comments: [2009-04-24 13:35:45] j...@php.net See bug #35203 [2009-04-23 23:25:10] schwern at pobox dot com For reference, here's the MySQL 5.0 docs on Commands out of sync. http://dev.mysql.com/doc/refman/5.0/en/commands-out-of-sync.html [2009-04-23 23:10:26] schwern at pobox dot com Description: mysqli does not like having two query results active at the same time if a stored procedure was queried. MySQL balks with Commands out of sync; you can't run this command now. The equivalent SELECT does not have this problem, nor does Perl's DBD::mysql for comparison. Work arounds appear to be explicitly free'ing the result before calling the next one, but that is not easily possible through the Drupal DB API, for example. Also I might want to return a query result from a function and have it live on out of my function's control. And its a general violation of OO to have the two result objects interfere with each other. Reproduce code: --- http://rafb.net/p/XnP3AN31.html (Writes to the test database and user) The script creates a table with a few rows and a stored procedure doing a select * on that table. It then illustrates that two concurrent calls to that procedure cause an error while two SELECT * queries do not. Replicated on OS X with their stock PHP 5.2.6 and a fresh php5.2-200904232230 snapshot with --with-mysqli. Using a local mysql server compiled from MacPorts. mysql Ver 14.12 Distrib 5.0.77, for apple-darwin9.6.0 (i386) using readline 6.0 Expected result: Doing call get_stuff Done Doing select * from stuff Done Actual result: -- Doing call get_stuff Second query FAILED: Commands out of sync; you can't run this command now Done Doing select * from stuff Done -- Edit this bug report at http://bugs.php.net/?id=48065edit=1
#48072 [NEW]: wish: extra strtr features similar to GNU strtr
From: php at richardneill dot org Operating system: all PHP version: 6CVS-2009-04-24 (CVS) PHP Bug Type: Feature/Change Request Bug description: wish: extra strtr features similar to GNU strtr Description: Can we have the extra features added to strtr() that are in the GNU strtr? They'd be really useful. In particular, the ability to delete certain characters from the string [currently we must resort to str_replace, which gets ugly], and to squeeze repeated characters to a single one [requires preg_replace() at the moment] This could be done by adding some predefined constants such as STRTR_DELETE, STRTR_SQUEEZE_REPEATS Reproduce code: --- In GNU tr, we can do things like echo hello world | tr -s l #results in helo world (duplicate 'l' removed) echo hello world | tr -d 'od' ('o' and 'd' removed) #results in hell wrl echo hello world | tr -s wl zl (translate AND squeeze) #results in helo zorld (Support for character classes might be nice too) Thank you. -- Edit bug report at http://bugs.php.net/?id=48072edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=48072r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=48072r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=48072r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=48072r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=48072r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=48072r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=48072r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=48072r=needscript Try newer version: http://bugs.php.net/fix.php?id=48072r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=48072r=support Expected behavior: http://bugs.php.net/fix.php?id=48072r=notwrong Not enough info: http://bugs.php.net/fix.php?id=48072r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=48072r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=48072r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=48072r=php4 Daylight Savings:http://bugs.php.net/fix.php?id=48072r=dst IIS Stability: http://bugs.php.net/fix.php?id=48072r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=48072r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=48072r=float No Zend Extensions: http://bugs.php.net/fix.php?id=48072r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=48072r=mysqlcfg
#48069 [Bgs]: corrupted form data after submit
ID: 48069 User updated by: andrej dot nagy at is-solutions dot sk Reported By: andrej dot nagy at is-solutions dot sk Status: Bogus Bug Type: *General Issues Operating System: linux PHP Version: 5.2.9 New Comment: Fields on the client are all empty when page is displayed. Only user can type into fields. There is no javascript behind submit. Previous Comments: [2009-04-24 12:51:06] lbarn...@php.net This look like the data is already corrupted before it is sent to PHP. Check your javascript, check the HTML source of the page, etc. [2009-04-24 12:29:11] andrej dot nagy at is-solutions dot sk Description: Sometimes if form is submitted, I get strange data on the server in php. It happens only about 3 times a day mostly using IE. It seems that the problem might be in the encoding on the client, even though I set the corrent charset using header('Content-Type: text/html; charset=UTF-8'); as soon as possible. Sometimes I get some HTML tags in the field data e.g. (table cellpadding= or input type=) Reproduce code: --- form definition form action=... method=post class=search-form name=reservation_form id=reservation_form There are 2 buttons for submition: input type=submit value=Book class=submit_button style=width:165px / button type=submit name=info_only style=width:165px value=1 class=submit_button with_valueInform/button Expected result: Correct form fields data. objekt 15010 pouze v pøípadì ceny 838 CZK za pokoj a noc se snídaní Actual result: -- objekt 15010 pouze v p%u0159#56353;d%u011B ceny 838 CZK za pokoj a noc se sn#55585;n#55456;/ table cellpadding= -- Edit this bug report at http://bugs.php.net/?id=48069edit=1
#48059 [Opn]: SimpleXmlElement __toString() not called on (string) cast
ID: 48059 Updated by: j...@php.net Reported By: doctorrock83 at gmail dot com Status: Open Bug Type: SimpleXML related Operating System: Win32 PHP Version: 5.2.9 New Comment: See bug #46968 Previous Comments: [2009-04-23 09:27:08] doctorrock83 at gmail dot com Description: If I extend SimpleXmlElement and add a __toString() method to it, that method is not called when I cast my object using (string)$obj. It is used however on implicit casts (e.g echo $sxmlObj) Reproduce code: --- class MyXml extends SimpleXMLElement { public function __toString() { return $this-asXML(); } public function export() { return (string)$this; } } $xml = new MyXml(xmlsomexml/some/xml); echo $xml; // 1 $a = (string)$xml; echo $a; // 2 echo $xml-export(); // 3 Expected result: 1 : xml returned 2 : xml returned 3: xml returned Actual result: -- 1 : OK 2: nothing is returned 3: nothing is returned -- Edit this bug report at http://bugs.php.net/?id=48059edit=1
#48059 [Opn-Bgs]: SimpleXmlElement __toString() not called on (string) cast
ID: 48059 Updated by: j...@php.net Reported By: doctorrock83 at gmail dot com -Status: Open +Status: Bogus Bug Type: SimpleXML related Operating System: Win32 PHP Version: 5.2.9 New Comment: Please do not submit the same bug more than once. An existing bug report already describes this very problem. Even if you feel that your issue is somewhat different, the resolution is likely to be the same. Thank you for your interest in PHP. Previous Comments: [2009-04-24 17:37:51] j...@php.net See bug #46968 [2009-04-23 09:27:08] doctorrock83 at gmail dot com Description: If I extend SimpleXmlElement and add a __toString() method to it, that method is not called when I cast my object using (string)$obj. It is used however on implicit casts (e.g echo $sxmlObj) Reproduce code: --- class MyXml extends SimpleXMLElement { public function __toString() { return $this-asXML(); } public function export() { return (string)$this; } } $xml = new MyXml(xmlsomexml/some/xml); echo $xml; // 1 $a = (string)$xml; echo $a; // 2 echo $xml-export(); // 3 Expected result: 1 : xml returned 2 : xml returned 3: xml returned Actual result: -- 1 : OK 2: nothing is returned 3: nothing is returned -- Edit this bug report at http://bugs.php.net/?id=48059edit=1
#43189 [Com]: Fails to link iconv
ID: 43189 Comment by: richard dot sentino at mindginative dot com Reported By: meh at mailinator dot com Status: No Feedback Bug Type: ICONV related Operating System: Mac OS X 10.5 PHP Version: 5.3CVS-2007-11-04 (snap) New Comment: This configure option worked for me: --with-iconv=/opt/local (Mac OS 10.5.6, PHP 5.2.9, iconv installed in /opt/local using macports) but it doesn't work with this configure option : --with-iconv=shared,/opt/local the configure passed and make passed but iconv won't show up when I do php -m Previous Comments: [2009-04-03 01:00:01] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to Open. [2009-03-27 06:26:43] senz at senz dot su Changing --with-iconv-dir to --with-iconv=shared,/opt/local solve it on my system. /opt/local = macports with iconv [2009-03-27 06:10:22] senz at senz dot su To scott...@php.net: here's my config.log from compilation with error. iconv compiled by macports. --with-iconv-dir=shared,/opt/local and static both failed. http://rapidshare.com/files/214033749/config.log.html i also send a copy on your email. [2009-03-26 23:21:14] scott...@php.net I need the config.log for the static build to try and work out whats happening. [2009-03-26 23:12:18] chanleo1985 at gmail dot com I used a self compiled libiconv downloaded from GNU. setenv DYLD_LIBRARY_PATH to be my self compiled libiconv/lib compiling it as static module does not work. I got the same linker error as above. Configure passed but Make failed But compiling it as dynamic module , using --with-iconv=shared, worked for me. Configure passed and Make passed Bare in mind that even if configure passed and make passed, iconv still won't show up when you do php -m to list all the modules. You need to set php.ini to enable it. Need to add the following lines extension_dir = /location/of/iconv.so extension=iconv.so 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/43189 -- Edit this bug report at http://bugs.php.net/?id=43189edit=1
#46968 [Opn]: Extending SimplXMLElement (or Iterator) w/ __toString
ID: 46968 Updated by: j...@php.net Reported By: jordan dot raub at dataxltd dot com Status: Open Bug Type: SimpleXML related Operating System: * -PHP Version: 5.2.8 +PHP Version: 5.2.9 New Comment: See also bug #48059 Previous Comments: [2009-04-21 07:05:59] dypa at bk dot ru 5.2.8 Windows NT DYPA 5.1 build 2600 Reproduced: || || |?xml version=1.0? foo bar/ /foo | [2008-12-30 00:46:14] jordan dot raub at dataxltd dot com Description: implicit call to __toString() for the extended class does not work properly an empty value is returned (even without the try catch block nothing is returned) Reproduce code: --- ?php class XML extends SimpleXMLElement { public function __toString() { try { $xml = new DOMDocument('1.0', 'utf-8'); $xml-formatOutput = TRUE; $xml-preserveWhiteSpace = FALSE; $xml-loadXML($this-asXML()); $retval = $xml-saveXML(); } catch(Exception $e) { $retval = ''; } return $retval; } } $xml = new XML('foobar//foo'); echo '|' . $xml . |\n; echo '|' . (string) $xml . |\n; echo '|' . $xml-__toString() . |\n; Expected result: |?xml version=1.0? foo bar/ /foo | |?xml version=1.0? foo bar/ /foo | |?xml version=1.0? foo bar/ /foo | Actual result: -- || || |?xml version=1.0? foo bar/ /foo | -- Edit this bug report at http://bugs.php.net/?id=46968edit=1
#48059 [Bgs]: SimpleXmlElement __toString() not called on (string) cast
ID: 48059 User updated by: doctorrock83 at gmail dot com Reported By: doctorrock83 at gmail dot com Status: Bogus Bug Type: SimpleXML related Operating System: Win32 PHP Version: 5.2.9 New Comment: I read the same bug suggestion page and searched for related bugs before submitting mine ;-) but didn't find that one. ;-) I'm sorry ! Previous Comments: [2009-04-24 17:37:57] j...@php.net Please do not submit the same bug more than once. An existing bug report already describes this very problem. Even if you feel that your issue is somewhat different, the resolution is likely to be the same. Thank you for your interest in PHP. [2009-04-24 17:37:51] j...@php.net See bug #46968 [2009-04-23 09:27:08] doctorrock83 at gmail dot com Description: If I extend SimpleXmlElement and add a __toString() method to it, that method is not called when I cast my object using (string)$obj. It is used however on implicit casts (e.g echo $sxmlObj) Reproduce code: --- class MyXml extends SimpleXMLElement { public function __toString() { return $this-asXML(); } public function export() { return (string)$this; } } $xml = new MyXml(xmlsomexml/some/xml); echo $xml; // 1 $a = (string)$xml; echo $a; // 2 echo $xml-export(); // 3 Expected result: 1 : xml returned 2 : xml returned 3: xml returned Actual result: -- 1 : OK 2: nothing is returned 3: nothing is returned -- Edit this bug report at http://bugs.php.net/?id=48059edit=1
#47940 [Csd-Opn]: imap_body() leaks memory
ID: 47940 User updated by: jake dot levitt at mailtrust dot com Reported By: jake dot levitt at mailtrust dot com -Status: Closed +Status: Open Bug Type: IMAP related Operating System: Ubuntu 8.04 (linux:2.6.24-21) PHP Version: 5.2.9 New Comment: Hey guys it looks like we were a little hasty in submitting this patch. It now seems that our patch does lessen the memory leak, but does not eradicate it. We ran our test script using the patch and it seemed to work, but running the actual migration program shows that there is still a leak. Before our program would migrate ~1.5gb of mail now it migrates ~2.4gb before running out of memory. We have updated our test script to better expose the memory leak: /** * To watch memory usage use: * ps -eo pid,ppid,rss,vsize,pcpu,pmem,cmd -ww --sort=pid | grep \(memory-usage-test\)\|\(PID\) | grep -v grep */ $flags = '/novalidate-cert'; $host = 'a.host.com:143'; $username = 'a.u...@a.host.com'; $password = 'password'; $folder = 'INBOX'; $base_imap_string = '{' . $host . $flags . '}'; $connect_string = $base_imap_string . $folder; $mailbox = @imap_open($connect_string, $username, $password, 0, 3); $reopen_success = imap_reopen($mailbox, $connect_string, 0, 3); $message_ids = imap_search($mailbox, ALL, SE_UID); $num_msgs = count($message_ids); for ($i = 0; $i 100; $i++) { $msg_num = $i % $num_msgs; imap_body($mailbox, $message_ids[$msg_num], FT_UID); } Previous Comments: [2009-04-23 22:35:57] paj...@php.net Slightly modified version committed in all branches. Thanks for your work! [2009-04-23 21:37:27] jake dot levitt at mailtrust dot com Here's a unified diff: diff -u php-5.2.9/ext/imap/php_imap.c php-5.2.9-fixed/ext/imap/php_imap.c --- php-5.2.9/ext/imap/php_imap.c2008-12-31 06:17:38.0 -0500 +++ php-5.2.9-fixed/ext/imap/php_imap.c2009-04-23 13:56:26.0 -0400 @@ -1250,7 +1250,10 @@ RETURN_FALSE; } -RETVAL_STRING(mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL), 1); +char *body = mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL); + +RETVAL_STRING(body, 1); +free(body); } /* }}} */ [2009-04-23 21:03:39] scott...@php.net Can you provide the patch as a unified diff, just use the -u flag to cvs diff. [2009-04-23 19:05:24] jake dot levitt at mailtrust dot com A co-worker and I have created a diff that seems to fix this issue. Would someone else mind checking it out and seeing if there are any problems with it? diff php_imap.c php_imap_fixed.c 1251a1252 char *body = mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL); 1253c1254,1255 RETVAL_STRING(mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL), 1); --- RETVAL_STRING(body, 1); free(body); [2009-04-14 18:41:36] jake dot levitt at mailtrust dot com I tried closing and freeing the imap connection every 100 calls to imap_body() to see if it was the resource that was holding on to the memory. This did not help. Code: if ($i % 100 === 0) { echo Releasing mailbox\n; imap_close($mailbox); $mailbox = null; unset($mailbox); $mailbox = @imap_open($connect_string, $username, $password, 0, 3); $reopen_success = imap_reopen($mailbox, $connect_string, 0, 3); } 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/47940 -- Edit this bug report at http://bugs.php.net/?id=47940edit=1
#47940 [Opn-Asn]: imap_body() leaks memory
ID: 47940 Updated by: paj...@php.net Reported By: jake dot levitt at mailtrust dot com -Status: Open +Status: Assigned Bug Type: IMAP related Operating System: Ubuntu 8.04 (linux:2.6.24-21) PHP Version: 5.2.9 -Assigned To: +Assigned To: pajoye New Comment: Will test it using my test imap server. The last fix is correct but there is certainly other sources of leaks. Previous Comments: [2009-04-24 17:47:45] jake dot levitt at mailtrust dot com Hey guys it looks like we were a little hasty in submitting this patch. It now seems that our patch does lessen the memory leak, but does not eradicate it. We ran our test script using the patch and it seemed to work, but running the actual migration program shows that there is still a leak. Before our program would migrate ~1.5gb of mail now it migrates ~2.4gb before running out of memory. We have updated our test script to better expose the memory leak: /** * To watch memory usage use: * ps -eo pid,ppid,rss,vsize,pcpu,pmem,cmd -ww --sort=pid | grep \(memory-usage-test\)\|\(PID\) | grep -v grep */ $flags = '/novalidate-cert'; $host = 'a.host.com:143'; $username = 'a.u...@a.host.com'; $password = 'password'; $folder = 'INBOX'; $base_imap_string = '{' . $host . $flags . '}'; $connect_string = $base_imap_string . $folder; $mailbox = @imap_open($connect_string, $username, $password, 0, 3); $reopen_success = imap_reopen($mailbox, $connect_string, 0, 3); $message_ids = imap_search($mailbox, ALL, SE_UID); $num_msgs = count($message_ids); for ($i = 0; $i 100; $i++) { $msg_num = $i % $num_msgs; imap_body($mailbox, $message_ids[$msg_num], FT_UID); } [2009-04-23 22:35:57] paj...@php.net Slightly modified version committed in all branches. Thanks for your work! [2009-04-23 21:37:27] jake dot levitt at mailtrust dot com Here's a unified diff: diff -u php-5.2.9/ext/imap/php_imap.c php-5.2.9-fixed/ext/imap/php_imap.c --- php-5.2.9/ext/imap/php_imap.c2008-12-31 06:17:38.0 -0500 +++ php-5.2.9-fixed/ext/imap/php_imap.c2009-04-23 13:56:26.0 -0400 @@ -1250,7 +1250,10 @@ RETURN_FALSE; } -RETVAL_STRING(mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL), 1); +char *body = mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL); + +RETVAL_STRING(body, 1); +free(body); } /* }}} */ [2009-04-23 21:03:39] scott...@php.net Can you provide the patch as a unified diff, just use the -u flag to cvs diff. [2009-04-23 19:05:24] jake dot levitt at mailtrust dot com A co-worker and I have created a diff that seems to fix this issue. Would someone else mind checking it out and seeing if there are any problems with it? diff php_imap.c php_imap_fixed.c 1251a1252 char *body = mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL); 1253c1254,1255 RETVAL_STRING(mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL), 1); --- RETVAL_STRING(body, 1); free(body); 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/47940 -- Edit this bug report at http://bugs.php.net/?id=47940edit=1
#47940 [Com]: imap_body() leaks memory
ID: 47940 Comment by: nick at mailtrust dot com Reported By: jake dot levitt at mailtrust dot com Status: Assigned Bug Type: IMAP related Operating System: Ubuntu 8.04 (linux:2.6.24-21) PHP Version: 5.2.9 Assigned To: pajoye New Comment: After a little more testing we opened and closed the imap connection after every 50 messages. This seems to release the memory and works as a temporary fix. Also, we have confirmed the same bug in imap_fetchbody. I tested applying the same fix as above and it seems to fix the issue. Previous Comments: [2009-04-24 17:51:26] paj...@php.net Will test it using my test imap server. The last fix is correct but there is certainly other sources of leaks. [2009-04-24 17:47:45] jake dot levitt at mailtrust dot com Hey guys it looks like we were a little hasty in submitting this patch. It now seems that our patch does lessen the memory leak, but does not eradicate it. We ran our test script using the patch and it seemed to work, but running the actual migration program shows that there is still a leak. Before our program would migrate ~1.5gb of mail now it migrates ~2.4gb before running out of memory. We have updated our test script to better expose the memory leak: /** * To watch memory usage use: * ps -eo pid,ppid,rss,vsize,pcpu,pmem,cmd -ww --sort=pid | grep \(memory-usage-test\)\|\(PID\) | grep -v grep */ $flags = '/novalidate-cert'; $host = 'a.host.com:143'; $username = 'a.u...@a.host.com'; $password = 'password'; $folder = 'INBOX'; $base_imap_string = '{' . $host . $flags . '}'; $connect_string = $base_imap_string . $folder; $mailbox = @imap_open($connect_string, $username, $password, 0, 3); $reopen_success = imap_reopen($mailbox, $connect_string, 0, 3); $message_ids = imap_search($mailbox, ALL, SE_UID); $num_msgs = count($message_ids); for ($i = 0; $i 100; $i++) { $msg_num = $i % $num_msgs; imap_body($mailbox, $message_ids[$msg_num], FT_UID); } [2009-04-23 22:35:57] paj...@php.net Slightly modified version committed in all branches. Thanks for your work! [2009-04-23 21:37:27] jake dot levitt at mailtrust dot com Here's a unified diff: diff -u php-5.2.9/ext/imap/php_imap.c php-5.2.9-fixed/ext/imap/php_imap.c --- php-5.2.9/ext/imap/php_imap.c2008-12-31 06:17:38.0 -0500 +++ php-5.2.9-fixed/ext/imap/php_imap.c2009-04-23 13:56:26.0 -0400 @@ -1250,7 +1250,10 @@ RETURN_FALSE; } -RETVAL_STRING(mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL), 1); +char *body = mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL); + +RETVAL_STRING(body, 1); +free(body); } /* }}} */ [2009-04-23 21:03:39] scott...@php.net Can you provide the patch as a unified diff, just use the -u flag to cvs diff. 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/47940 -- Edit this bug report at http://bugs.php.net/?id=47940edit=1
#47940 [Asn]: imap_body() leaks memory
ID: 47940 Updated by: paj...@php.net Reported By: jake dot levitt at mailtrust dot com Status: Assigned Bug Type: IMAP related Operating System: Ubuntu 8.04 (linux:2.6.24-21) PHP Version: 5.2.9 Assigned To: pajoye New Comment: There are also similar bugs with the criteria and other various imap structure which should be freed as well. fix for the criteria on its way. Previous Comments: [2009-04-24 18:52:52] nick at mailtrust dot com After a little more testing we opened and closed the imap connection after every 50 messages. This seems to release the memory and works as a temporary fix. Also, we have confirmed the same bug in imap_fetchbody. I tested applying the same fix as above and it seems to fix the issue. [2009-04-24 17:51:26] paj...@php.net Will test it using my test imap server. The last fix is correct but there is certainly other sources of leaks. [2009-04-24 17:47:45] jake dot levitt at mailtrust dot com Hey guys it looks like we were a little hasty in submitting this patch. It now seems that our patch does lessen the memory leak, but does not eradicate it. We ran our test script using the patch and it seemed to work, but running the actual migration program shows that there is still a leak. Before our program would migrate ~1.5gb of mail now it migrates ~2.4gb before running out of memory. We have updated our test script to better expose the memory leak: /** * To watch memory usage use: * ps -eo pid,ppid,rss,vsize,pcpu,pmem,cmd -ww --sort=pid | grep \(memory-usage-test\)\|\(PID\) | grep -v grep */ $flags = '/novalidate-cert'; $host = 'a.host.com:143'; $username = 'a.u...@a.host.com'; $password = 'password'; $folder = 'INBOX'; $base_imap_string = '{' . $host . $flags . '}'; $connect_string = $base_imap_string . $folder; $mailbox = @imap_open($connect_string, $username, $password, 0, 3); $reopen_success = imap_reopen($mailbox, $connect_string, 0, 3); $message_ids = imap_search($mailbox, ALL, SE_UID); $num_msgs = count($message_ids); for ($i = 0; $i 100; $i++) { $msg_num = $i % $num_msgs; imap_body($mailbox, $message_ids[$msg_num], FT_UID); } [2009-04-23 22:35:57] paj...@php.net Slightly modified version committed in all branches. Thanks for your work! [2009-04-23 21:37:27] jake dot levitt at mailtrust dot com Here's a unified diff: diff -u php-5.2.9/ext/imap/php_imap.c php-5.2.9-fixed/ext/imap/php_imap.c --- php-5.2.9/ext/imap/php_imap.c2008-12-31 06:17:38.0 -0500 +++ php-5.2.9-fixed/ext/imap/php_imap.c2009-04-23 13:56:26.0 -0400 @@ -1250,7 +1250,10 @@ RETURN_FALSE; } -RETVAL_STRING(mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL), 1); +char *body = mail_fetchtext_full (imap_le_struct-imap_stream, Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL); + +RETVAL_STRING(body, 1); +free(body); } /* }}} */ 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/47940 -- Edit this bug report at http://bugs.php.net/?id=47940edit=1
#47940 [Asn]: imap_body() leaks memory
ID: 47940 Updated by: paj...@php.net Reported By: jake dot levitt at mailtrust dot com Status: Assigned Bug Type: IMAP related Operating System: Ubuntu 8.04 (linux:2.6.24-21) PHP Version: 5.2.9 Assigned To: pajoye New Comment: 2nd review of cclient, it is wrong to free the body as it is a simple pointer to the msg data, not a copy of its contents. However the criteria has to be freed. I'd to revert the fix for fetch_body and looks for better solution (maybe userland) to minimize the memory usage. Previous Comments: [2009-04-24 19:01:44] paj...@php.net There are also similar bugs with the criteria and other various imap structure which should be freed as well. fix for the criteria on its way. [2009-04-24 18:52:52] nick at mailtrust dot com After a little more testing we opened and closed the imap connection after every 50 messages. This seems to release the memory and works as a temporary fix. Also, we have confirmed the same bug in imap_fetchbody. I tested applying the same fix as above and it seems to fix the issue. [2009-04-24 17:51:26] paj...@php.net Will test it using my test imap server. The last fix is correct but there is certainly other sources of leaks. [2009-04-24 17:47:45] jake dot levitt at mailtrust dot com Hey guys it looks like we were a little hasty in submitting this patch. It now seems that our patch does lessen the memory leak, but does not eradicate it. We ran our test script using the patch and it seemed to work, but running the actual migration program shows that there is still a leak. Before our program would migrate ~1.5gb of mail now it migrates ~2.4gb before running out of memory. We have updated our test script to better expose the memory leak: /** * To watch memory usage use: * ps -eo pid,ppid,rss,vsize,pcpu,pmem,cmd -ww --sort=pid | grep \(memory-usage-test\)\|\(PID\) | grep -v grep */ $flags = '/novalidate-cert'; $host = 'a.host.com:143'; $username = 'a.u...@a.host.com'; $password = 'password'; $folder = 'INBOX'; $base_imap_string = '{' . $host . $flags . '}'; $connect_string = $base_imap_string . $folder; $mailbox = @imap_open($connect_string, $username, $password, 0, 3); $reopen_success = imap_reopen($mailbox, $connect_string, 0, 3); $message_ids = imap_search($mailbox, ALL, SE_UID); $num_msgs = count($message_ids); for ($i = 0; $i 100; $i++) { $msg_num = $i % $num_msgs; imap_body($mailbox, $message_ids[$msg_num], FT_UID); } [2009-04-23 22:35:57] paj...@php.net Slightly modified version committed in all branches. Thanks for your work! 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/47940 -- Edit this bug report at http://bugs.php.net/?id=47940edit=1
#48063 [Bgs]: Spontaneously disappearing, cookie-based sessions
ID: 48063 User updated by: myselfasunder at gmail dot com Reported By: myselfasunder at gmail dot com Status: Bogus Bug Type: Session related Operating System: Ubuntu PHP Version: 5.2.9 New Comment: I've removed the session name setting and the cookie-parameters call: ini_set('session.use_only_cookies', '1'); ini_set('session.gc_maxlifetime', 86400 * 3); session_start(); if(isset($_SESSION['aa'])) print(Session already exists.br); else print(Session DOES NOT exist.br); $_SESSION['aa'] = true; However, even though the cookie lifetime is 0, the session still disappears. Thoughts/suggestions? Is this most likely a me-problem, or the extension? Previous Comments: [2009-04-24 00:05:29] myselfasunder at gmail dot com This is just a project, at work, that I've been working on, and this is just all from the perspective of my local system... so, it's very unlikely that any other sessionized web-apps are running without me being able to think of them. I don't exactly know the format of the session file, but since it deals with serialized information and a predictable data-size, you can presumably put the lifetime information at the end of the file without interfering with backward compatibility..? [2009-04-23 21:59:15] scott...@php.net It's not that smart, it just looks through the session directory and kills anything that looks like a session file based on the last time the file was read and the currently lifetime value. If there are zero other scripts on the system then it should be fine, but I suspect there is one somewhere you are missing. Can you add this to the php.ini file and see if you can reproduce it? We could look to adding the session lifetime to the file but that would break backwards compatibility and you could accidentally set a session to 10 years from now and it would never get removed. [2009-04-23 21:24:24] myselfasunder at gmail dot com Even if this is the only script that executes on the system (a front-controller in the only application)? How about the fact that my session-name is 'COOKIE' in this test-script... Wouldn't only everything that uses a session-name of COOKIE interfere with each other, in this case? [2009-04-23 21:02:23] scott...@php.net You need to set it in the php.ini, if any other script uses sessions and doesn't set it to be the same value it will delete the sessions. [2009-04-23 19:06:20] myselfasunder at gmail dot com ?php session_name('COOKIE'); session_set_cookie_params(86400 * 3); ini_set('session.use_only_cookies', '1'); ini_set('session.gc_maxlifetime', 86400 * 3); session_start(); if(isset($_SESSION['aa'])) print(Session already exists.br); else print(Session DOES NOT exist.br); $_SESSION['aa'] = true; 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/48063 -- Edit this bug report at http://bugs.php.net/?id=48063edit=1
#48068 [Bgs]: java.lang.UnsatisfiedLinkError: startup , net.php.servlet.startup(Native Method
ID: 48068 User updated by: pushpakr at yahoo dot com Reported By: pushpakr at yahoo dot com Status: Bogus Bug Type: *Configuration Issues Operating System: Windows XP Pro PHP Version: 5.2.9 New Comment: Why has this been categorized bogus? Previous Comments: [2009-04-24 13:25:34] j...@php.net http://www.php.net/manual/en/intro.java.php Note: All this is totally unsupported. [2009-04-24 11:58:06] pushpakr at yahoo dot com Description: I have installed PHP 5.2.9 and APACHE TOMCAT 5.5.27. When I try to run the phpinfo test page I get the following error. java.lang.UnsatisfiedLinkError: startup net.php.servlet.startup(Native Method) net.php.servlet.init(servlet.java:158) I have made sure that php5srvlt.jar is in tomcat\commons\lib and the library=php5servlet line is servlet.properties and reflect.properties file is correct. I have php5servlet.dll and php5ts.dll in C:\php folder and C:\php has been set to PATH. I have even tried putting in c:\windows\system32 folder. I have also put this tp php.ini file [Java] java.class.path = c:\php\ext\php_java.jar java.home = D:\jdk1.5.0_18 java.library = D:\jdk1.5.0_18\jre\bin\client\jvm.dll java.library.path = c:\php\ext;D:\jdk1.5.0_18\jre\lib BUT STILL NOT WORKING. PLEASE HELP. CAN SOMEONE PLEASE PROVIDE ME php5srvlt.jar, php5servlet.dll and php5ts.dll file...just to see if something is wrong with the version I have. Actual result: -- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: Servlet.init() for servlet php threw exception org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:595) root cause java.lang.UnsatisfiedLinkError: startup net.php.servlet.startup(Native Method) net.php.servlet.init(servlet.java:158) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:595) -- Edit this bug report at http://bugs.php.net/?id=48068edit=1
#48073 [NEW]: PDO bindParam
From: admin at wdfa dot co dot uk Operating system: na PHP version: 5.2.9 PHP Bug Type: Feature/Change Request Bug description: PDO bindParam Description: Hi, Would it be possible to allow pdo-bindParam / pdo-bindValue to bind to column names. i.e. ?php $sql=UPDATE `table` SET :name='test'; $stm=$db-prepare($sql); $stm-bindParam(:name,column,PDO::PARAM_STR); $stm-execute(); ? -- Edit bug report at http://bugs.php.net/?id=48073edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=48073r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=48073r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=48073r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=48073r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=48073r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=48073r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=48073r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=48073r=needscript Try newer version: http://bugs.php.net/fix.php?id=48073r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=48073r=support Expected behavior: http://bugs.php.net/fix.php?id=48073r=notwrong Not enough info: http://bugs.php.net/fix.php?id=48073r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=48073r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=48073r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=48073r=php4 Daylight Savings:http://bugs.php.net/fix.php?id=48073r=dst IIS Stability: http://bugs.php.net/fix.php?id=48073r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=48073r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=48073r=float No Zend Extensions: http://bugs.php.net/fix.php?id=48073r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=48073r=mysqlcfg