#49954 [Fbk->Csd]: Crypt() does not work for string < 4 character

2009-11-03 Thread rgr at woodwing dot com
 ID:   49954
 User updated by:  rgr at woodwing dot com
 Reported By:  rgr at woodwing dot com
-Status:   Feedback
+Status:   Closed
 Bug Type: *Encryption and hash functions
 Operating System: win32 only - Win XP 64-bit
 PHP Version:  5.3.0
 Assigned To:  pajoye
 New Comment:

Hello Pajoye,

thank you for your response. I have tried the 5.3.2-dev build from
snapshot and this issue is indeed fixed there. 

Good to know this is fixed in a later version.


Previous Comments:


[2009-11-02 20:47:57] paj...@php.net

May be related to #50052. Please try a SVN snapshot.



[2009-10-31 16:53:13] paj...@php.net

I can't reproduce it here. Can you try using a php 5.3 VC9 snapshot
please? http://windows.php.net/snapshots/



[2009-10-30 12:47:59] carlodeboer at me dot com

We are also experiencing problems with this bug. Especially during
testing and pilot studies it is quite common to have short passwords.
Upgrading to PHP 5.3 is not possible with this bug since we have to
support existing installations with short passwords.



[2009-10-27 13:44:50] vdklah at hotmail dot com

This problem is pretty bad; After PHP 5.2->5.3 migration, users having
short passwords are no longer allowed to login (to our system) due to
the crypt mismatch! And, even worse, they are not allowed to change
their password due to the very same problem!



[2009-10-22 11:51:05] rgr at woodwing dot com

Description:

The function Crypt() does not work with less than 4 characters in PHP
5.3.0. See the code sample below.

When using 'test' as $user_input and $password it does work correct.

Reproduce code:
---
---
>From manual page: function.crypt#Examples
---

$user_input = 'tes';
$password = crypt('tes'); // let the salt be automatically generated

if (crypt($user_input, $password) == $password) {
  echo "Password verified!";
}

Expected result:

The comparison should result true.

Actual result:
--
The comparison returns false.





-- 
Edit this bug report at http://bugs.php.net/?id=49954&edit=1



#48528 [NoF->Csd]: mysqlnd causes PDO/MySQLi to leak memory

2009-11-03 Thread uw
 ID:   48528
 Updated by:   u...@php.net
 Reported By:  bugs dot php dot net at moesen dot nu
-Status:   No Feedback
+Status:   Closed
 Bug Type: MySQL related
 Operating System: Linux 2.6
 PHP Version:  5.3CVS-2009-06-11 (snap)
 New Comment:

Duplicate of http://bugs.php.net/bug.php?id=48343 - there is no leak,
mysqlnd and libmysql work differently. 


Previous Comments:


[2009-10-30 12:32:15] guenter at grodotzki dot ph

same problem here, though with the normal mysql_query + mysql_fetch*
functions



[2009-06-20 01:00:00] 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-06-16 08:31:16] bugs dot php dot net at moesen dot nu

> libmysql's allocations are hidden.
OK, that explains the numbers. Thanks.

> Do you really get OOM with mysqlnd?
Yes, for the same dataset.

> as you can see the memory usage with USE_RESULT doesn't jump
Thanks for that pointer. I completely missed it in the documentation,
and since we never had any problems before switching over to 5.3, I
never needed it. The human equivalent of lazy evaluation, I guess.

So if I understand it correctly, libmysql is not subject to PHP's
memory limit, whereas mysqlnd is?



[2009-06-12 07:36:09] and...@php.net

Do you really get OOM with mysqlnd? memory_get_usage() is constant with
libmysql because libmysql allocates its memory with malloc while Zend
and all PHP functions mostly use emalloc. emalloc counts the allocated
memory. libmysql's allocations are hidden.
I tried your script, created a simple table with the same name and 
- int
- double
- varchar
- decimal
columns.
I have 33 rows. Here is the output when the data is fetched with
MYSQLI_STORE_RESULT, which is the default:
361756 <- before $result = $db->query
366384
366656
366928
367200
367472
367744
368016
368288
368560
368832
369104
369376
369648
369920
370192
370464
370736
371008
371280
371552
371824
372096
372368
372640
372912
373184
373456
373728
374000
374272
374544
374816
375088
362840 <- this is the result after I do $result->free_result(), which
means that the memory doesn't leak. Most of it is reclaimed. It can be
that Zend also cache some zvals in its zval cache, which means that
memory has not leaked and is there for further usage. 

Here is with MYSQLI_USE_RESULT:
361756  <- before $result = $db->query
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
365764
362840 <- After $result->free_result()

So, as you can see the memory usage with USE_RESULT doesn't jump, for a
reaon. Because data is not stored on the client side. With libmysql you
cannot see it, but the usage is there.





[2009-06-11 12:17:57] bugs dot php dot net at moesen dot nu

Description:

PHP 5.3 leaks memory when using the MySQL functions, both through PDO
and MySQLi directly. When recompiled without mysqlnd, the same code
works fine.

./configure --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd
--with-pdo-mysql=shared,mysqlnd [ . . . ]

Recompiled today's snapshot without the ',mysqlnd'.

Reproduce code:
---
PDO:
$db = new PDO($dsn, $user, $pass);
$stmt = $test->prepare('SELECT * FROM
tech_eciffOkcab.crawlPriceComp');
$result = $stmt->execute();
while($result && $row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo memory_get_usage(), "\n";
}

MySQLi:
$db = new MySQLi($host, $user, $pass);
$result = $db->query('SELECT * FROM tech_eciffOkcab.crawlPriceComp');
while ($result && $row = $result->fetch_assoc()) {
echo memory_get_usage(), "\n";
}


Expected result:

Consistent memory_get_usage();

I.e., no extra memory required, and thus no out-of-memory errors.

Actual result:
--
Linearly increasing memory_get_usage();

PDO:
23168400
23169064
...
33552804
33552916
-> OOM and segfault.

MySQLi:
23168216
23168700
...
33552812
33552924
-> OOM and segfault.





-- 
Edit this bug report at http://bugs.php.net/?id=48528&edit=1



#50021 [Opn->Fbk]: Predefined Statements doesn't allow Strings with more than 256 letters.

2009-11-03 Thread uw
 ID:   50021
 Updated by:   u...@php.net
 Reported By:  novitools dot novi at web dot de
-Status:   Open
+Status:   Feedback
 Bug Type: MySQLi related
 Operating System: Windows Vista
 PHP Version:  5.3.0
 New Comment:

Please run you query in the MySQL prompt and show the meta data that is
returned from MySQL.  Start the MySQL prompt with "mysql
--column-type-info" followed by your usual "-u", "-p", "-h" etc.
options.

For example:

nixn...@ulflinux:~> /usr/local/mysql/bin/mysql   --column-type-info
-uroot -proot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.1.39-debug Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

mysql> select 1;
Field   1:  `1`
Catalog:`def`
Database:   ``
Table:  ``
Org_table:  ``
Type:   LONGLONG
Collation:  binary (63)
Length: 1
Max_length: 1
Decimals:   0
Flags:  NOT_NULL BINARY NUM


+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

But, of course, run your failing query and run mysql prompt on your
system.

Thanks,
Ulf





Previous Comments:


[2009-10-30 15:12:35] novitools dot novi at web dot de

So the problem only occurs on specific versions:

No Problem with this Versions:
client_version 50005
server_version 50132

Big Problem with this Versions:
client_version 50137
server_version 50137



[2009-10-29 17:58:24] friedrich dot mark at freenet dot de

Same Problem here:
$db = new mysqli('localhost', 'root', '', 'test');
$stmt = $db->stmt_init();
$sql = "SELECT `text` FROM `longtext` WHERE `id` = 1";
$stmt->prepare($sql);
$stmt->execute();
$stmt->bind_result($text);
$stmt->fetch();
$stmt->close();
var_dump(phpversion());
var_dump($db->client_version);
var_dump($db->server_version);
var_dump($db->protocol_version);
var_dump($text);

Output:
string(5) "5.3.0"
int(50137)
int(50137)
int(10)
string(256) "Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna
aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
dolores et ea rebum. Stet clita kasd gubergren, no sea takimata "

OS: Win 7

SQL:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE DATABASE `test` DEFAULT CHARACTER SET latin1 COLLATE
latin1_swedish_ci;
USE `test`;

CREATE TABLE IF NOT EXISTS `longtext` (
  `id` int(11) NOT NULL,
  `text` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `longtext` (`id`, `text`) VALUES
(1, 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem
ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing
elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna
aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus
est Lorem ipsum dolor sit amet.');



[2009-10-29 17:07:41] novitools dot novi at web dot de

When I run the test from hellbringer at gmail dot com I get a different
result. Also the MySQL-Versions are different:

string(5) "5.3.0"
int(50137)
int(50137)
int(10)
string(256) "You can only read the first 256 words of this text.
That
is why I must write such a long text, because I must reach the limit
of
256 words. The same error occours, when you try to select a text
column
from the database. But I didn't had this error befo"

Are there any setting that can cause this problem?



[2009-10-29 16:26:39] hellbringer at gmail dot com

Works for me in PHP 5.3.0:


stmt_init();
$sql = "SELECT 'You can only read the first 256 words of this text.
That
is why I must write such a long text, because I must reach the limit
of
256 words. The same error occours, when you try to select a text
column
from the database. But I didn\'t had this error before in a previous
version of php.'";
$stmt->prepare($sql);
$stmt->execute();
$stmt->bind_result($text);
$stmt->fetch();
$stmt->close();
var_dump(phpversion());
var_dump($db->client_version);
var_dump($db->server_version);
var_dump($db->protocol_version);
var_dump($text);

?>


Output:

string(5) "5.3.0"
int(50005)
int(50132)
int(10)
string(288) "You can only read the first 256 words of this text. That
is why I must write such a long text, because I must reach the limit
of
256 words. The same error occours, when you try to select a text
column
from the database. But I didn't had this error before in a previous
version of php."


#50060 [Opn->Bgs]: "failed creating formpost data" if post array value starts with '@'

2009-11-03 Thread scottmac
 ID:   50060
 Updated by:   scott...@php.net
 Reported By:  bugs dot php dot net at sgerrand dot com
-Status:   Open
+Status:   Bogus
 Bug Type: cURL related
 Operating System: Linux (Ubuntu x86_64 2.6.31-14)
 PHP Version:  5.2.11
 New Comment:

@ has a special meaning with cURL and takes the contents of the file.


Previous Comments:


[2009-11-03 07:29:36] bugs dot php dot net at sgerrand dot com

Description:

PHP's cURL library dies returning the error message "failed creating 
formpost data" when trying to use an array that contains a value 
starting with '@'. 

If the array is changed to a string in URL encoded like format, the 
problem does not occur.

Reproduce code:
---
http://www.php.net';
$postData = array('key' => '@value');
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

if (! curl_exec($ch) ) print 'cURL error: ' . curl_error($ch);
else print "cURL success";

curl_close($ch);

?>

Expected result:

cURL success

Actual result:
--
cURL error: failed creating formpost data





-- 
Edit this bug report at http://bugs.php.net/?id=50060&edit=1



#49997 [Opn->Fbk]: Implementing a namespaced interface crashes

2009-11-03 Thread scottmac
 ID:   49997
 Updated by:   scott...@php.net
 Reported By:  flavius dot as at gmail dot com
-Status:   Open
+Status:   Feedback
 Bug Type: Reproducible crash
 Operating System: Linux x86_64
 PHP Version:  5.3.0
 New Comment:

Please try using this snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/

There was a fix for autoload crashing on an interface in bug #49908


Previous Comments:


[2009-11-03 05:59:15] flavius dot as at gmail dot com

Could someone do something with this report?



[2009-11-03 01:00:00] 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-10-28 19:30:23] flavius dot as at gmail dot com

Sorry for the incomplete post.

This happens in my scripts because it's trying to autoload an
interface.
My code was indeed buggy, but I woudn't expect PHP to crash.



[2009-10-28 19:27:29] flavius dot as at gmail dot com

After some debugging, I came to the conclusion that it crashes because
of an exception being thrown inside a spl_register_autoload()'ed
userland method.

Here's the bt:

#0  zend_lookup_class_ex (name=0x15b9d40 "Exception", name_length=9,
use_autoload=1, ce=0x7fffb2e0) at
/home/flav/php-5.3.0/Zend/zend_execute_API.c:1016
#1  0x007954d1 in zend_fetch_class (class_name=0x15b9d40
"Exception", class_name_len=9, fetch_type=4)
at /home/flav/php-5.3.0/Zend/zend_execute_API.c:1524
#2  0x007d8d22 in ZEND_FETCH_CLASS_SPEC_CONST_HANDLER
(execute_data=0x76552cc0) at
/home/flav/php-5.3.0/Zend/zend_vm_execute.h:724
#3  0x007d6b50 in execute (op_array=0x15bc828) at
/home/flav/php-5.3.0/Zend/zend_vm_execute.h:104
#4  0x007940e5 in zend_call_function (fci=0x7fffb640,
fci_cache=0x7fffb5d0) at
/home/flav/php-5.3.0/Zend/zend_execute_API.c:936
#5  0x007bfae4 in zend_call_method (object_pp=0x0,
obj_ce=0x15b8eb0, fn_proxy=0x15b09f8, function_name=0x15ba410
"\\yap\\base::autoload",
function_name_len=20, retval_ptr_ptr=0x7fffb748, param_count=1,
arg1=0x15f8930, arg2=0x0) at
/home/flav/php-5.3.0/Zend/zend_interfaces.c:97
#6  0x00600de0 in zif_spl_autoload_call (ht=1,
return_value=0x161c620, return_value_ptr=0x7fffba70, this_ptr=0x0,
return_value_used=1)
at /home/flav/php-5.3.0/ext/spl/php_spl.c:395
#7  0x007942c2 in zend_call_function (fci=0x7fffba20,
fci_cache=0x7fffb9f0) at
/home/flav/php-5.3.0/Zend/zend_execute_API.c:958
#8  0x00794999 in zend_lookup_class_ex (name=0x15f8a30
"YAP\\patterns\\IInheritable", name_length=25, use_autoload=1,
ce=0x7fffbb20)
at /home/flav/php-5.3.0/Zend/zend_execute_API.c:1089
#9  0x007954d1 in zend_fetch_class (class_name=0x15f8a30
"YAP\\patterns\\IInheritable", class_name_len=25, fetch_type=6)
at /home/flav/php-5.3.0/Zend/zend_execute_API.c:1524
#10 0x007d93d3 in ZEND_ADD_INTERFACE_SPEC_CONST_HANDLER
(execute_data=0x76552bb8) at
/home/flav/php-5.3.0/Zend/zend_vm_execute.h:890
#11 0x007d6b50 in execute (op_array=0x15f68c8) at
/home/flav/php-5.3.0/Zend/zend_vm_execute.h:104
#12 0x007a38de in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /home/flav/php-5.3.0/Zend/zend.c:1188
#13 0x0072ed19 in php_execute_script
(primary_file=0x7fffe1b0) at /home/flav/php-5.3.0/main/main.c:2196
#14 0x0088c885 in main (argc=7, argv=0x7fffe408) at
/home/flav/php-5.3.0/sapi/cli/php_cli.c:1188



[2009-10-26 16:54:38] flavius dot as at gmail dot com

Done. The output:

Reading symbols from /home/flav/php-5.3.0/sapi/cli/php...done.
(gdb) run /usr/bin/phpunit --bootstrap bootstrap.php --configuration
phpunit.xml testunit/
Starting program: /home/flav/php-5.3.0/sapi/cli/php /usr/bin/phpunit
--bootstrap bootstrap.php --configuration phpunit.xml testunit/
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x007d93db in ZEND_ADD_INTERFACE_SPEC_CONST_HANDLER
(execute_data=0x765529a8) at
/home/flav/php-5.3.0/Zend/zend_vm_execute.h:892
892 if (!(iface->ce_flags & ZEND_ACC_INTERFACE)) {
(gdb) bt
#0  0x007d93db in ZEND_ADD_INTERFACE_SPEC_CONST_HANDLER
(execute_data=0x765529a8) at
/home/flav/php-5.3.0/Zend/zend_vm_execute.h:892
#1  0x007d6b50 in execute (op_array=0x161f078) at
/home/flav/php-5.3.0/Zend/zend_vm_execute.h:104
#2  0x007a38de in zend_exe

#49965 [Opn->Asn]: Setting MYSQLI_OPT_CONNECT_TIMEOUT does not seem to have an effect on timeout

2009-11-03 Thread jani
 ID:   49965
 Updated by:   j...@php.net
 Reported By:  ed at bellcpa dot com
-Status:   Open
+Status:   Assigned
 Bug Type: MySQLi related
-Operating System: any
+Operating System: *
 PHP Version:  5.*, 6.*
 Assigned To:  mysql


Previous Comments:


[2009-10-29 18:19:45] u...@php.net

I discussed this with Andrey. We propose to change ext/mysqli to cast
$value passed to mysqli_options to an appropriate type internally. Old
code should not notice the change because it should be using an
appropriate type for $value in mysqli_options($link, $option, $value)
already.

I'll soon patch ext/mysqli.





[2009-10-28 23:58:12] ed at bellcpa dot com

Ah, makes perfect sense. Glad it wasn't something more serious and
sorry for the oversight. Enclosing my option value in intval() solved it
as expected.

Thanks!



[2009-10-28 23:48:10] u...@php.net

Hi Ed,

thanks for the additional information given in a private mail.

Yes, it matters what type the option value has that you pass to
mysqli_options(). It matters ever since 5.0. It is irrelevant if you use
mysqlnd or libmysql.

mysqli_options(mysqli $link, int $option, mixed $value) inspects the
type of the $value parameter. If you pass a string value, as stated in
your private mail, ext/mysqli forwards a string to mysqlnd resp.
libmysql. Both mysqlnd and libmysql expect that the data they get is of
the appropriate type for $option allowing them to use a simple cast to
interpret the data. 

String is not the appropriate type for MYSQLI_OPT_CONNECT_TIMEOUT - the
cast inside mysqlnd/libmysql causes a bogus value to be used...

This will not work:

 $timeout = "5"
 mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, $timeout);
 mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, "5");

You must use the following:

 $timeout = 5;
 mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, $timeout);
 mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5);





[2009-10-28 17:52:26] u...@php.net

Interesting. I assume it does not matter if you use 5.3.0 or
5.3.2-dev?

Thanks so far!
Ulf



[2009-10-28 17:40:27] ed at bellcpa dot com

Ulf,

Here is the fsockopen() result, looks like timeout works as expected:

C:\temp2>php testme.php
PHP Warning:  fsockopen(): unable to connect to
tcp://192.168.201.222:3306 (A co
nnection attempt failed because the connected party did not properly
respond aft
er a period of time, or established connection failed because connected
host has
 failed to respond.
) in C:\temp2\testme.php on line 6
PHP Stack trace:
PHP   1. {main}() C:\temp2\testme.php:0
PHP   2. fsockopen() C:\temp2\testme.php:6

Warning: fsockopen(): unable to connect to tcp://192.168.201.222:3306
(A connect
ion attempt failed because the connected party did not properly respond
after a
period of time, or established connection failed because connected host
has fail
ed to respond.
) in C:\temp2\testme.php on line 6

Call Stack:
0.0312 324832   1. {main}() C:\temp2\testme.php:0
0.0491 325280   2. fsockopen() C:\temp2\testme.php:6

bool(false)
int(10060)
string(185) "A connection attempt failed because the connected party
did not pro
perly respond after a period of time, or established connection failed
because c
onnected host has failed to respond.
"
float(5.1100761890411)



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/49965

-- 
Edit this bug report at http://bugs.php.net/?id=49965&edit=1



#50024 [Opn->Fbk]: basename() chops first character in filename

2009-11-03 Thread jani
 ID:   50024
 Updated by:   j...@php.net
 Reported By:  peo at bsdlabs dot com
-Status:   Open
+Status:   Feedback
 Bug Type: Filesystem function related
 Operating System: FreeBSD
 PHP Version:  5.2.11
 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 ,
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-10-27 18:47:21] peo at bsdlabs dot com

Description:

The platform is: 
FreeBSD 7.2-STABLE #0: Thu Oct 15 07:23:17 CEST 2009
- Problem not tied to a specific version of OS or PHP
- Vanilla installation of Horde http://www.horde.org
- Identical problem present on two servers
- Problem started to occur spring 2009
- Low server load
- Intermittent
- Comes and goes at certain times during the day. Usually, the problem
will start around 11:30 CEST or 10:30 CET, last for 24h and then go away
for another 24h.
And yes, we have looked for causes for this behaviour
- Happens regardless of cache configuration in Horde, even without any
caching
- Happens regardless of cache and session settings in php.ini
- The below is an *example*
- One more user on the Horde lists have reported same problem with same
OS (FreeBSD)

Reproduce code:
---
function factory($driver, $params = array())
{
if (is_array($driver)) {
$app = $driver[0];
$driver = $driver[1];
}
$driver = basename($driver);
if (empty($driver) || $driver == 'none') {
return new Horde_Cache($params);
}
if (!empty($app)) {
include_once $app . '/lib/Cache/' . $driver . '.php';
} elseif (file_exists(dirname(__FILE__) . '/Cache/' . $driver .
'.php')) {
include_once dirname(__FILE__) . '/Cache/' . $driver .
'.php';
} else {
include_once 'Horde/Cache/' . $driver . '.php';
}
$class = 'Horde_Cache_' . $driver;
if (class_exists($class)) {
$cache = new $class($params);
} else {
$cache = PEAR::raiseError('Class definition of ' . $class .
' not found.');
}
return $cache;
}

Expected result:

Should return memcache.php in this case, but it could be "none.php"
(where the actual output will be "one.php")

Actual result:
--
[21-Oct-2009 07:28:28] after basename d string(8) "memcache"
string(7) "emcache"

[21-Oct-2009 07:28:28] backtrace NULL
string(7) "emcache"
#0  Horde_Cache->factory(memcache, Array ([hostspec] => Array ([0] =>
localhost),[port] => Array ([0] => 11211),[weight] => Array
(),[persistent] => ,[compression] => ,[large_items] => 1,[enabled] =>
1)) called at [/usr/local/www/horde/lib/Horde/Cache.php:234]
#1  Horde_Cache->singleton(memcache, Array ([hostspec] => Array ([0] =>
localhost),[port] => Array ([0] => 11211),[weight] => Array
(),[persistent] => ,[compression] => ,[large_items] => 1,[enabled] =>
1)) called at [/usr/local/www/horde/lib/Horde/Perms/sql.php:57]
#2  Perms_sql->Perms_sql(Array ([username] => horde,[password] =>
,[protocol] => unix,[database] => horde,[charset] =>
iso-8859-1,[splitread] => ,[ssl] => ,[phptype] => mysqli)) called at
[/usr/local/www/horde/lib/Horde/Perms.php:462]
#3  Perms->factory(sql, Array ([username] => horde,[password] =>
,[protocol] => unix,[database] => horde,[charset] =>
iso-8859-1,[splitread] => ,[ssl] => ,[phptype] => mysqli)) called at
[/usr/local/www/horde/lib/Horde/Perms.php:496]
#4  Perms->singleton() called at
[/usr/local/www/horde/lib/Horde/Registry.php:278]
#5  Registry->Registry(0) called at
[/usr/local/www/horde/lib/Horde/Registry.php:139]
#6  Registry::singleton() called at
[/usr/local/www/horde/imp/lib/base.php:49]
#7  require_once(/usr/local/www/horde/imp/lib/base.php) called at
[/usr/local/www/horde/imp/redirect.php:89]
#8  require(/usr/local/www/horde/imp/redirect.php) called at
[/usr/local/www/horde/imp/index.php:26]
NULL

[21-Oct-2009 07:28:28] PHP Warning: 
include_once(Horde/Cache/emcache.php) [function.include-once]: failed to open
stream: No such file or directory in
/usr/local/www/horde/lib/Horde/Cache.php on line 194
[21-Oct-2009 07:28:28] PHP Warning:  include_once() [function.include]: Failed opening
'Horde/Cache/emcache.php' for inclusion
(include_path='/usr/local/www/horde/lib:.:/usr/local/share/pear') in
/usr/local/www/horde/lib/Horde/Cache.php on line 194
[21-Oct-2009 07:28:39] after basename d string(8) "memcache"
string(7) "emcache"



#50060 [Bgs]: "failed creating formpost data" if post array value starts with '@'

2009-11-03 Thread bugs dot php dot net at sgerrand dot com
 ID:   50060
 User updated by:  bugs dot php dot net at sgerrand dot com
 Reported By:  bugs dot php dot net at sgerrand dot com
 Status:   Bogus
 Bug Type: cURL related
 Operating System: Linux (Ubuntu x86_64 2.6.31-14)
 PHP Version:  5.2.11
 New Comment:

Please refer to the documentation for curl_setopt() - 
http://php.net/curl_setopt

CURLOPT_POSTFIELDS   The full data to post in a HTTP "POST" 
operation. To post a file, prepend a filename with @ and use the full 
path. This can either be passed as a urlencoded string like 
'para1=val1¶2=val2&...' or as an array with the field name as key 
and field data as value. If value is an array, the Content-Type header

will be set to multipart/form-data.

The case I have logged is when data to be posted using this option is 
an array which happens to have a value that starts with '@', as per 
the example. This edge case is being caused by the function used to 
create the form data to pass to cURL.

I would note that the cURL command line client on any POSIX system can

perform this without issue - i.e.: 

curl -d 'k...@value' http://www.php.net/


Previous Comments:


[2009-11-03 10:18:06] scott...@php.net

@ has a special meaning with cURL and takes the contents of the file.



[2009-11-03 07:29:36] bugs dot php dot net at sgerrand dot com

Description:

PHP's cURL library dies returning the error message "failed creating 
formpost data" when trying to use an array that contains a value 
starting with '@'. 

If the array is changed to a string in URL encoded like format, the 
problem does not occur.

Reproduce code:
---
http://www.php.net';
$postData = array('key' => '@value');
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

if (! curl_exec($ch) ) print 'cURL error: ' . curl_error($ch);
else print "cURL success";

curl_close($ch);

?>

Expected result:

cURL success

Actual result:
--
cURL error: failed creating formpost data





-- 
Edit this bug report at http://bugs.php.net/?id=50060&edit=1



#50059 [Opn->Bgs]: strototime() incorrectly parses first sunday of Nov 2009

2009-11-03 Thread jani
 ID:   50059
 Updated by:   j...@php.net
 Reported By:  herrnoel at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Date/time related
 Operating System: Linux/Debian 5.0.3
 PHP Version:  5.2.11
 New Comment:

1. Too old and wrong PHP version. (we only support what we release, not
some badly patched binaries from 3rd party)

2. This is not a bug, strotime() is not an AI which can parse any crap
you pass it. Please ask support on the right forum.


Previous Comments:


[2009-11-03 03:19:01] herrnoel at gmail dot com

Description:

Actual php version is latest from debian stable: PHP 5.2.6-1+lenny3

When using strtotime() for some really handy english parsing, it works
great EXCEPT for the first day of the month.

The format is as follows:

[1-4] [day of week] [month] [year]

If the day of the week is the first day of the month, this will return
the date starting one week ahead of the first day of the month.
Otherwise, the behavior is as expected.

This is repeatable for all months.  If you leave out the initial digit,
the broken first day of the month works, but then you must use 1 to
indicate the 2nd instance of that day and so on.

Reproduce code:
---
echo date('Y-m-d', strtotime('1 thu oct 2009')); # first day of month
echo date('Y-m-d', strtotime('1 fri oct 2009')); # second day of month
echo date('Y-m-d', strtotime('1 sun nov 2009')); # first day of month
echo date('Y-m-d', strtotime('2 sun nov 2009')); # second sunday of
month (sunday is the first day of month)


Expected result:

2009-10-01
2009-10-02
2009-11-01
2009-11-08


Actual result:
--
2009-10-08
2009-10-02
2009-11-08
2009-11-15





-- 
Edit this bug report at http://bugs.php.net/?id=50059&edit=1



#50057 [Opn->Fbk]: crash in _php_pgsql_notice_ptr_dtor -> efree with Horde

2009-11-03 Thread jani
 ID:   50057
 Updated by:   j...@php.net
 Reported By:  proforg at maloletka dot ru
-Status:   Open
+Status:   Feedback
 Bug Type: Reproducible crash
 Operating System: Debian Lenny 2.6.26-2-amd64
 PHP Version:  5.2SVN-2009-11-02 (snap)
 New Comment:

Can you reproduce this without the 3rd party patches? (no, we do not
support this FPM thing!)


Previous Comments:


[2009-11-03 02:22:59] proforg at maloletka dot ru

the same for 5.2.10 and 5.2.11
but 5.2.9 works fine



[2009-11-02 23:10:30] proforg at maloletka dot ru

Description:

php5.2-200911021930 + apache2 / fpm sapi frequently crashes on debian 
horde3 + imp4 installation.

Reproduce code:
---
Current debian horde and imp packages.

Actual result:
--
fpm log output:

Nov 03 01:51:13.738647 [WARNING] fpm_children_bury(), line 217: child 
19892 (pool www-data) exited on signal 11 SIGSEGV (core 
dumped) after 2377.432524 seconds from start
Nov 03 01:51:13.738687 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: "[Tue Nov  3 
01:36:48 2009]  Script:  '/usr/share/horde3//index.php'"
Nov 03 01:51:13.738716 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: 
"/usr/local/src/php5.2-200911021930/ext/pgsql/pgsql.c(289) :  Freeing 
0x029A97C0 (46 bytes), 
script=/usr/share/horde3//index.php", pipe is closed
Nov 03 01:51:13.738738 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: "[Tue Nov  3 
01:36:48 2009]  Script:  '/usr/share/horde3//index.php'", pipe is 
closed
Nov 03 01:51:13.738758 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: 
"/usr/local/src/php5.2-200911021930/ext/pgsql/pgsql.c(361) :  Freeing 
0x02540370 (16 bytes), 
script=/usr/share/horde3//index.php", pipe is closed
Nov 03 01:51:13.738779 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: "=== Total 2 
memory leaks detected ===", pipe is closed



backtrace:

[New process 19892]
#0  0x00734d34 in zend_mm_check_ptr (heap=0x1e392a0, 
ptr=0x69766f7270207469, silent=1, 
__zend_filename=0x8913f8 "/usr/local/src/php5.2-
200911021930/ext/pgsql/pgsql.c", __zend_lineno=379, 
__zend_orig_filename=0x0, __zend_orig_lineno=0)
at /usr/local/src/php5.2-200911021930/Zend/zend_alloc.c:1304
1304if (p->info._size != ZEND_MM_NEXT_BLOCK(p)-
>info._prev) {
(gdb) bt
#0  0x00734d34 in zend_mm_check_ptr (heap=0x1e392a0, 
ptr=0x69766f7270207469, silent=1, 
__zend_filename=0x8913f8 "/usr/local/src/php5.2-
200911021930/ext/pgsql/pgsql.c", __zend_lineno=379, 
__zend_orig_filename=0x0, __zend_orig_lineno=0)
at /usr/local/src/php5.2-200911021930/Zend/zend_alloc.c:1304
#1  0x007367da in _zend_mm_free_int (heap=0x1e392a0, 
p=0x69766f7270207469, __zend_filename=0x8913f8 
"/usr/local/src/php5.2-200911021930/ext/pgsql/pgsql.c", 
__zend_lineno=379, __zend_orig_filename=0x0, __zend_orig_lineno=0)

at /usr/local/src/php5.2-
200911021930/Zend/zend_alloc.c:1943
#2  0x00737d76 in _efree (ptr=0x69766f7270207469, 
__zend_filename=0x8913f8 "/usr/local/src/php5.2-
200911021930/ext/pgsql/pgsql.c", __zend_lineno=379, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at 
/usr/local/src/php5.2-200911021930/Zend/zend_alloc.c:2311
#3  0x005a7ba0 in _php_pgsql_notice_ptr_dtor (ptr=0x1fe2928) 
at /usr/local/src/php5.2-
200911021930/ext/pgsql/pgsql.c:379
#4  0x0076503d in zend_hash_clean (ht=0xb83a88) at 
/usr/local/src/php5.2-200911021930/Zend/zend_hash.c:552
#5  0x005a843e in zm_deactivate_pgsql (type=1, 
module_number=18) at /usr/local/src/php5.2-
200911021930/ext/pgsql/pgsql.c:578
#6  0x0075f9c5 in module_registry_cleanup (module=0x1e70e80) 
at /usr/local/src/php5.2-
200911021930/Zend/zend_API.c:1976
#7  0x007658a5 in zend_hash_reverse_apply (ht=0xb87e60, 
apply_func=0x75f98a ) at 
/usr/local/src/php5.2-200911021930/Zend/zend_hash.c:755
#8  0x00756f2d in zend_deactivate_modules () at 
/usr/local/src/php5.2-200911021930/Zend/zend.c:838
#9  0x006fed04 in php_request_shutdown (dummy=0x0) at 
/usr/local/src/php5.2-200911021930/main/main.c:1474
#10 0x007de90f in main (argc=6, argv=0x7fff4f59af58) at 
/usr/local/src/php5.2-
200911021930/sapi/fpm/cgi/cgi_main.c:1589

php build options:
--with-fpm --with-libevent=shared,/usr --with-pgsql --with-gd --with-
mhash --with-mcrypt --with-pear=/usr/share/php/ --enable-
debug  --with-imap --with-kerberos --with-imap-ssl --with-gettext

same result with apache2 sapi





-- 
Edit this bug report at http://bugs.php.net/?id=50057&edit=1



#50054 [Opn->Bgs]: magick/semaphore.c Assertion

2009-11-03 Thread jani
 ID:   50054
 Updated by:   j...@php.net
 Reported By:  technik at cyberagent dot de
-Status:   Open
+Status:   Bogus
 Bug Type: Reproducible crash
 Operating System: Debian 5.0.3 Linux version 2.6.2
 PHP Version:  5.3.0
 New Comment:

Wrong place to report bugs in PECL extensions. Try
http://pecl.php.net/bugs/ instead.


Previous Comments:


[2009-11-02 15:00:57] technik at cyberagent dot de

Description:

goofy:~ # php -m
[PHP Modules]
Core
ctype
curl
date
dom
ereg
facedetect
fileinfo
filter
ftp
gd
geoip
gettext
hash
iconv
idn
imagick
imap
json
libpuzzle
libxml
lzf
magickwand
mbstring
mcrypt
memcache
mhash
mysql
mysqli
openssl
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
SPL
SQLite
sqlite3
standard
tidy
tokenizer
xml
xmlreader
xmlwriter
xsl
zip
zlib

[Zend Modules]

php: magick/semaphore.c:288: LockSemaphoreInfo: Assertion
`semaphore_info != (SemmaphoreInfo *) ((void *)0)' failed.
Aborted
goofy:~ #

(assertion occures on every php call)


Reproduce code:
---
none






-- 
Edit this bug report at http://bugs.php.net/?id=50054&edit=1



#50035 [Opn->Fbk]: Crash during shutdown, zm_shutdown_ps_mm

2009-11-03 Thread jani
 ID:   50035
 Updated by:   j...@php.net
-Summary:  Segfault on Exit
 Reported By:  dhertel at gmail dot com
-Status:   Open
+Status:   Feedback
-Bug Type: Reproducible crash
+Bug Type: Session related
 Operating System: linux 2.6.27
 PHP Version:  5.3.1RC2
 New Comment:

It crashes in mod_mm.c line 256 which is ps_mm_destroy() doing
mm_destroy(). See also bug #46434 which is about another MM related
crash in session module. I would guess it's either MM which is buggy or
we're doing something wrong here. (what libmm version do you have?)

Please try also with PHP 5.2.11 (no need for backtrace, just let us
know if it crashes also). 


Previous Comments:


[2009-10-29 19:41:35] dhertel at gmail dot com

that somehow doesn't surprise me, as this segfault doesn't seem to come
from the script... if i got the backtrace right, php segfaults after the
script finished - correct me if i'm wrong :)



[2009-10-29 19:36:18] sjo...@php.net

I could not reproduce the crash with either script.



[2009-10-29 15:07:59] dhertel at gmail dot com

I'm sorry i couln't provide a shorter script :-(. I can't reproduce the
segfault with a simple script.

I now stripped everything unnecessary from the script... doesn't need
anything external now...

Strange thing is that the segfault doesn't occur every time the script
ends but sometimes... and the more iterations mmae_core2 runs (line 59),
the more often it seems to occur

http://pastebin.org/49264



[2009-10-29 14:12:29] dhertel at gmail dot com

Description:

I'm writing a CLI program with forking and ipc and stuff. It seems to
work fine but in the current test the script eventually produces a
segfault - every time... but only if i let it run until it's shutting
down itself. if i interrupt it, it shuts down without segfaulting

php -i says it's version 5.3.1RC3-dev but i also had this problem with
5.3.0 (which unfortunately i can't downgrade to anymore to make a trace
there)

when using valgrind to check memory the segfault doesn't happen

Reproduce code:
---
Though I don't believe that it's a problem with my actual code (as
there are no execute() lines in the Backtrace), here it is:

http://pastebin.org/49244

the PFW_* classes are for handling processes in general, the MMAE_*
classes are part of the actual software using PFW_*, where MMAE_Boot
stays but Core and Core2 are only for seing if my PFW_* actually works.

Expected result:

no segfault

Actual result:
--
segfault

so here's the back trace
#0  0xb7441570 in ?? ()
#1  0x080b88d3 in zm_shutdown_ps_mm (type=1, module_number=7) at
/usr/src/debug/php-5.3.1_git200910272307/ext/session/mod_mm.c:256
#2  0x080b6fd1 in zm_shutdown_session (type=1, module_number=7) at
/usr/src/debug/php-5.3.1_git200910272307/ext/session/session.c:2192
#3  0x081bde7a in module_destructor (module=0x82cd180) at
/usr/src/debug/php-5.3.1_git200910272307/Zend/zend_API.c:2098
#4  0x081c4192 in zend_hash_apply_deleter (ht=0x82bbbc0, p=0x82cd150)
at /usr/src/debug/php-5.3.1_git200910272307/Zend/zend_hash.c:611
#5  0x081c4457 in zend_hash_graceful_reverse_destroy (ht=0x82bbbc0) at
/usr/src/debug/php-5.3.1_git200910272307/Zend/zend_hash.c:646
#6  0x081b85ac in zend_shutdown () at
/usr/src/debug/php-5.3.1_git200910272307/Zend/zend.c:759
#7  0x0815d732 in php_module_shutdown () at
/usr/src/debug/php-5.3.1_git200910272307/main/main.c:2103
#8  0x0824569c in main (argc=2, argv=0xbff47784) at
/usr/src/debug/php-5.3.1_git200910272307/sapi/cli/php_cli.c:1385





-- 
Edit this bug report at http://bugs.php.net/?id=50035&edit=1



#50033 [Opn->Bgs]: Not finding openssl functions despite being enabled

2009-11-03 Thread jani
 ID:   50033
 Updated by:   j...@php.net
 Reported By:  ashley at zware dot co dot uk
-Status:   Open
+Status:   Bogus
 Bug Type: OpenSSL related
 Operating System: Fedora 11
-PHP Version:  5.2.11
+PHP Version:  5.2.9
 New Comment:

We do not support 3rd party binary packages. Please report to correct
place at fedora.


Previous Comments:


[2009-10-29 08:13:44] ashley at zware dot co dot uk

Description:

Although openssl reports itself as being enabled in phpinfo (version
OpenSSL 0.9.8k-fips 25 Mar 2009 ),  I get Fatal error: Call to undefined
function openssl_digest() and similiar for other openssl functions.
Actually on PHP 5.2.9 as that is most recent FC11 package.
SSL is working in apache with mod_ssl loaded and certificates are in
place (self cert - its a dev machine.)

Reproduce code:
---
$a = openssl_digest($data,$method);

Expected result:

output from the digest function as per docs.

Actual result:
--
( ! ) Fatal error: Call to undefined function openssl_digest() in
/var/www/vhosts/zware/application/modules/test/controllers/IndexController.php
on line 77






-- 
Edit this bug report at http://bugs.php.net/?id=50033&edit=1



#50027 [Opn->Fbk]: $this becomes a non-object

2009-11-03 Thread jani
 ID:   50027
 Updated by:   j...@php.net
 Reported By:  phpbugs at colin dot guthr dot ie
-Status:   Open
+Status:   Feedback
 Bug Type: Reproducible crash
 Operating System: Mandriva Linux (Cooker x86_64)
 PHP Version:  5.3.1RC2
 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 ,
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-10-28 09:05:14] phpbugs at colin dot guthr dot ie

Description:

This is a really hard bug to reproduce (e.g. build a simple test case)
but I can reliably do so here with my application. I'll attempt to
describe the problem in depth, although I warn in advance that it's a
bit of a confusing one.

During a particular request, PHP seems to corrupt itself quite badly
which cases $this to become corrupted within an object.

When this happens, is_object($this) still returns true, but any attempt
to access a member variable (e.g. $this->mFuncs) will result in the
"Notice: Trying to get property of non-object" warning. Similar warning
exist when trying to call methods etc.

Once this corruption happens, it will remain until the Apache process
is restarted (mpm-prefork) although some requests will succeed (I
presume it depends what mpm-preforked httpd handler is used?). When this
happens, a much simpler test case (which I'll link to) fails also (i.e.
it seems that the initial trigger of this causes it to continue, but the
simpler test case itself does not seem enough to trigger it initially).

The trigger case I have is a rather complex Zend Framework application
that I sadly cannot share.

I have confirmed this problem is present on 5.3.0 and 5.3.1RC2, so I
suspect it's a 5.3.x problem over all. I cannot reproduce the problem on
5.2.11.

All builds use -O0 for optimisations (as higher values have proven to
cause problems, particularly on x86_64).

Reproduce code:
---
A tarball containing three PHP files: one a UniversalAutoloader
structure we use in our projects (it predates spl stuff and actually
gives us a different fallback mechanism anyway), and a simple test class
that is meant to be autoloaded. Then the test.php file which actually
exhibits the bug.

As noted previously however, this test case only *exhibits* this bug if
the problem is triggered already by some other code. You can see from
the backtrace.txt the effect of it failing. I provide this in the hope
that it allows something obvious to jump out at you, but I suspect the
problem is really some form of stack frame corruption or similar
(possibly due to x86_64 as I've not tested to see if it affects 5.3.1
although I will be able to do so in the coming weeks).

The URL for this bundle is: http://colin.guthr.ie/php-bug.tar

Expected result:

It should just echo "Foo\n". But as you can see the Notice is triggered
and the is_array() check fails (as can be seen, it is impossible for the
variable to be anything other than an array).

Actual result:
--
*After* triggering the problem, $this becomes a non-object (although in
other tests (is_object($this) still returns true).





-- 
Edit this bug report at http://bugs.php.net/?id=50027&edit=1



#50061 [NEW]: 5.2.11 doesn't reconize mysql_connect function

2009-11-03 Thread lunaelipsis at hotmail dot com
From: lunaelipsis at hotmail dot com
Operating system: Windows 7
PHP version:  5.2.11
PHP Bug Type: MySQL related
Bug description:  5.2.11 doesn't reconize mysql_connect function

Description:

I encountered the known issue of the "Fatal error: Call to undefined
function mysql_connect()" with PHP 5.2.11 runnnig Apache 2.2 on Windows 7
connecting to distant MySQL 5 database.

What i did to try to resolve it :
Checked that C:\PHP was in windows PATH variable
Checked that libmysql.dll was present 
Checked that php_mysql.dll was present
Checked that extension=php_mysql.dll was uncommented

Ran cmd.exe -> php -m 
it shown every module loaded with php including MySQL.



Reproduce code:
---
Install PHP 5.2.11 on Windows 7 with Apache 2.2 and do the required
configurations to use mysql. 

Expected result:

PHP doesn't reconize any mysql_* functions

Actual result:
--
I reinstalled php 5.2.9.9 and it worked directly.

-- 
Edit bug report at http://bugs.php.net/?id=50061&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=50061&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=50061&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=50061&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=50061&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=50061&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=50061&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=50061&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=50061&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=50061&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=50061&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=50061&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=50061&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=50061&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=50061&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=50061&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=50061&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=50061&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=50061&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=50061&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=50061&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=50061&r=mysqlcfg



#50060 [Bgs]: "failed creating formpost data" if post array value starts with '@'

2009-11-03 Thread scottmac
 ID:   50060
 Updated by:   scott...@php.net
 Reported By:  bugs dot php dot net at sgerrand dot com
 Status:   Bogus
 Bug Type: cURL related
 Operating System: Linux (Ubuntu x86_64 2.6.31-14)
 PHP Version:  5.2.11
 New Comment:

-d is for the whole data, what we really have here is -F for formdata.

curl -F 'k...@value' http://www.php.net/


Previous Comments:


[2009-11-03 10:44:13] bugs dot php dot net at sgerrand dot com

Please refer to the documentation for curl_setopt() - 
http://php.net/curl_setopt

CURLOPT_POSTFIELDS   The full data to post in a HTTP "POST" 
operation. To post a file, prepend a filename with @ and use the full 
path. This can either be passed as a urlencoded string like 
'para1=val1¶2=val2&...' or as an array with the field name as key 
and field data as value. If value is an array, the Content-Type header

will be set to multipart/form-data.

The case I have logged is when data to be posted using this option is 
an array which happens to have a value that starts with '@', as per 
the example. This edge case is being caused by the function used to 
create the form data to pass to cURL.

I would note that the cURL command line client on any POSIX system can

perform this without issue - i.e.: 

curl -d 'k...@value' http://www.php.net/



[2009-11-03 10:18:06] scott...@php.net

@ has a special meaning with cURL and takes the contents of the file.



[2009-11-03 07:29:36] bugs dot php dot net at sgerrand dot com

Description:

PHP's cURL library dies returning the error message "failed creating 
formpost data" when trying to use an array that contains a value 
starting with '@'. 

If the array is changed to a string in URL encoded like format, the 
problem does not occur.

Reproduce code:
---
http://www.php.net';
$postData = array('key' => '@value');
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

if (! curl_exec($ch) ) print 'cURL error: ' . curl_error($ch);
else print "cURL success";

curl_close($ch);

?>

Expected result:

cURL success

Actual result:
--
cURL error: failed creating formpost data





-- 
Edit this bug report at http://bugs.php.net/?id=50060&edit=1



#50057 [Com]: crash in _php_pgsql_notice_ptr_dtor -> efree with Horde

2009-11-03 Thread proforg at maloletka dot ru
 ID:   50057
 Comment by:   proforg at maloletka dot ru
 Reported By:  proforg at maloletka dot ru
 Status:   Feedback
 Bug Type: PostgreSQL related
 Operating System: Debian Lenny 2.6.26-2-amd64
 PHP Version:  5.2SVN-2009-11-02 (snap)
 New Comment:

Yes, definitely, same result at least with apache2 sapi.
I'll try to have some more tests and backtraces with clear cgi-fcgi
sapi 
later today,


Previous Comments:


[2009-11-03 10:45:38] j...@php.net

Can you reproduce this without the 3rd party patches? (no, we do not
support this FPM thing!)



[2009-11-03 02:22:59] proforg at maloletka dot ru

the same for 5.2.10 and 5.2.11
but 5.2.9 works fine



[2009-11-02 23:10:30] proforg at maloletka dot ru

Description:

php5.2-200911021930 + apache2 / fpm sapi frequently crashes on debian 
horde3 + imp4 installation.

Reproduce code:
---
Current debian horde and imp packages.

Actual result:
--
fpm log output:

Nov 03 01:51:13.738647 [WARNING] fpm_children_bury(), line 217: child 
19892 (pool www-data) exited on signal 11 SIGSEGV (core 
dumped) after 2377.432524 seconds from start
Nov 03 01:51:13.738687 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: "[Tue Nov  3 
01:36:48 2009]  Script:  '/usr/share/horde3//index.php'"
Nov 03 01:51:13.738716 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: 
"/usr/local/src/php5.2-200911021930/ext/pgsql/pgsql.c(289) :  Freeing 
0x029A97C0 (46 bytes), 
script=/usr/share/horde3//index.php", pipe is closed
Nov 03 01:51:13.738738 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: "[Tue Nov  3 
01:36:48 2009]  Script:  '/usr/share/horde3//index.php'", pipe is 
closed
Nov 03 01:51:13.738758 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: 
"/usr/local/src/php5.2-200911021930/ext/pgsql/pgsql.c(361) :  Freeing 
0x02540370 (16 bytes), 
script=/usr/share/horde3//index.php", pipe is closed
Nov 03 01:51:13.738779 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: "=== Total 2 
memory leaks detected ===", pipe is closed



backtrace:

[New process 19892]
#0  0x00734d34 in zend_mm_check_ptr (heap=0x1e392a0, 
ptr=0x69766f7270207469, silent=1, 
__zend_filename=0x8913f8 "/usr/local/src/php5.2-
200911021930/ext/pgsql/pgsql.c", __zend_lineno=379, 
__zend_orig_filename=0x0, __zend_orig_lineno=0)
at /usr/local/src/php5.2-200911021930/Zend/zend_alloc.c:1304
1304if (p->info._size != ZEND_MM_NEXT_BLOCK(p)-
>info._prev) {
(gdb) bt
#0  0x00734d34 in zend_mm_check_ptr (heap=0x1e392a0, 
ptr=0x69766f7270207469, silent=1, 
__zend_filename=0x8913f8 "/usr/local/src/php5.2-
200911021930/ext/pgsql/pgsql.c", __zend_lineno=379, 
__zend_orig_filename=0x0, __zend_orig_lineno=0)
at /usr/local/src/php5.2-200911021930/Zend/zend_alloc.c:1304
#1  0x007367da in _zend_mm_free_int (heap=0x1e392a0, 
p=0x69766f7270207469, __zend_filename=0x8913f8 
"/usr/local/src/php5.2-200911021930/ext/pgsql/pgsql.c", 
__zend_lineno=379, __zend_orig_filename=0x0, __zend_orig_lineno=0)

at /usr/local/src/php5.2-
200911021930/Zend/zend_alloc.c:1943
#2  0x00737d76 in _efree (ptr=0x69766f7270207469, 
__zend_filename=0x8913f8 "/usr/local/src/php5.2-
200911021930/ext/pgsql/pgsql.c", __zend_lineno=379, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at 
/usr/local/src/php5.2-200911021930/Zend/zend_alloc.c:2311
#3  0x005a7ba0 in _php_pgsql_notice_ptr_dtor (ptr=0x1fe2928) 
at /usr/local/src/php5.2-
200911021930/ext/pgsql/pgsql.c:379
#4  0x0076503d in zend_hash_clean (ht=0xb83a88) at 
/usr/local/src/php5.2-200911021930/Zend/zend_hash.c:552
#5  0x005a843e in zm_deactivate_pgsql (type=1, 
module_number=18) at /usr/local/src/php5.2-
200911021930/ext/pgsql/pgsql.c:578
#6  0x0075f9c5 in module_registry_cleanup (module=0x1e70e80) 
at /usr/local/src/php5.2-
200911021930/Zend/zend_API.c:1976
#7  0x007658a5 in zend_hash_reverse_apply (ht=0xb87e60, 
apply_func=0x75f98a ) at 
/usr/local/src/php5.2-200911021930/Zend/zend_hash.c:755
#8  0x00756f2d in zend_deactivate_modules () at 
/usr/local/src/php5.2-200911021930/Zend/zend.c:838
#9  0x006fed04 in php_request_shutdown (dummy=0x0) at 
/usr/local/src/php5.2-200911021930/main/main.c:1474
#10 0x007de90f in main (argc=6, argv=0x7fff4f59af58) at 
/usr/local/src/php5.2-
200911021930/sapi/fpm/cgi/cgi_main.c:1589

php build options:
--with-fpm --with-libevent=shared,/usr --with-pgsql --with-gd --with-
mhash --with-mcrypt --with-pear=/usr/share/php/ --enable-
debug  --with-imap --with-kerb

#50061 [Opn->Bgs]: 5.2.11 doesn't reconize mysql_connect function

2009-11-03 Thread pajoye
 ID:   50061
 Updated by:   paj...@php.net
 Reported By:  lunaelipsis at hotmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: MySQL related
 Operating System: Windows 7
 PHP Version:  5.2.11
 New Comment:

You certainly use two different php for CLI (php -m) and apache. Verify
that the php.ini loaded by the apache's php is the same than cli.

But there is no bug here, it is a configuration problem.


Previous Comments:


[2009-11-03 11:18:41] lunaelipsis at hotmail dot com

Description:

I encountered the known issue of the "Fatal error: Call to undefined
function mysql_connect()" with PHP 5.2.11 runnnig Apache 2.2 on Windows
7 connecting to distant MySQL 5 database.

What i did to try to resolve it :
Checked that C:\PHP was in windows PATH variable
Checked that libmysql.dll was present 
Checked that php_mysql.dll was present
Checked that extension=php_mysql.dll was uncommented

Ran cmd.exe -> php -m 
it shown every module loaded with php including MySQL.



Reproduce code:
---
Install PHP 5.2.11 on Windows 7 with Apache 2.2 and do the required
configurations to use mysql. 

Expected result:

PHP doesn't reconize any mysql_* functions

Actual result:
--
I reinstalled php 5.2.9.9 and it worked directly.





-- 
Edit this bug report at http://bugs.php.net/?id=50061&edit=1



#50021 [Fbk->Opn]: Predefined Statements doesn't allow Strings with more than 256 letters.

2009-11-03 Thread novitools dot novi at web dot de
 ID:   50021
 User updated by:  novitools dot novi at web dot de
 Reported By:  novitools dot novi at web dot de
-Status:   Feedback
+Status:   Open
 Bug Type: MySQLi related
 Operating System: Windows Vista
 PHP Version:  5.3.0
 New Comment:

Here is the result:

Field   1:  `You can only read the first 256 words of this text. That
is why I must write such a long text, because I must reach the limit
of
256 words. The same error occours, when you try to select a text
column
from the database. But I didn't had this error before `
Catalog:`def`
Database:   ``
Table:  ``
Org_table:  ``
Type:   VAR_STRING
Collation:  latin1_swedish_ci (8)
Length: 284
Max_length: 284
Decimals:   31
Flags:  NOT_NULL


+---


---+
| You can only read the first 256 words of this text. That
is why I must write such a long text, because I must reach the limit
of
256 words. The same error occours, when you try to select a text
column
from the database. But I didn't had this error before
|
+---


---+
| You can only read the first 256 words of this text. That
is why I must write such a long text, because I must reach the limit
of
256 words. The same error occours, when you try to select a text
column
from the database. But I didn't had this error before in a previous
version of php. |
+---


---+
1 row in set (0.00 sec)


Previous Comments:


[2009-11-03 09:54:50] u...@php.net

Please run you query in the MySQL prompt and show the meta data that is
returned from MySQL.  Start the MySQL prompt with "mysql
--column-type-info" followed by your usual "-u", "-p", "-h" etc.
options.

For example:

nixn...@ulflinux:~> /usr/local/mysql/bin/mysql   --column-type-info
-uroot -proot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.1.39-debug Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

mysql> select 1;
Field   1:  `1`
Catalog:`def`
Database:   ``
Table:  ``
Org_table:  ``
Type:   LONGLONG
Collation:  binary (63)
Length: 1
Max_length: 1
Decimals:   0
Flags:  NOT_NULL BINARY NUM


+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

But, of course, run your failing query and run mysql prompt on your
system.

Thanks,
Ulf






[2009-10-30 15:12:35] novitools dot novi at web dot de

So the problem only occurs on specific versions:

No Problem with this Versions:
client_version 50005
server_version 50132

Big Problem with this Versions:
client_version 50137
server_version 50137



[2009-10-29 17:58:24] friedrich dot mark at freenet dot de

Same Problem here:
$db = new mysqli('localhost', 'root', '', 'test');
$stmt = $db->stmt_init();
$sql = "SELECT `text` FROM `longtext` WHERE `id` = 1";
$stmt->prepare($sql);
$stmt->execute();
$stmt->bind_result($text);
$stmt->fetch();
$stmt->close();
var_dump(phpversion());
var_dump($db->client_version);
var_dump($db->server_version);
var_dump($db->protocol_version);
var_dump($text);

Output:
string(5) "5.3.0"
int(50137)
int(50137)
int(10)
string(256) "Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna
aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
dolores et ea rebum. Stet clita kasd gubergren, no sea takimata "

OS: Win 7

SQL:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE DATABASE `test` DEFAULT CHARACTER SET latin1 COLLATE
latin1_swedish_ci;
USE `test`;

CREATE TABLE IF NOT EXISTS `longtext` (
  `id` int(11) NOT NULL,
  `text` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `longtext` (`id`, `text`) VALUES
(1, 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
rebum. Stet clita kasd gubergren, no sea takimata sanct

#49965 [Asn->Csd]: Setting MYSQLI_OPT_CONNECT_TIMEOUT does not seem to have an effect on timeout

2009-11-03 Thread uw
 ID:   49965
 Updated by:   u...@php.net
 Reported By:  ed at bellcpa dot com
-Status:   Assigned
+Status:   Closed
 Bug Type: MySQLi related
 Operating System: *
 PHP Version:  5.*, 6.*
 Assigned To:  mysql
 New Comment:

This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.




Previous Comments:


[2009-11-03 14:56:04] s...@php.net

Automatic comment from SVN on behalf of uw
Revision: http://svn.php.net/viewvc/?view=revision&revision=290170
Log: Fix for bug #49965 . Let mysqli_options() try to cast option
values to the appropriate type.



[2009-10-29 18:19:45] u...@php.net

I discussed this with Andrey. We propose to change ext/mysqli to cast
$value passed to mysqli_options to an appropriate type internally. Old
code should not notice the change because it should be using an
appropriate type for $value in mysqli_options($link, $option, $value)
already.

I'll soon patch ext/mysqli.





[2009-10-28 23:58:12] ed at bellcpa dot com

Ah, makes perfect sense. Glad it wasn't something more serious and
sorry for the oversight. Enclosing my option value in intval() solved it
as expected.

Thanks!



[2009-10-28 23:48:10] u...@php.net

Hi Ed,

thanks for the additional information given in a private mail.

Yes, it matters what type the option value has that you pass to
mysqli_options(). It matters ever since 5.0. It is irrelevant if you use
mysqlnd or libmysql.

mysqli_options(mysqli $link, int $option, mixed $value) inspects the
type of the $value parameter. If you pass a string value, as stated in
your private mail, ext/mysqli forwards a string to mysqlnd resp.
libmysql. Both mysqlnd and libmysql expect that the data they get is of
the appropriate type for $option allowing them to use a simple cast to
interpret the data. 

String is not the appropriate type for MYSQLI_OPT_CONNECT_TIMEOUT - the
cast inside mysqlnd/libmysql causes a bogus value to be used...

This will not work:

 $timeout = "5"
 mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, $timeout);
 mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, "5");

You must use the following:

 $timeout = 5;
 mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, $timeout);
 mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5);





[2009-10-28 17:52:26] u...@php.net

Interesting. I assume it does not matter if you use 5.3.0 or
5.3.2-dev?

Thanks so far!
Ulf



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/49965

-- 
Edit this bug report at http://bugs.php.net/?id=49965&edit=1



#50063 [NEW]: safe_mode_include_dir fails

2009-11-03 Thread christian at elmerot dot se
From: christian at elmerot dot se
Operating system: Debian Etch, Lenny
PHP version:  5.3.0
PHP Bug Type: Safe Mode/open_basedir
Bug description:  safe_mode_include_dir fails

Description:

Using the following config options ignores the safe_mode_include_dir and
does a uid-check even though the php-file is in the safe_mode_include_dir.
This is likely still present in 5.3.1RC2

safe_mode = On

safe_mode_include_dir = /usr/share/php

include_path = ".:/usr/share/php"

The following code:



To me it appears that PHP 5.3.x now use a different code-path to open
files as the following patch against the function
php_plain_files_stream_opener 5.3.0 solves the issue for us as it appears
there is no safe_mode_include_dir-check although there is a safe_mode
uid-check:

--- main/streams/plain_wrapper.c2009-11-03 15:52:59.414872711 +0100
+++ main/streams/plain_wrapper.c2009-11-03 15:52:59.420045302 +0100
@@ -988,6 +988,10 @@
return NULL;
}
 
+   if ((php_check_safe_mode_include_dir(path TSRMLS_CC)) == 0) {
+   return php_stream_fopen_rel(path, mode, opened_path, options);
+   }
+
if ((options & ENFORCE_SAFE_MODE) && PG(safe_mode) &&
(!php_checkuid(path, mode, CHECKUID_CHECK_MODE_PARAM)))
return NULL;
 


Reproduce code:
---


Expected result:

OK

Actual result:
--
Warning: require() [function.require]: SAFE MODE Restriction in effect.
The script whose uid is 771909 is not allowed to access
/usr/share/php/PEAR/Exception.php owned by uid 0 in
/x/peartest.php on line 2

Warning: require(/usr/share/php/PEAR/Exception.php) [function.require]:
failed to open stream: No such file or directory in
/x/peartest.php on line 2

Fatal error: require() [function.require]: Failed opening required
'PEAR/Exception.php' (include_path='.:/usr/share/php') in
/x/peartest.php on line 2

-- 
Edit bug report at http://bugs.php.net/?id=50063&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=50063&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=50063&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=50063&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=50063&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=50063&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=50063&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=50063&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=50063&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=50063&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=50063&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=50063&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=50063&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=50063&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=50063&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=50063&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=50063&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=50063&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=50063&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=50063&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=50063&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=50063&r=mysqlcfg



#50064 [NEW]: SOAP response by is not encoded

2009-11-03 Thread ckl at ecw dot de
From: ckl at ecw dot de
Operating system: Windows XP SP3
PHP version:  5.2.11
PHP Bug Type: SOAP related
Bug description:  SOAP response by is not encoded

Description:

I developed a Spring-WS webservice which I try to call by PHP.
WSDL file:
---
http://schemas.xmlsoap.org/wsdl/";
xmlns:sch="http://www.ecw.de/adg/person/schema/beans";
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:tns="http://www.ecw.de/adg/person/schema/beans";
targetNamespace="http://www.ecw.de/adg/person/schema/beans";>
  
http://www.w3.org/2001/XMLSchema";
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb";
xmlns="http://www.ecw.de/adg/person/schema/beans";
xmlns:pb="http://www.ecw.de/adg/person/schema/beans";
xmlns:schemas="http://www.ecw.de/adg/person/schema/beans";
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc";
attributeFormDefault="unqualified" elementFormDefault="unqualified"
jaxb:extensionBindingPrefixes="xjc" jaxb:version="1.0"
targetNamespace="http://www.ecw.de/adg/person/schema/beans";
xmlns:tns="http://www.ecw.de/adg/person/schema/beans";>





























































































































  
  



  
  


  
  



  
  


  
  



  
  


  
  


  

  


  
  

  

  




  

  




  

  



  

  



  
  
http://schemas.xmlsoap.org/soap/http"/>

  
  


  
  

  


  
  


  
  

  


  
  


  
  

  


  
  


  
  

  

  
  

  http://localhost:8080/ADG/personService"/>


  

---

Response from Spring-WS (fetched by proxying the request/response):
---
http://schemas.xmlsoap.org/soap/envelope/";>
   
   
  http://www.ecw.de/adg/person/schema/beans";>
 http://www.w3.org/2001/XMLSchema-instance"/>
 http://www.w3.org/2001/XMLSchema-instance"/>
 http://www.w3.org/2001/XMLSchema-instance"/>
 desc
 name

CN=Person,CN=Schema,CN=Configuration,DC=dc,DC=com
 2
 CN=...
 m...@domain.com
 display-name
 top
 test
 
Some groupname
 
 123
 test
 http://www.w3.org/2001/XMLSchema-instance"/>
 129017292450890526
 7021
 test
 false
 \\srv\profiles
 t...@domain.com
 http://www.w3.org/2001/XMLSchema-instance"/>
  
   

---

It seems to be that SOAPClient or the underlying XML library (SimpleXML? -
not sure which XML-library is used by SOAPClient) is not able to handle the
namespaces in response.

Reproduce code:
---
 true, 'version' =>
SOAP_1_1, 'exceptions' => true, 'uri' =>
'http://www.ecw.de/adg/person/

#50063 [Opn]: safe_mode_include_dir fails

2009-11-03 Thread christian at elmerot dot se
 ID:   50063
 User updated by:  christian at elmerot dot se
 Reported By:  christian at elmerot dot se
 Status:   Open
 Bug Type: Safe Mode/open_basedir
 Operating System: Debian Etch, Lenny
 PHP Version:  5.3.0
 New Comment:

"Actual output" should be:

Warning: require_once() [function.require-once]: SAFE MODE Restriction
in effect. The script whose uid is 35873 is not allowed to access
/usr/share/php/PEAR/Exception.php owned by uid 0 in //peartest.php
on line 2

Warning: require_once(/usr/share/php/PEAR/Exception.php)
[function.require-once]: failed to open stream: No such file or
directory in //peartest.php on line 2

Fatal error: require_once() [function.require]: Failed opening required
'PEAR/Exception.php' (include_path='.:/usr/share/php') in
//peartest.php on line 2

And of course the file is there: ls -l
/usr/share/php/PEAR/Exception.php
-rw-r--r-- 1 root root 12818 Apr 29  2009
/usr/share/php/PEAR/Exception.php


Previous Comments:


[2009-11-03 16:15:58] christian at elmerot dot se

Description:

Using the following config options ignores the safe_mode_include_dir
and does a uid-check even though the php-file is in the
safe_mode_include_dir. This is likely still present in 5.3.1RC2

safe_mode = On

safe_mode_include_dir = /usr/share/php

include_path = ".:/usr/share/php"

The following code:



To me it appears that PHP 5.3.x now use a different code-path to open
files as the following patch against the function
php_plain_files_stream_opener 5.3.0 solves the issue for us as it
appears there is no safe_mode_include_dir-check although there is a
safe_mode uid-check:

--- main/streams/plain_wrapper.c2009-11-03 15:52:59.414872711 +0100
+++ main/streams/plain_wrapper.c2009-11-03 15:52:59.420045302 +0100
@@ -988,6 +988,10 @@
return NULL;
}
 
+   if ((php_check_safe_mode_include_dir(path TSRMLS_CC)) == 0) {
+   return php_stream_fopen_rel(path, mode, opened_path, options);
+   }
+
if ((options & ENFORCE_SAFE_MODE) && PG(safe_mode) &&
(!php_checkuid(path, mode, CHECKUID_CHECK_MODE_PARAM)))
return NULL;
 


Reproduce code:
---


Expected result:

OK

Actual result:
--
Warning: require() [function.require]: SAFE MODE Restriction in effect.
The script whose uid is 771909 is not allowed to access
/usr/share/php/PEAR/Exception.php owned by uid 0 in
/x/peartest.php on line 2

Warning: require(/usr/share/php/PEAR/Exception.php) [function.require]:
failed to open stream: No such file or directory in
/x/peartest.php on line 2

Fatal error: require() [function.require]: Failed opening required
'PEAR/Exception.php' (include_path='.:/usr/share/php') in
/x/peartest.php on line 2





-- 
Edit this bug report at http://bugs.php.net/?id=50063&edit=1



#41461 [Com]: E_STRICT notice when overriding methods not defined by an Interface in hierarchy

2009-11-03 Thread markskilbeck at gmail dot com
 ID:   41461
 Comment by:   markskilbeck at gmail dot com
 Reported By:  ralph at smashlabs dot com
 Status:   Verified
 Bug Type: Class/Object related
 Operating System: *
 PHP Version:  5.*, 6CVS (2009-04-25)
 New Comment:

PHP does not allow for method overloading.


Previous Comments:


[2009-07-27 08:02:01] php at whoah dot net

Should this not be possible without errors or notices? I am 
overloading an overridden method. If memory serves me, I am able to do

this in other OO languages (Java, .NET/C#).

class BaseClass {

public function TestFunction ($parameter) {
var_dump($parameter);
}
}

class FooClass extends BaseClass {

public function TestFunction () {
parent::TestFunction('This is Foo');
}
}

class BarClass extends BaseClass {

public function TestFunction () {
parent::TestFunction('This is Bar');
}
}

$test = new FooClass();
$test->TestFunction();

$test = new BarClass();
$test->TestFunction();


Instead:

Strict Standards: Declaration of FooClass::TestFunction() should be 
compatible with that of BaseClass::TestFunction()

Strict Standards: Declaration of BarClass::TestFunction() should be 
compatible with that of BaseClass::TestFunction()



[2008-08-08 19:57:45] s...@php.net

I took a look into it, here's some findings:

1. There's no difference between how arguments are matched with and
without interface. The difference is that with no interface binding
would happen in this case in compile time, so if your error reporting
did not have E_STRICT by default, error_reporting(E_ALL | E_STRICT) is
not executed and so the error is not seen.

2. someFunc($uno, $dos, $tres) is not a good replacement for
someFunc($uno, $dos) even ignoring the by-ref return, since it has extra
required argument. Making it not required should pass the strict check.

3. I think it can be allowed to override function that returns by-val
with function that returns by-ref, but not vice versa. 





[2007-06-19 21:52:26] ralph at smashlabs dot com

Marcus,

After re-reading, I didn't think that I was clear in my original bug
report, so I attempted to clarify the matter (2 posts up).  I still
think this is a problem and that it hinders the usage of interfaces as
it restricts concrete classes from overriding methods introduced at the
abstract layer, not the interface layer.

If this is still by design, go ahead and close, but I wanted to make
absolutely sure as most people either do not care about E_STRICT, or
haven't run into the problem yet ;)

Thanks again,
Ralph



[2007-05-28 17:53:41] ralph at smashlabs dot com

PS. I did check this with the internals list before I posted.. And I
think you actually confirmed it for me on the list

http://news.php.net/php.internals/29646

Thank you for your time,
-ralph



[2007-05-28 17:42:50] ralph at smashlabs dot com

I am sorry, perhaps I should rephrase (I was rushed when I wrote the
original bug report) and I don't think I was especially clear.

In general, we are speaking strictly of Method Overriding.  PHP
currently allows concrete classes to override methods in abstract
classes as demonstrated by this code:

webdevelo...@webdevelopment ~/tmp $ cat test_method_override.php 
http://bugs.php.net/41461

-- 
Edit this bug report at http://bugs.php.net/?id=41461&edit=1



#50066 [NEW]: 1st request after expiration loads session data but not subsequent request

2009-11-03 Thread phpbug at reider dot net
From: phpbug at reider dot net
Operating system: debian
PHP version:  5.3.1RC2
PHP Bug Type: Session related
Bug description:  1st request after expiration loads session data but not 
subsequent request

Description:

sessions don't appear to expire when expected. for example:

a logon request arrives and the app calls session_start() and stores
authentication data in the session. session.gc_maxlifetime+n seconds later,
a 2nd request arrives. The authentication data is loaded and the 2nd
request is processed as if the session is active. A few seconds later a 3rd
request arrives; in the 3rd request all the session data is gone, as if the
session only just timed out even though the user requested immediately
after the 2nd response.

Apparently, php deserializes session data and does gc() (if it is to be
done) afterwards; so in the 2nd request, the data is loaded into the
session, *then* the files are removed.

I expected that the 2nd, not 3rd request would have no session data

Wouldn'tm it makeore  sense to gc *before* loading the session data? That
way, it would be the *2nd* request to perceive a session timeout, instead
of the  3rd.

Reproduce code:
---
I have session.gc_probability=100 and session.gc_divisor=100 to run gc on
each request.



Expected result:

I expected that the 2nd, not 3rd request would have the session data not
deserialized. While in practice it will usually be the case that the the gc
will occur in a different users process, nevertheless, I suggest that if
session_start() does a gc which results in the session data being removed,
it should not also load it into the session.


-- 
Edit bug report at http://bugs.php.net/?id=50066&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=50066&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=50066&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=50066&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=50066&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=50066&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=50066&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=50066&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=50066&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=50066&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=50066&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=50066&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=50066&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=50066&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=50066&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=50066&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=50066&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=50066&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=50066&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=50066&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=50066&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=50066&r=mysqlcfg



#50065 [Opn->Bgs]: Need a way to force calls to time() to be replaced by $_SERVER['REQUEST_TIME']

2009-11-03 Thread johannes
 ID:   50065
 Updated by:   johan...@php.net
 Reported By:  leroutier at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Feature/Change Request
 Operating System: Linux
 PHP Version:  5.2.11
 New Comment:

There are too many cases where different time() calls expect different
results and in your example we'd need to "break" the whole date system
to return fake data. Nothing that can be done in a sane way.


Previous Comments:


[2009-11-03 17:42:13] leroutier at gmail dot com

Description:

Got lazy developers that can't understand that any call to date, time,
strftime and so on without a timestamp as parameter would always mean
extra system calls.

So, they get fun adding shitty code like :
$caching_time = mktime(1,0,0,date("m"),date("d")+1,date("Y"))- time();

Cool, 4 syscalls in one expression.

As I can't make them think about my dear servers (they always say
something like "add more servers"), I'd like a way in PHP configuration
to bypass all calls to time() and timestamp-less calls to be replaced by
$_SERVER['REQUEST_TIME']

I understand the correct solution would be to correct their code but
I'm sure lots of sysadmins would like this.






-- 
Edit this bug report at http://bugs.php.net/?id=50065&edit=1



#50065 [NEW]: Need a way to force calls to time() to be replaced by $_SERVER['REQUEST_TIME']

2009-11-03 Thread leroutier at gmail dot com
From: leroutier at gmail dot com
Operating system: Linux
PHP version:  5.2.11
PHP Bug Type: Feature/Change Request
Bug description:  Need a way to force calls to time() to be replaced by 
$_SERVER['REQUEST_TIME']

Description:

Got lazy developers that can't understand that any call to date, time,
strftime and so on without a timestamp as parameter would always mean extra
system calls.

So, they get fun adding shitty code like :
$caching_time = mktime(1,0,0,date("m"),date("d")+1,date("Y"))- time();

Cool, 4 syscalls in one expression.

As I can't make them think about my dear servers (they always say
something like "add more servers"), I'd like a way in PHP configuration to
bypass all calls to time() and timestamp-less calls to be replaced by
$_SERVER['REQUEST_TIME']

I understand the correct solution would be to correct their code but I'm
sure lots of sysadmins would like this.


-- 
Edit bug report at http://bugs.php.net/?id=50065&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=50065&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=50065&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=50065&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=50065&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=50065&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=50065&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=50065&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=50065&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=50065&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=50065&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=50065&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=50065&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=50065&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=50065&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=50065&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=50065&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=50065&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=50065&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=50065&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=50065&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=50065&r=mysqlcfg



#50059 [Bgs]: strototime() incorrectly parses first sunday of Nov 2009

2009-11-03 Thread derick
 ID:   50059
 Updated by:   der...@php.net
 Reported By:  herrnoel at gmail dot com
 Status:   Bogus
 Bug Type: Date/time related
 Operating System: Linux/Debian 5.0.3
 PHP Version:  5.2.11
 New Comment:

No, it is not a wrapper around anything, but it's still not a bug.
There is lots of logic involved here but that belongs in the docs (and
there is already an issue open for that I think).


Previous Comments:


[2009-11-03 23:01:50] herrnoel at gmail dot com

1) OK that's a sort of fair point.  I'll see if I can drum up some
access to a compiled install...

2) strtotime() is a wrapper to GNU's date function right?

http://www.gnu.org/software/coreutils/manual/coreutils.html#Day-of-week-items

I believe this is correct syntax.

"A number may precede a day of the week item to move forward
supplementary weeks. It is best used in expression like ‘third monday’.
In this context, ‘last day’ or ‘next day’ is also acceptable; they move
one week before or after the day that day by itself would represent. "

The ordinal spellings of numbers are just aliases to integers -- I
prefer the terser, numeric format.



[2009-11-03 10:44:49] j...@php.net

1. Too old and wrong PHP version. (we only support what we release, not
some badly patched binaries from 3rd party)

2. This is not a bug, strotime() is not an AI which can parse any crap
you pass it. Please ask support on the right forum.



[2009-11-03 03:19:01] herrnoel at gmail dot com

Description:

Actual php version is latest from debian stable: PHP 5.2.6-1+lenny3

When using strtotime() for some really handy english parsing, it works
great EXCEPT for the first day of the month.

The format is as follows:

[1-4] [day of week] [month] [year]

If the day of the week is the first day of the month, this will return
the date starting one week ahead of the first day of the month.
Otherwise, the behavior is as expected.

This is repeatable for all months.  If you leave out the initial digit,
the broken first day of the month works, but then you must use 1 to
indicate the 2nd instance of that day and so on.

Reproduce code:
---
echo date('Y-m-d', strtotime('1 thu oct 2009')); # first day of month
echo date('Y-m-d', strtotime('1 fri oct 2009')); # second day of month
echo date('Y-m-d', strtotime('1 sun nov 2009')); # first day of month
echo date('Y-m-d', strtotime('2 sun nov 2009')); # second sunday of
month (sunday is the first day of month)


Expected result:

2009-10-01
2009-10-02
2009-11-01
2009-11-08


Actual result:
--
2009-10-08
2009-10-02
2009-11-08
2009-11-15





-- 
Edit this bug report at http://bugs.php.net/?id=50059&edit=1



#48498 [Opn]: COM object instantiation throws 'Invalid Syntax' exception

2009-11-03 Thread ksingla
 ID:   48498
 Updated by:   ksin...@php.net
 Reported By:  will at flourishlib dot com
 Status:   Open
 Bug Type: COM related
 Operating System: Windows XP SP3
 PHP Version:  5.2.10RC1
 New Comment:

I was able to use CapiCom.Utilities.1 with PHP 5.2.11. Error is
generated when capicom is not registered and class is not available on
the machine.


Previous Comments:


[2009-06-27 00:11:06] paul at mantisforge dot org

This functionality seems to work fine in the 5.3.0 rc builds ( PHP 
5.3.0RC5-dev (cli) (built: Jun 27 2009 00:33:01) (DEBUG)).

The following script appears to work for me against most of the 
capicom.utilities functions: 

getMessage() . "\n";
echo 'exception initialising com object... terminating...';
}

$string = 'foo';

$encoded = $util->Base64Encode($string); /* encoded string is \r\n 
terminated */
echo $encoded . ' is base 64 encoded string:' . $util-
>Base64Decode($encoded) . "\n";
echo "\n\n";

$hex = $util->BinaryToHex($string);
echo "BinaryToHex: " . $util->BinaryToHex($string) . "\n";
echo "hextobinary: " . $util->HexToBinary($hex) . "\n";
define( 'CAPICOM_ENCODE_BASE64', 0 );

echo "Random Number: " . $util->GetRandom(10, CAPICOM_ENCODE_BASE64) .

"\n";

$variant = $util->BinaryStringToByteArray($string);
$i = 0;
foreach( $variant as $v) {
 echo "Byte(" . $i++ . "): " . $v . "\n";
}


Outputing:
ZgBvAG8A
 is base 64 encoded string:foo

BinaryToHex: 66006F006F00
hextobinary: foo
Random Number: PiMSnPtckiHFCQ==

Byte(0): 102
Byte(1): 0
Byte(2): 111
Byte(3): 0
Byte(4): 111
Byte(5): 0

--

1) It might be worth trying a newer version of php
2) it might be worth checking that the com object is registered 
correctly by attempting to access it from a vbscript



[2009-06-08 18:05:57] will at flourishlib dot com

Description:

In previous versions of PHP it was possible to create a COM object for
CAPICOM to generate random data. I'm not sure at what version it broke,
but now trying to instantiate the COM object, an exception is thrown
with the message "Failed to create COM object 'CAPICOM.Utilities.1':
Invalid syntax".

This behavior seem to be present on both 5.2.9-2 and 5.2.10RC1.

I've been unable to figure out what this error really means. The ProgID
I'm specifying is valid according to Microsoft -
http://msdn.microsoft.com/en-us/library/aa388176(VS.85).aspx.

Any sort of direction would be useful in trying to solve this issue.

Reproduce code:
---
new COM('CAPICOM.Utilities.1');

Expected result:

A COM object that can be used.

Actual result:
--
An exception with the message:
Failed to create COM object 'CAPICOM.Utilities.1': Invalid syntax





-- 
Edit this bug report at http://bugs.php.net/?id=48498&edit=1



#50057 [Fbk]: crash in _php_pgsql_notice_ptr_dtor -> efree with Horde

2009-11-03 Thread scottmac
 ID:   50057
 Updated by:   scott...@php.net
 Reported By:  proforg at maloletka dot ru
 Status:   Feedback
 Bug Type: PostgreSQL related
 Operating System: Debian Lenny 2.6.26-2-amd64
 PHP Version:  5.2SVN-2009-11-02 (snap)
 New Comment:

Can you provide a reproduce script and also would it be possible to run
what you have through valgrind to get a better memory trace.


Previous Comments:


[2009-11-04 00:55:39] proforg at maloletka dot ru

php5.2-200911032130
configure options: --enable-fastcgi --enable-force-cgi-redirect
--with-pgsql --with-pear=/usr/share/php/ --enable-debug  --with-imap
--with-
kerberos --with-imap-ssl --with-gettext

run options: /usr/local/bin/php-cgi -b 127.0.0.1:9919 -c
/etc/php5/fpm/

backtrace:

[New process 4752]
#0  0x006fc288 in zend_mm_check_ptr (heap=0xcd8390, ptr=0x1,
silent=1, __zend_filename=0x830c38 "/usr/local/src/php5.2-
200911032130/ext/pgsql/pgsql.c", 
__zend_lineno=379, __zend_orig_filename=0x0, __zend_orig_lineno=0)
at /usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:1304
1304if (p->info._size != ZEND_MM_NEXT_BLOCK(p)->info._prev)
{

(gdb) bt
#0  0x006fc288 in zend_mm_check_ptr (heap=0xcd8390, ptr=0x1,
silent=1, __zend_filename=0x830c38 "/usr/local/src/php5.2-
200911032130/ext/pgsql/pgsql.c", 
__zend_lineno=379, __zend_orig_filename=0x0, __zend_orig_lineno=0)
at /usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:1304
#1  0x006fdd2e in _zend_mm_free_int (heap=0xcd8390, p=0x1,
__zend_filename=0x830c38 "/usr/local/src/php5.2-
200911032130/ext/pgsql/pgsql.c", __zend_lineno=379, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at
/usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:1943
#2  0x006ff2ca in _efree (ptr=0x1, __zend_filename=0x830c38
"/usr/local/src/php5.2-200911032130/ext/pgsql/pgsql.c",
__zend_lineno=379, 
__zend_orig_filename=0x0, 
__zend_orig_lineno=0) at
/usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:2311
#3  0x0056e2f0 in _php_pgsql_notice_ptr_dtor (ptr=0x134b848) at
/usr/local/src/php5.2-200911032130/ext/pgsql/pgsql.c:379
#4  0x0072c591 in zend_hash_clean (ht=0xb12388) at
/usr/local/src/php5.2-200911032130/Zend/zend_hash.c:552
#5  0x0056eb8e in zm_deactivate_pgsql (type=1,
module_number=14) at
/usr/local/src/php5.2-200911032130/ext/pgsql/pgsql.c:578
#6  0x00726f19 in module_registry_cleanup (module=0xd041d0) at
/usr/local/src/php5.2-200911032130/Zend/zend_API.c:1976
#7  0x0072cdf9 in zend_hash_reverse_apply (ht=0xb16760,
apply_func=0x726ede ) at
/usr/local/src/php5.2-
200911032130/Zend/zend_hash.c:755
#8  0x0071e481 in zend_deactivate_modules () at
/usr/local/src/php5.2-200911032130/Zend/zend.c:838
#9  0x006c6258 in php_request_shutdown (dummy=0x0) at
/usr/local/src/php5.2-200911032130/main/main.c:1474
#10 0x007a6ce5 in main (argc=5, argv=0x7fff3f4b5eb8) at
/usr/local/src/php5.2-200911032130/sapi/cgi/cgi_main.c:2057



[2009-11-03 12:33:45] proforg at maloletka dot ru

Yes, definitely, same result at least with apache2 sapi.
I'll try to have some more tests and backtraces with clear cgi-fcgi
sapi 
later today,



[2009-11-03 10:45:38] j...@php.net

Can you reproduce this without the 3rd party patches? (no, we do not
support this FPM thing!)



[2009-11-03 02:22:59] proforg at maloletka dot ru

the same for 5.2.10 and 5.2.11
but 5.2.9 works fine



[2009-11-02 23:10:30] proforg at maloletka dot ru

Description:

php5.2-200911021930 + apache2 / fpm sapi frequently crashes on debian 
horde3 + imp4 installation.

Reproduce code:
---
Current debian horde and imp packages.

Actual result:
--
fpm log output:

Nov 03 01:51:13.738647 [WARNING] fpm_children_bury(), line 217: child 
19892 (pool www-data) exited on signal 11 SIGSEGV (core 
dumped) after 2377.432524 seconds from start
Nov 03 01:51:13.738687 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: "[Tue Nov  3 
01:36:48 2009]  Script:  '/usr/share/horde3//index.php'"
Nov 03 01:51:13.738716 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: 
"/usr/local/src/php5.2-200911021930/ext/pgsql/pgsql.c(289) :  Freeing 
0x029A97C0 (46 bytes), 
script=/usr/share/horde3//index.php", pipe is closed
Nov 03 01:51:13.738738 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: "[Tue Nov  3 
01:36:48 2009]  Script:  '/usr/share/horde3//index.php'", pipe is 
closed
Nov 03 01:51:13.738758 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 

#50066 [Bgs]: 1st request after expiration loads session data but not subsequent request

2009-11-03 Thread phpbug at reider dot net
 ID:   50066
 User updated by:  phpbug at reider dot net
 Reported By:  phpbug at reider dot net
 Status:   Bogus
 Bug Type: Session related
 Operating System: debian
 PHP Version:  5.3.1RC2
 New Comment:

Johannes,

Thanks for the update. It is true that it will be infrequent in
practice because as you say users will clean each others sessions, but I
would like to apply this very argument in favor of changing it - the
latency problem will in practice not present itself in higher traffic
scenarios.

Meanwhile it does make a difference in low volume scenarios (of which
development is a primary case). What we have now is that sessions
appears active on a request made after a long idle period, but then
appears inactive on the request immediately following. It is really
unexpected and feels 'backwards'. I suggest that the latency (given the
above premise that this only affects the low traffic scnario) is in fact
the lesser evil, and changing it would make for more consistent behavior
- it would work the same irrespective of random state changes occurring
on the machine that are not really part of the user transaction.


Previous Comments:


[2009-11-03 19:47:39] johan...@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Removing the data before handling the request increases the latency
till the user gets a response (as the session files are being deleted)
and as you said there should be no practical effect with this as usually
you have more than one user so they\'ll clean each others sessions.



[2009-11-03 18:07:03] phpbug at reider dot net

Description:

sessions don't appear to expire when expected. for example:

a logon request arrives and the app calls session_start() and stores
authentication data in the session. session.gc_maxlifetime+n seconds
later, a 2nd request arrives. The authentication data is loaded and the
2nd request is processed as if the session is active. A few seconds
later a 3rd request arrives; in the 3rd request all the session data is
gone, as if the session only just timed out even though the user
requested immediately after the 2nd response.

Apparently, php deserializes session data and does gc() (if it is to be
done) afterwards; so in the 2nd request, the data is loaded into the
session, *then* the files are removed.

I expected that the 2nd, not 3rd request would have no session data

Wouldn'tm it makeore  sense to gc *before* loading the session data?
That way, it would be the *2nd* request to perceive a session timeout,
instead of the  3rd.

Reproduce code:
---
I have session.gc_probability=100 and session.gc_divisor=100 to run gc
on each request.



Expected result:

I expected that the 2nd, not 3rd request would have the session data
not deserialized. While in practice it will usually be the case that the
the gc will occur in a different users process, nevertheless, I suggest
that if session_start() does a gc which results in the session data
being removed, it should not also load it into the session.






-- 
Edit this bug report at http://bugs.php.net/?id=50066&edit=1



#50059 [Bgs]: strototime() incorrectly parses first sunday of Nov 2009

2009-11-03 Thread herrnoel at gmail dot com
 ID:   50059
 User updated by:  herrnoel at gmail dot com
 Reported By:  herrnoel at gmail dot com
 Status:   Bogus
 Bug Type: Date/time related
 Operating System: Linux/Debian 5.0.3
 PHP Version:  5.2.11
 New Comment:

OK thanks for the clarification.  Yes the docs could be improved for
this particular function on php.net.

Interestingly enough, I found a syntax that seems to work:

strtotime('+0 week sun nov 2009');
strtotime('+1 week sun nov 2009');
strtotime('-1 week sun nov 2009');
etc.

This seems to yield valid timestamps and gives me an easy integer based
interval incrementer.

I'm parsing ical RRULE sets.  Believe me I'm grateful for this
function's existence.


Previous Comments:


[2009-11-03 23:52:45] der...@php.net

No, it is not a wrapper around anything, but it's still not a bug.
There is lots of logic involved here but that belongs in the docs (and
there is already an issue open for that I think).



[2009-11-03 23:01:50] herrnoel at gmail dot com

1) OK that's a sort of fair point.  I'll see if I can drum up some
access to a compiled install...

2) strtotime() is a wrapper to GNU's date function right?

http://www.gnu.org/software/coreutils/manual/coreutils.html#Day-of-week-items

I believe this is correct syntax.

"A number may precede a day of the week item to move forward
supplementary weeks. It is best used in expression like ‘third monday’.
In this context, ‘last day’ or ‘next day’ is also acceptable; they move
one week before or after the day that day by itself would represent. "

The ordinal spellings of numbers are just aliases to integers -- I
prefer the terser, numeric format.



[2009-11-03 10:44:49] j...@php.net

1. Too old and wrong PHP version. (we only support what we release, not
some badly patched binaries from 3rd party)

2. This is not a bug, strotime() is not an AI which can parse any crap
you pass it. Please ask support on the right forum.



[2009-11-03 03:19:01] herrnoel at gmail dot com

Description:

Actual php version is latest from debian stable: PHP 5.2.6-1+lenny3

When using strtotime() for some really handy english parsing, it works
great EXCEPT for the first day of the month.

The format is as follows:

[1-4] [day of week] [month] [year]

If the day of the week is the first day of the month, this will return
the date starting one week ahead of the first day of the month.
Otherwise, the behavior is as expected.

This is repeatable for all months.  If you leave out the initial digit,
the broken first day of the month works, but then you must use 1 to
indicate the 2nd instance of that day and so on.

Reproduce code:
---
echo date('Y-m-d', strtotime('1 thu oct 2009')); # first day of month
echo date('Y-m-d', strtotime('1 fri oct 2009')); # second day of month
echo date('Y-m-d', strtotime('1 sun nov 2009')); # first day of month
echo date('Y-m-d', strtotime('2 sun nov 2009')); # second sunday of
month (sunday is the first day of month)


Expected result:

2009-10-01
2009-10-02
2009-11-01
2009-11-08


Actual result:
--
2009-10-08
2009-10-02
2009-11-08
2009-11-15





-- 
Edit this bug report at http://bugs.php.net/?id=50059&edit=1



#50057 [Com]: crash in _php_pgsql_notice_ptr_dtor -> efree with Horde

2009-11-03 Thread proforg at maloletka dot ru
 ID:   50057
 Comment by:   proforg at maloletka dot ru
 Reported By:  proforg at maloletka dot ru
 Status:   Feedback
 Bug Type: PostgreSQL related
 Operating System: Debian Lenny 2.6.26-2-amd64
 PHP Version:  5.2SVN-2009-11-02 (snap)
 New Comment:

php5.2-200911032130
configure options: --enable-fastcgi --enable-force-cgi-redirect
--with-pgsql --with-pear=/usr/share/php/ --enable-debug  --with-imap
--with-
kerberos --with-imap-ssl --with-gettext

run options: /usr/local/bin/php-cgi -b 127.0.0.1:9919 -c
/etc/php5/fpm/

backtrace:

[New process 4752]
#0  0x006fc288 in zend_mm_check_ptr (heap=0xcd8390, ptr=0x1,
silent=1, __zend_filename=0x830c38 "/usr/local/src/php5.2-
200911032130/ext/pgsql/pgsql.c", 
__zend_lineno=379, __zend_orig_filename=0x0, __zend_orig_lineno=0)
at /usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:1304
1304if (p->info._size != ZEND_MM_NEXT_BLOCK(p)->info._prev)
{

(gdb) bt
#0  0x006fc288 in zend_mm_check_ptr (heap=0xcd8390, ptr=0x1,
silent=1, __zend_filename=0x830c38 "/usr/local/src/php5.2-
200911032130/ext/pgsql/pgsql.c", 
__zend_lineno=379, __zend_orig_filename=0x0, __zend_orig_lineno=0)
at /usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:1304
#1  0x006fdd2e in _zend_mm_free_int (heap=0xcd8390, p=0x1,
__zend_filename=0x830c38 "/usr/local/src/php5.2-
200911032130/ext/pgsql/pgsql.c", __zend_lineno=379, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at
/usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:1943
#2  0x006ff2ca in _efree (ptr=0x1, __zend_filename=0x830c38
"/usr/local/src/php5.2-200911032130/ext/pgsql/pgsql.c",
__zend_lineno=379, 
__zend_orig_filename=0x0, 
__zend_orig_lineno=0) at
/usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:2311
#3  0x0056e2f0 in _php_pgsql_notice_ptr_dtor (ptr=0x134b848) at
/usr/local/src/php5.2-200911032130/ext/pgsql/pgsql.c:379
#4  0x0072c591 in zend_hash_clean (ht=0xb12388) at
/usr/local/src/php5.2-200911032130/Zend/zend_hash.c:552
#5  0x0056eb8e in zm_deactivate_pgsql (type=1,
module_number=14) at
/usr/local/src/php5.2-200911032130/ext/pgsql/pgsql.c:578
#6  0x00726f19 in module_registry_cleanup (module=0xd041d0) at
/usr/local/src/php5.2-200911032130/Zend/zend_API.c:1976
#7  0x0072cdf9 in zend_hash_reverse_apply (ht=0xb16760,
apply_func=0x726ede ) at
/usr/local/src/php5.2-
200911032130/Zend/zend_hash.c:755
#8  0x0071e481 in zend_deactivate_modules () at
/usr/local/src/php5.2-200911032130/Zend/zend.c:838
#9  0x006c6258 in php_request_shutdown (dummy=0x0) at
/usr/local/src/php5.2-200911032130/main/main.c:1474
#10 0x007a6ce5 in main (argc=5, argv=0x7fff3f4b5eb8) at
/usr/local/src/php5.2-200911032130/sapi/cgi/cgi_main.c:2057


Previous Comments:


[2009-11-03 12:33:45] proforg at maloletka dot ru

Yes, definitely, same result at least with apache2 sapi.
I'll try to have some more tests and backtraces with clear cgi-fcgi
sapi 
later today,



[2009-11-03 10:45:38] j...@php.net

Can you reproduce this without the 3rd party patches? (no, we do not
support this FPM thing!)



[2009-11-03 02:22:59] proforg at maloletka dot ru

the same for 5.2.10 and 5.2.11
but 5.2.9 works fine



[2009-11-02 23:10:30] proforg at maloletka dot ru

Description:

php5.2-200911021930 + apache2 / fpm sapi frequently crashes on debian 
horde3 + imp4 installation.

Reproduce code:
---
Current debian horde and imp packages.

Actual result:
--
fpm log output:

Nov 03 01:51:13.738647 [WARNING] fpm_children_bury(), line 217: child 
19892 (pool www-data) exited on signal 11 SIGSEGV (core 
dumped) after 2377.432524 seconds from start
Nov 03 01:51:13.738687 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: "[Tue Nov  3 
01:36:48 2009]  Script:  '/usr/share/horde3//index.php'"
Nov 03 01:51:13.738716 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: 
"/usr/local/src/php5.2-200911021930/ext/pgsql/pgsql.c(289) :  Freeing 
0x029A97C0 (46 bytes), 
script=/usr/share/horde3//index.php", pipe is closed
Nov 03 01:51:13.738738 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: "[Tue Nov  3 
01:36:48 2009]  Script:  '/usr/share/horde3//index.php'", pipe is 
closed
Nov 03 01:51:13.738758 [WARNING] fpm_stdio_child_said(), line 167: 
child 19892 (pool www-data) said into stderr: 
"/usr/local/src/php5.2-200911021930/ext/pgsql/pgsql.c(361) :  Freeing 
0x02540370 (16 bytes), 
script=/usr/share/horde3//index.php", pipe is closed
Nov 03 01:51:13.738779 [WARNING] fpm_stdio_child_said(), line 167

#50059 [Bgs]: strototime() incorrectly parses first sunday of Nov 2009

2009-11-03 Thread herrnoel at gmail dot com
 ID:   50059
 User updated by:  herrnoel at gmail dot com
 Reported By:  herrnoel at gmail dot com
 Status:   Bogus
 Bug Type: Date/time related
 Operating System: Linux/Debian 5.0.3
 PHP Version:  5.2.11
 New Comment:

1) OK that's a sort of fair point.  I'll see if I can drum up some
access to a compiled install...

2) strtotime() is a wrapper to GNU's date function right?

http://www.gnu.org/software/coreutils/manual/coreutils.html#Day-of-week-items

I believe this is correct syntax.

"A number may precede a day of the week item to move forward
supplementary weeks. It is best used in expression like ‘third monday’.
In this context, ‘last day’ or ‘next day’ is also acceptable; they move
one week before or after the day that day by itself would represent. "

The ordinal spellings of numbers are just aliases to integers -- I
prefer the terser, numeric format.


Previous Comments:


[2009-11-03 10:44:49] j...@php.net

1. Too old and wrong PHP version. (we only support what we release, not
some badly patched binaries from 3rd party)

2. This is not a bug, strotime() is not an AI which can parse any crap
you pass it. Please ask support on the right forum.



[2009-11-03 03:19:01] herrnoel at gmail dot com

Description:

Actual php version is latest from debian stable: PHP 5.2.6-1+lenny3

When using strtotime() for some really handy english parsing, it works
great EXCEPT for the first day of the month.

The format is as follows:

[1-4] [day of week] [month] [year]

If the day of the week is the first day of the month, this will return
the date starting one week ahead of the first day of the month.
Otherwise, the behavior is as expected.

This is repeatable for all months.  If you leave out the initial digit,
the broken first day of the month works, but then you must use 1 to
indicate the 2nd instance of that day and so on.

Reproduce code:
---
echo date('Y-m-d', strtotime('1 thu oct 2009')); # first day of month
echo date('Y-m-d', strtotime('1 fri oct 2009')); # second day of month
echo date('Y-m-d', strtotime('1 sun nov 2009')); # first day of month
echo date('Y-m-d', strtotime('2 sun nov 2009')); # second sunday of
month (sunday is the first day of month)


Expected result:

2009-10-01
2009-10-02
2009-11-01
2009-11-08


Actual result:
--
2009-10-08
2009-10-02
2009-11-08
2009-11-15





-- 
Edit this bug report at http://bugs.php.net/?id=50059&edit=1



#50066 [Opn->Bgs]: 1st request after expiration loads session data but not subsequent request

2009-11-03 Thread johannes
 ID:   50066
 Updated by:   johan...@php.net
 Reported By:  phpbug at reider dot net
-Status:   Open
+Status:   Bogus
 Bug Type: Session related
 Operating System: debian
 PHP Version:  5.3.1RC2
 New Comment:

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Removing the data before handling the request increases the latency
till the user gets a response (as the session files are being deleted)
and as you said there should be no practical effect with this as usually
you have more than one user so they'll clean each others sessions.


Previous Comments:


[2009-11-03 18:07:03] phpbug at reider dot net

Description:

sessions don't appear to expire when expected. for example:

a logon request arrives and the app calls session_start() and stores
authentication data in the session. session.gc_maxlifetime+n seconds
later, a 2nd request arrives. The authentication data is loaded and the
2nd request is processed as if the session is active. A few seconds
later a 3rd request arrives; in the 3rd request all the session data is
gone, as if the session only just timed out even though the user
requested immediately after the 2nd response.

Apparently, php deserializes session data and does gc() (if it is to be
done) afterwards; so in the 2nd request, the data is loaded into the
session, *then* the files are removed.

I expected that the 2nd, not 3rd request would have no session data

Wouldn'tm it makeore  sense to gc *before* loading the session data?
That way, it would be the *2nd* request to perceive a session timeout,
instead of the  3rd.

Reproduce code:
---
I have session.gc_probability=100 and session.gc_divisor=100 to run gc
on each request.



Expected result:

I expected that the 2nd, not 3rd request would have the session data
not deserialized. While in practice it will usually be the case that the
the gc will occur in a different users process, nevertheless, I suggest
that if session_start() does a gc which results in the session data
being removed, it should not also load it into the session.






-- 
Edit this bug report at http://bugs.php.net/?id=50066&edit=1



#50057 [Com]: crash in _php_pgsql_notice_ptr_dtor -> efree with Horde

2009-11-03 Thread proforg at maloletka dot ru
 ID:   50057
 Comment by:   proforg at maloletka dot ru
 Reported By:  proforg at maloletka dot ru
 Status:   Feedback
 Bug Type: PostgreSQL related
 Operating System: Debian Lenny 2.6.26-2-amd64
 PHP Version:  5.2SVN-2009-11-02 (snap)
 New Comment:

Unfortunately, at the moment, I'm not able to figure out exact part of

the code which causes this segfault. Horde code is quite large and not

very clear. I'll try to simplify it as much as posible and send you
test 
case ASAP, but I can't even estimate how much time may it take.
Moreover, this error occures not every request, sometimes only on each

second, or third request. 

Requested valgrind output: http://maloletka.ru/valgrind.out.gz


Previous Comments:


[2009-11-04 01:42:09] scott...@php.net

Can you provide a reproduce script and also would it be possible to run
what you have through valgrind to get a better memory trace.



[2009-11-04 00:55:39] proforg at maloletka dot ru

php5.2-200911032130
configure options: --enable-fastcgi --enable-force-cgi-redirect
--with-pgsql --with-pear=/usr/share/php/ --enable-debug  --with-imap
--with-
kerberos --with-imap-ssl --with-gettext

run options: /usr/local/bin/php-cgi -b 127.0.0.1:9919 -c
/etc/php5/fpm/

backtrace:

[New process 4752]
#0  0x006fc288 in zend_mm_check_ptr (heap=0xcd8390, ptr=0x1,
silent=1, __zend_filename=0x830c38 "/usr/local/src/php5.2-
200911032130/ext/pgsql/pgsql.c", 
__zend_lineno=379, __zend_orig_filename=0x0, __zend_orig_lineno=0)
at /usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:1304
1304if (p->info._size != ZEND_MM_NEXT_BLOCK(p)->info._prev)
{

(gdb) bt
#0  0x006fc288 in zend_mm_check_ptr (heap=0xcd8390, ptr=0x1,
silent=1, __zend_filename=0x830c38 "/usr/local/src/php5.2-
200911032130/ext/pgsql/pgsql.c", 
__zend_lineno=379, __zend_orig_filename=0x0, __zend_orig_lineno=0)
at /usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:1304
#1  0x006fdd2e in _zend_mm_free_int (heap=0xcd8390, p=0x1,
__zend_filename=0x830c38 "/usr/local/src/php5.2-
200911032130/ext/pgsql/pgsql.c", __zend_lineno=379, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at
/usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:1943
#2  0x006ff2ca in _efree (ptr=0x1, __zend_filename=0x830c38
"/usr/local/src/php5.2-200911032130/ext/pgsql/pgsql.c",
__zend_lineno=379, 
__zend_orig_filename=0x0, 
__zend_orig_lineno=0) at
/usr/local/src/php5.2-200911032130/Zend/zend_alloc.c:2311
#3  0x0056e2f0 in _php_pgsql_notice_ptr_dtor (ptr=0x134b848) at
/usr/local/src/php5.2-200911032130/ext/pgsql/pgsql.c:379
#4  0x0072c591 in zend_hash_clean (ht=0xb12388) at
/usr/local/src/php5.2-200911032130/Zend/zend_hash.c:552
#5  0x0056eb8e in zm_deactivate_pgsql (type=1,
module_number=14) at
/usr/local/src/php5.2-200911032130/ext/pgsql/pgsql.c:578
#6  0x00726f19 in module_registry_cleanup (module=0xd041d0) at
/usr/local/src/php5.2-200911032130/Zend/zend_API.c:1976
#7  0x0072cdf9 in zend_hash_reverse_apply (ht=0xb16760,
apply_func=0x726ede ) at
/usr/local/src/php5.2-
200911032130/Zend/zend_hash.c:755
#8  0x0071e481 in zend_deactivate_modules () at
/usr/local/src/php5.2-200911032130/Zend/zend.c:838
#9  0x006c6258 in php_request_shutdown (dummy=0x0) at
/usr/local/src/php5.2-200911032130/main/main.c:1474
#10 0x007a6ce5 in main (argc=5, argv=0x7fff3f4b5eb8) at
/usr/local/src/php5.2-200911032130/sapi/cgi/cgi_main.c:2057



[2009-11-03 12:33:45] proforg at maloletka dot ru

Yes, definitely, same result at least with apache2 sapi.
I'll try to have some more tests and backtraces with clear cgi-fcgi
sapi 
later today,



[2009-11-03 10:45:38] j...@php.net

Can you reproduce this without the 3rd party patches? (no, we do not
support this FPM thing!)



[2009-11-03 02:22:59] proforg at maloletka dot ru

the same for 5.2.10 and 5.2.11
but 5.2.9 works fine



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/50057

-- 
Edit this bug report at http://bugs.php.net/?id=50057&edit=1



#50068 [Opn]: const problem

2009-11-03 Thread ksingla
 ID:   50068
 Updated by:   ksin...@php.net
 Reported By:  jachym dot tousek at gmail dot com
 Status:   Open
 Bug Type: Scripting Engine problem
 Operating System: Windows 7
 PHP Version:  5.3.1RC3
 New Comment:

I think this behavior is by design. const expressions are evaluated at
compile time. So only few operations are supported in a const expression
and string concatenation is not one of those. I could repro this in PHP
5.2 (after putting it under a class).


Previous Comments:


[2009-11-03 20:16:44] jachym dot tousek at gmail dot com

Description:

const is not working

Reproduce code:
---
http://bugs.php.net/?id=50068&edit=1



#50068 [Bgs]: const problem

2009-11-03 Thread scottmac
 ID:   50068
 Updated by:   scott...@php.net
 Reported By:  jachym dot tousek at gmail dot com
 Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Windows 7
 PHP Version:  5.3.1RC3
 New Comment:

const is a compile time constant and only allows simple scalar values.

define is a constant resolved at runtime and it allows full expressions
when being defined.


Previous Comments:


[2009-11-03 22:26:15] jachym dot tousek at gmail dot com

Well i've checked
[http://www.php.net/manual/en/language.constants.syntax.php] and also
updated from 5.3.0 to 5.3.1RC3 before sending this report, but there is
nothing about const name = 'value'; being different from
define('name','value'); and i can not understand it even now.



[2009-11-03 21:46:58] fel...@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php





[2009-11-03 21:11:32] ksin...@php.net

I think this behavior is by design. const expressions are evaluated at
compile time. So only few operations are supported in a const expression
and string concatenation is not one of those. I could repro this in PHP
5.2 (after putting it under a class).



[2009-11-03 20:16:44] jachym dot tousek at gmail dot com

Description:

const is not working

Reproduce code:
---
http://bugs.php.net/?id=50068&edit=1



#50071 [NEW]: Not honored: display_errors = stderr

2009-11-03 Thread rank1seeker at gmail dot com
From: rank1seeker at gmail dot com
Operating system: FreeBSD 7.2
PHP version:  5.3SVN-2009-11-03 (snap)
PHP Bug Type: *Configuration Issues
Bug description:  Not honored: display_errors = stderr

Description:

display_errors = stderr, acts like display_errors = On

Reproduce code:
---
In php.ini:
display_errors = stderr

Expected result:

Errors displayed to STDERR

Actual result:
--
Errors displayed to STDOUT (visible in browser)

Some page[phpinfo();] parsed by fcgi
Result(part):
display_errors  On(Local Value) On(Master Value)

-- 
Edit bug report at http://bugs.php.net/?id=50071&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=50071&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=50071&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=50071&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=50071&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=50071&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=50071&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=50071&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=50071&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=50071&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=50071&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=50071&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=50071&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=50071&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=50071&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=50071&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=50071&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=50071&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=50071&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=50071&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=50071&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=50071&r=mysqlcfg



#50068 [Bgs]: const problem

2009-11-03 Thread jachym dot tousek at gmail dot com
 ID:   50068
 User updated by:  jachym dot tousek at gmail dot com
 Reported By:  jachym dot tousek at gmail dot com
 Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Windows 7
 PHP Version:  5.3.1RC3
 New Comment:

Well i've checked
[http://www.php.net/manual/en/language.constants.syntax.php] and also
updated from 5.3.0 to 5.3.1RC3 before sending this report, but there is
nothing about const name = 'value'; being different from
define('name','value'); and i can not understand it even now.


Previous Comments:


[2009-11-03 21:46:58] fel...@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php





[2009-11-03 21:11:32] ksin...@php.net

I think this behavior is by design. const expressions are evaluated at
compile time. So only few operations are supported in a const expression
and string concatenation is not one of those. I could repro this in PHP
5.2 (after putting it under a class).



[2009-11-03 20:16:44] jachym dot tousek at gmail dot com

Description:

const is not working

Reproduce code:
---
http://bugs.php.net/?id=50068&edit=1



#50060 [Bgs]: "failed creating formpost data" if post array value starts with '@'

2009-11-03 Thread bugs dot php dot net at sgerrand dot com
 ID:   50060
 User updated by:  bugs dot php dot net at sgerrand dot com
 Reported By:  bugs dot php dot net at sgerrand dot com
 Status:   Bogus
 Bug Type: cURL related
 Operating System: Linux (Ubuntu x86_64 2.6.31-14)
 PHP Version:  5.2.11
 New Comment:

Regardless, if the existing functionality for constructing form data 
with the CURLOPT_POSTFIELDS option will not be changed, can the 
documentation for curl_setopt() be altered to more explicitly indicate

that *any* array value that starts with '@' will be treated as a file 
for upload.


Previous Comments:


[2009-11-03 11:58:30] scott...@php.net

-d is for the whole data, what we really have here is -F for formdata.

curl -F 'k...@value' http://www.php.net/



[2009-11-03 10:44:13] bugs dot php dot net at sgerrand dot com

Please refer to the documentation for curl_setopt() - 
http://php.net/curl_setopt

CURLOPT_POSTFIELDS   The full data to post in a HTTP "POST" 
operation. To post a file, prepend a filename with @ and use the full 
path. This can either be passed as a urlencoded string like 
'para1=val1¶2=val2&...' or as an array with the field name as key 
and field data as value. If value is an array, the Content-Type header

will be set to multipart/form-data.

The case I have logged is when data to be posted using this option is 
an array which happens to have a value that starts with '@', as per 
the example. This edge case is being caused by the function used to 
create the form data to pass to cURL.

I would note that the cURL command line client on any POSIX system can

perform this without issue - i.e.: 

curl -d 'k...@value' http://www.php.net/



[2009-11-03 10:18:06] scott...@php.net

@ has a special meaning with cURL and takes the contents of the file.



[2009-11-03 07:29:36] bugs dot php dot net at sgerrand dot com

Description:

PHP's cURL library dies returning the error message "failed creating 
formpost data" when trying to use an array that contains a value 
starting with '@'. 

If the array is changed to a string in URL encoded like format, the 
problem does not occur.

Reproduce code:
---
http://www.php.net';
$postData = array('key' => '@value');
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

if (! curl_exec($ch) ) print 'cURL error: ' . curl_error($ch);
else print "cURL success";

curl_close($ch);

?>

Expected result:

cURL success

Actual result:
--
cURL error: failed creating formpost data





-- 
Edit this bug report at http://bugs.php.net/?id=50060&edit=1



#50021 [Opn]: Predefined Statements doesn't allow Strings with more than 256 letters.

2009-11-03 Thread uw
 ID:   50021
 Updated by:   u...@php.net
 Reported By:  novitools dot novi at web dot de
 Status:   Open
 Bug Type: MySQLi related
 Operating System: Windows Vista
 PHP Version:  5.3.0
 New Comment:

Thanks for the feedback!

I feared that meta data would indicate the correct length. To be
honest, I have no idea so far what may be causing it.


Previous Comments:


[2009-11-03 14:33:21] novitools dot novi at web dot de

Here is the result:

Field   1:  `You can only read the first 256 words of this text. That
is why I must write such a long text, because I must reach the limit
of
256 words. The same error occours, when you try to select a text
column
from the database. But I didn't had this error before `
Catalog:`def`
Database:   ``
Table:  ``
Org_table:  ``
Type:   VAR_STRING
Collation:  latin1_swedish_ci (8)
Length: 284
Max_length: 284
Decimals:   31
Flags:  NOT_NULL


+---


---+
| You can only read the first 256 words of this text. That
is why I must write such a long text, because I must reach the limit
of
256 words. The same error occours, when you try to select a text
column
from the database. But I didn't had this error before
|
+---


---+
| You can only read the first 256 words of this text. That
is why I must write such a long text, because I must reach the limit
of
256 words. The same error occours, when you try to select a text
column
from the database. But I didn't had this error before in a previous
version of php. |
+---


---+
1 row in set (0.00 sec)



[2009-11-03 09:54:50] u...@php.net

Please run you query in the MySQL prompt and show the meta data that is
returned from MySQL.  Start the MySQL prompt with "mysql
--column-type-info" followed by your usual "-u", "-p", "-h" etc.
options.

For example:

nixn...@ulflinux:~> /usr/local/mysql/bin/mysql   --column-type-info
-uroot -proot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.1.39-debug Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

mysql> select 1;
Field   1:  `1`
Catalog:`def`
Database:   ``
Table:  ``
Org_table:  ``
Type:   LONGLONG
Collation:  binary (63)
Length: 1
Max_length: 1
Decimals:   0
Flags:  NOT_NULL BINARY NUM


+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

But, of course, run your failing query and run mysql prompt on your
system.

Thanks,
Ulf






[2009-10-30 15:12:35] novitools dot novi at web dot de

So the problem only occurs on specific versions:

No Problem with this Versions:
client_version 50005
server_version 50132

Big Problem with this Versions:
client_version 50137
server_version 50137



[2009-10-29 17:58:24] friedrich dot mark at freenet dot de

Same Problem here:
$db = new mysqli('localhost', 'root', '', 'test');
$stmt = $db->stmt_init();
$sql = "SELECT `text` FROM `longtext` WHERE `id` = 1";
$stmt->prepare($sql);
$stmt->execute();
$stmt->bind_result($text);
$stmt->fetch();
$stmt->close();
var_dump(phpversion());
var_dump($db->client_version);
var_dump($db->server_version);
var_dump($db->protocol_version);
var_dump($text);

Output:
string(5) "5.3.0"
int(50137)
int(50137)
int(10)
string(256) "Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna
aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
dolores et ea rebum. Stet clita kasd gubergren, no sea takimata "

OS: Win 7

SQL:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE DATABASE `test` DEFAULT CHARACTER SET latin1 COLLATE
latin1_swedish_ci;
USE `test`;

CREATE TABLE IF NOT EXISTS `longtext` (
  `id` int(11) NOT NULL,
  `text` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `longtext` (`id`, `text`) VALUES
(1, 'Lorem ipsum dolor sit amet, conse

#50068 [NEW]: const problem

2009-11-03 Thread jachym dot tousek at gmail dot com
From: jachym dot tousek at gmail dot com
Operating system: Windows 7
PHP version:  5.3.1RC3
PHP Bug Type: Scripting Engine problem
Bug description:  const problem

Description:

const is not working

Reproduce code:
---
http://bugs.php.net/?id=50068&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=50068&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=50068&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=50068&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=50068&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=50068&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=50068&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=50068&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=50068&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=50068&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=50068&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=50068&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=50068&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=50068&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=50068&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=50068&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=50068&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=50068&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=50068&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=50068&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=50068&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=50068&r=mysqlcfg



#46264 [Opn]: FoxPro DBF files can not be opened

2009-11-03 Thread sjoerd
 ID:   46264
 Updated by:   sjo...@php.net
 Reported By:  pierre dot beaumadier at gmail dot com
 Status:   Open
 Bug Type: dBase related
 Operating System: GNU/Linux
 PHP Version:  5.2CVS-2008-10-09
 New Comment:

I've put the file Mr Moseby provided online here:
http://www.gissen.nl/files/mach07.DBF


Previous Comments:


[2009-11-01 20:28:11] sjo...@php.net

Asked for DBF files per e-mail.



[2009-10-29 12:19:20] jmoseby at elasticfabrics dot com

I have this problem too.  It is a major problem for me.  I can provide
example dbf files on request.

Running ubuntu hardy 2.6.24-19-generic.

#php --version
PHP 5.2.9-0.dotdeb.2 with Suhosin-Patch 0.9.7 (cli) (built: Apr  7 2009
20:42:41)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies



[2008-10-09 13:53:38] pierre dot beaumadier at gmail dot com

Same error with the latest snapshot.



[2008-10-09 12:24:38] j...@php.net

Not all fixed bugs are evident in the NEWS. Some people are lazy to
write proper descriptions.



[2008-10-09 12:19:14] pierre dot beaumadier at gmail dot com

For information I tested on this version :

$ php --version
PHP 5.2.4-2ubuntu5.3 with Suhosin-Patch 0.9.6.2 (cli) (built: Jul 23
2008 06:44:49) 
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies


I looked up in the bugs list but didn't see anything related to my
problem.

I will try to test the latest snapshot.



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/46264

-- 
Edit this bug report at http://bugs.php.net/?id=46264&edit=1



#50068 [Opn->Bgs]: const problem

2009-11-03 Thread felipe
 ID:   50068
 Updated by:   fel...@php.net
 Reported By:  jachym dot tousek at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Windows 7
 PHP Version:  5.3.1RC3
 New Comment:

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php




Previous Comments:


[2009-11-03 21:11:32] ksin...@php.net

I think this behavior is by design. const expressions are evaluated at
compile time. So only few operations are supported in a const expression
and string concatenation is not one of those. I could repro this in PHP
5.2 (after putting it under a class).



[2009-11-03 20:16:44] jachym dot tousek at gmail dot com

Description:

const is not working

Reproduce code:
---
http://bugs.php.net/?id=50068&edit=1



#50072 [NEW]: Lighttpd spawn-fcgi CRASH . child exited with: 254

2009-11-03 Thread sasha181 at mail dot ru
From: sasha181 at mail dot ru
Operating system: freebsd 7.1 amd64
PHP version:  5.2.11
PHP Bug Type: Unknown/Other Function
Bug description:  Lighttpd spawn-fcgi CRASH . child exited with: 254

Description:

Today, I upgrade my server's PHP to 5.2.11, after installed PHP, when
I start PHP Fast-CGI via spawn-fcgi,it reports the following error
message and quit.

spawn-fcgi.c.218: child exited with: 254, Unknown error 254

spawn-fcgi version is 1.6.2

And this version of spawn-fcgi works well with php5.2.10


-- 
Edit bug report at http://bugs.php.net/?id=50072&edit=1
-- 
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=50072&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=50072&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=50072&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=50072&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=50072&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=50072&r=alreadyfixed
Need backtrace:  
http://bugs.php.net/fix.php?id=50072&r=needtrace
Need Reproduce Script:   
http://bugs.php.net/fix.php?id=50072&r=needscript
Try newer version:   
http://bugs.php.net/fix.php?id=50072&r=oldversion
Not developer issue: 
http://bugs.php.net/fix.php?id=50072&r=support
Expected behavior:   
http://bugs.php.net/fix.php?id=50072&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=50072&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=50072&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=50072&r=globals
PHP 4 support discontinued:  http://bugs.php.net/fix.php?id=50072&r=php4
Daylight Savings:http://bugs.php.net/fix.php?id=50072&r=dst
IIS Stability:   
http://bugs.php.net/fix.php?id=50072&r=isapi
Install GNU Sed: 
http://bugs.php.net/fix.php?id=50072&r=gnused
Floating point limitations:  
http://bugs.php.net/fix.php?id=50072&r=float
No Zend Extensions:  
http://bugs.php.net/fix.php?id=50072&r=nozend
MySQL Configuration Error:   
http://bugs.php.net/fix.php?id=50072&r=mysqlcfg



#50072 [Opn->Csd]: Lighttpd spawn-fcgi CRASH . child exited with: 254

2009-11-03 Thread sasha181 at mail dot ru
 ID:   50072
 User updated by:  sasha181 at mail dot ru
 Reported By:  sasha181 at mail dot ru
-Status:   Open
+Status:   Closed
 Bug Type: Unknown/Other Function
 Operating System: freebsd 7.1 amd64
 PHP Version:  5.2.11
 New Comment:

on another similar system, the problem is not reproduced


Previous Comments:


[2009-11-04 06:36:35] sasha181 at mail dot ru

Description:

Today, I upgrade my server's PHP to 5.2.11, after installed PHP, when
I start PHP Fast-CGI via spawn-fcgi,it reports the following error
message and quit.

spawn-fcgi.c.218: child exited with: 254, Unknown error 254

spawn-fcgi version is 1.6.2

And this version of spawn-fcgi works well with php5.2.10






-- 
Edit this bug report at http://bugs.php.net/?id=50072&edit=1



#50035 [Fbk->Opn]: Crash during shutdown, zm_shutdown_ps_mm -> ps_mm_destroy -> mm_destroy

2009-11-03 Thread dhertel at gmail dot com
 ID:   50035
 User updated by:  dhertel at gmail dot com
 Reported By:  dhertel at gmail dot com
-Status:   Feedback
+Status:   Open
 Bug Type: Session related
 Operating System: linux 2.6.27
 PHP Version:  5.3.1RC2
 New Comment:

unfortunately i can't as i use methods which have been introduced in
php 5.3

my libmm version is 1.4.2 (1.4.2-16.79 from opensuse 11.1)


Previous Comments:


[2009-11-03 10:54:01] j...@php.net

It crashes in mod_mm.c line 256 which is ps_mm_destroy() doing
mm_destroy(). See also bug #46434 which is about another MM related
crash in session module. I would guess it's either MM which is buggy or
we're doing something wrong here. (what libmm version do you have?)

Please try also with PHP 5.2.11 (no need for backtrace, just let us
know if it crashes also). 



[2009-10-29 19:41:35] dhertel at gmail dot com

that somehow doesn't surprise me, as this segfault doesn't seem to come
from the script... if i got the backtrace right, php segfaults after the
script finished - correct me if i'm wrong :)



[2009-10-29 19:36:18] sjo...@php.net

I could not reproduce the crash with either script.



[2009-10-29 15:07:59] dhertel at gmail dot com

I'm sorry i couln't provide a shorter script :-(. I can't reproduce the
segfault with a simple script.

I now stripped everything unnecessary from the script... doesn't need
anything external now...

Strange thing is that the segfault doesn't occur every time the script
ends but sometimes... and the more iterations mmae_core2 runs (line 59),
the more often it seems to occur

http://pastebin.org/49264



[2009-10-29 14:12:29] dhertel at gmail dot com

Description:

I'm writing a CLI program with forking and ipc and stuff. It seems to
work fine but in the current test the script eventually produces a
segfault - every time... but only if i let it run until it's shutting
down itself. if i interrupt it, it shuts down without segfaulting

php -i says it's version 5.3.1RC3-dev but i also had this problem with
5.3.0 (which unfortunately i can't downgrade to anymore to make a trace
there)

when using valgrind to check memory the segfault doesn't happen

Reproduce code:
---
Though I don't believe that it's a problem with my actual code (as
there are no execute() lines in the Backtrace), here it is:

http://pastebin.org/49244

the PFW_* classes are for handling processes in general, the MMAE_*
classes are part of the actual software using PFW_*, where MMAE_Boot
stays but Core and Core2 are only for seing if my PFW_* actually works.

Expected result:

no segfault

Actual result:
--
segfault

so here's the back trace
#0  0xb7441570 in ?? ()
#1  0x080b88d3 in zm_shutdown_ps_mm (type=1, module_number=7) at
/usr/src/debug/php-5.3.1_git200910272307/ext/session/mod_mm.c:256
#2  0x080b6fd1 in zm_shutdown_session (type=1, module_number=7) at
/usr/src/debug/php-5.3.1_git200910272307/ext/session/session.c:2192
#3  0x081bde7a in module_destructor (module=0x82cd180) at
/usr/src/debug/php-5.3.1_git200910272307/Zend/zend_API.c:2098
#4  0x081c4192 in zend_hash_apply_deleter (ht=0x82bbbc0, p=0x82cd150)
at /usr/src/debug/php-5.3.1_git200910272307/Zend/zend_hash.c:611
#5  0x081c4457 in zend_hash_graceful_reverse_destroy (ht=0x82bbbc0) at
/usr/src/debug/php-5.3.1_git200910272307/Zend/zend_hash.c:646
#6  0x081b85ac in zend_shutdown () at
/usr/src/debug/php-5.3.1_git200910272307/Zend/zend.c:759
#7  0x0815d732 in php_module_shutdown () at
/usr/src/debug/php-5.3.1_git200910272307/main/main.c:2103
#8  0x0824569c in main (argc=2, argv=0xbff47784) at
/usr/src/debug/php-5.3.1_git200910272307/sapi/cli/php_cli.c:1385





-- 
Edit this bug report at http://bugs.php.net/?id=50035&edit=1