#48058 [Asn]: DateTimeZone::getTransitions output different on 64 bit

2009-04-24 Thread wharmby at uk dot ibm dot com
 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

2009-04-24 Thread mortals at seznam dot cz
 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

2009-04-24 Thread robin at willowsv dot com
 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.

2009-04-24 Thread david dot parrott at gmail dot com
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

2009-04-24 Thread lunter at interia dot pl
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

2009-04-24 Thread andrej dot nagy at is-solutions dot sk
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

2009-04-24 Thread pajoye
 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

2009-04-24 Thread pushpakr at yahoo dot com
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.

2009-04-24 Thread pajoye
 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

2009-04-24 Thread lbarnaud
 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

2009-04-24 Thread lbarnaud
 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

2009-04-24 Thread mortals at seznam dot cz
 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

2009-04-24 Thread jani
 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

2009-04-24 Thread jani
 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

2009-04-24 Thread jani
 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

2009-04-24 Thread lbarnaud
 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

2009-04-24 Thread jani
 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

2009-04-24 Thread jarismar dot php at gmail dot com
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

2009-04-24 Thread jarismar dot php at gmail dot com
 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

2009-04-24 Thread schwern at pobox dot com
 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

2009-04-24 Thread php at richardneill dot org
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

2009-04-24 Thread andrej dot nagy at is-solutions dot sk
 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

2009-04-24 Thread jani
 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

2009-04-24 Thread jani
 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

2009-04-24 Thread richard dot sentino at mindginative dot com
 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

2009-04-24 Thread jani
 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

2009-04-24 Thread doctorrock83 at gmail dot com
 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

2009-04-24 Thread jake dot levitt at mailtrust dot com
 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

2009-04-24 Thread pajoye
 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

2009-04-24 Thread nick at mailtrust dot com
 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

2009-04-24 Thread pajoye
 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

2009-04-24 Thread pajoye
 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

2009-04-24 Thread myselfasunder at gmail dot com
 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

2009-04-24 Thread pushpakr at yahoo dot com
 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

2009-04-24 Thread admin at wdfa dot co dot uk
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