#47818 [NEW]: Segfault due to bound callback param

2009-03-27 Thread galaxy dot mipt at gmail dot com
From: galaxy dot mipt at gmail dot com
Operating system: Linux 2.6.18 x86
PHP version:  5.2.9
PHP Bug Type: XMLRPC-EPI related
Bug description:  Segfault due to bound callback param

Description:

In my particular case when the callback for
xmlrpc_server_register_method() is a class method attempt to save some of
the parameters passed to that callback during xmlrpc_server_call_method()
call results in segfault.

Well, I cannot provide short code that would reproduce the segfault I get
in my application - it's sort of unstable. But the code below at least show
that something is really wrong here.

I believe that $method_name just gets garbage-collected no matter that it
is bound with $this->method. Decoupling them, for example like this,
helps:
$this->method = (string)$method_name;


Reproduce code:
---
class MyXmlRpc {

private $s;

private $method;

function impl($method_name, $params, $user_data){
$this->method = $method_name;
print "Inside impl(): {$this->method}\n";
return array_sum($params);
}

function __construct() {
$this->s = xmlrpc_server_create();
xmlrpc_server_register_method($this->s,'add', array($this,
'impl'));
}

function call($req) {
return xmlrpc_server_call_method($this->s, $req, null);
}

function getMethod() {return $this->method;}

}

$x = new MyXmlRpc;
$resp = $x->call(xmlrpc_encode_request('add',array(1,2,3)));

$method = $x->getMethod();

print "Global scope: $method\n";



Expected result:

Inside impl(): add
Global scope: add

Actual result:
--
Inside impl(): add
Global scope:

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



#47816 [Opn]: pcntl tests failing on NetBSD

2009-03-27 Thread lbarnaud
 ID:   47816
 Updated by:   lbarn...@php.net
 Reported By:  mbecc...@php.net
 Status:   Open
 Bug Type: PCNTL related
 Operating System: NetBSD 4
 PHP Version:  5.3CVS-2009-03-28 (CVS)
 New Comment:

Hi, 

This looks good, please commit :)

Thanks for your tests on NetBSD.



Previous Comments:


[2009-03-28 01:43:19] mbecc...@php.net

Description:

There are a few problems with the new pcntl extension on my NetBSD 4.0
system. The extension compiles fine, but a few tests fail.

First, it seems that NetBSD sigtimedwait / sigwaitinfo implementations
return 0 on success and -1 on failure, rather then the signal number:
see http://www.daemon-systems.org/man/sigwait.2.html

A patch is available here:
http://www.beccati.com/misc/php/pcntl_sigtimedwait_HEAD.diff

I didn't commit myself as you might want a better (autoconf based?)
fix.

Second, there are a couple of kernel bugs interfering with pcntl
properly working:

http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=41076 (Fixed in
-current)
http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=41085 (Under
investigation)

Once those bugs have been fixed the extensions should be properly
working on NetBSD.

Reproduce code:
---
pcntl_sigprocmask(SIG_BLOCK, array(SIGTERM));
posix_kill(posix_getpid(), SIGTERM);
var_dump(pcntl_sigwaitinfo(array(SIGTERM), $siginfo));
var_dump($siginfo);


Expected result:

int(15)
array(3) {
  [u"signo"]=>
  int(15)
  [u"errno"]=>
  int(0)
  [u"code"]=>
  int(0)
}


Actual result:
--
int(0)
NULL






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



#47817 [NEW]: PHP hangs when running proc_open()

2009-03-27 Thread steven dot abarnett at gmail dot com
From: steven dot abarnett at gmail dot com
Operating system: Windows XP
PHP version:  5.2.9
PHP Bug Type: Reproducible crash
Bug description:  PHP hangs when running proc_open()

Description:

Unfortunately as far as I can tell, I am the only person having this
problem- which leads me to wonder if it's an issue with my PHP
configuration. Although I keep using default configuration, so I am at a
loss. I have tried installing PHP and Apache, I have tried in xampp, and I
have tried in WAMP. Every time after running the proc_open() command the
PHP script will wait for the process to close before reading the next line-
making reading or writing to any pipes impossible.

$fileDesc = array(
0 => array("pipe", "r"), // STDIN
1 => array("pipe", "w"), // STDOUT
2 => array("pipe", "w") // STDERR
);
die("Got this far");
$handle = proc_open("C:/wherever/program.exe", $fileDesc, $pipes);
fwrite($pipes[0], "input");
fclose($pipes[0]);
proc_close($handle);

Displays "Got this far" and dies, as expected. However:

$fileDesc = array(
0 => array("pipe", "r"), // STDIN
1 => array("pipe", "w"), // STDOUT
2 => array("pipe", "w") // STDERR
);
$handle = proc_open("C:/wherever/program.exe", $fileDesc, $pipes);
die("Got this far");
fwrite($pipes[0], "input");
fclose($pipes[0]);
proc_close($handle);

Will simply hang and seem to cease all function. The moment that I close
program.exe through task manager the script continues as if nothing were
wrong, dying with the output "Got this far". The input is never passed to
the program, although no errors are raised when I hit the proc_close()
line.

Reproduce code:
---
$descriptors = array(
0 => array("pipe", "r"), // STDIN. Used to feed input
1 => array("pipe", "w"), // STDOUT. Used to read output
2 => array("pipe", "w"), // STDERR. Used to read errors
3 => array("pipe", "r") // We can feed the passphrase here
);
// Build the command line and start the process
$cmd = '"C:/program files/gnu/gnupg/gpg.exe" --batch --no-verbose
--passphrase-fd 3 --output decrypted.zip --decrypt encrypted.zip.gpg';
$gpg = proc_open( $cmd, $descriptors, $pipes);
if(is_resource($gpg)) {
// Push passphrase to custom pipe
fwrite($pipes[3], $passphrase);
fclose($pipes[3]);
proc_close($gpg);
}

Expected result:

Expected to find decrypted.zip in the same directory as the PHP script (a
decrypted version of encrypted.zip.gpg, which is located in the same
directory as the PHP script)

Actual result:
--
When localhost/test.php was run the webpage continued to load
indefinitely. I waited as long as 20 minutes. The PHP.ini file should stop
execution after 30 seconds. When gpg.exe was killed with task manager the
page loaded but the .zip file was never created.

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



#47816 [NEW]: pcntl tests failing on NetBSD

2009-03-27 Thread mbecc...@php.net
From: mbecc...@php.net
Operating system: NetBSD 4
PHP version:  5.3CVS-2009-03-28 (CVS)
PHP Bug Type: PCNTL related
Bug description:  pcntl tests failing on NetBSD

Description:

There are a few problems with the new pcntl extension on my NetBSD 4.0
system. The extension compiles fine, but a few tests fail.

First, it seems that NetBSD sigtimedwait / sigwaitinfo implementations
return 0 on success and -1 on failure, rather then the signal number: see
http://www.daemon-systems.org/man/sigwait.2.html

A patch is available here:
http://www.beccati.com/misc/php/pcntl_sigtimedwait_HEAD.diff

I didn't commit myself as you might want a better (autoconf based?) fix.

Second, there are a couple of kernel bugs interfering with pcntl properly
working:

http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=41076 (Fixed in
-current)
http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=41085 (Under
investigation)

Once those bugs have been fixed the extensions should be properly working
on NetBSD.

Reproduce code:
---
pcntl_sigprocmask(SIG_BLOCK, array(SIGTERM));
posix_kill(posix_getpid(), SIGTERM);
var_dump(pcntl_sigwaitinfo(array(SIGTERM), $siginfo));
var_dump($siginfo);


Expected result:

int(15)
array(3) {
  [u"signo"]=>
  int(15)
  [u"errno"]=>
  int(0)
  [u"code"]=>
  int(0)
}


Actual result:
--
int(0)
NULL


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



#47799 [Fbk->Opn]: Segfault with Regex

2009-03-27 Thread mb at insidetheweb dot de
 ID:  47799
 User updated by: mb at insidetheweb dot de
 Reported By: mb at insidetheweb dot de
-Status:  Feedback
+Status:  Open
 Bug Type:PCRE related
 PHP Version: 5.2.9
 New Comment:

Sorry, no clue how to get a backtrace on a running system.

This httpd -X does not work. Not even mod_backtrace.

Simply

Download the Text_Wiki with Mediawiki and parse some large Table. You
get the error then yourself. I really doubt its system related.


Previous Comments:


[2009-03-27 16:16:34] fel...@php.net

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.





[2009-03-27 01:09:11] mb at insidetheweb dot de

Description:

When i do this Regex 

#^\{\|(.*?)(?:^\|\+(.*?))?(^(?:((?R))|.)*?)^\|}#msi

on larger requests, it causes a seqfault.

You just need to be some chars above some kind of limit and you got the
error.



Reproduce code:
---
http://cvs.php.net/viewvc.cgi/pear/Text_Wiki/Text/Wiki/Parse/Mediawiki/Table.php?revision=1.11&view=markup

Its Text_Wiki_Mediawiki.

Expected result:

HTTPD Seqfault






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



#47811 [Com]: preg_match that can cause segmentation fault

2009-03-27 Thread dennis dot birkholz at nexxes dot net
 ID:   47811
 Comment by:   dennis dot birkholz at nexxes dot net
 Reported By:  travis at wikihow dot com
 Status:   Open
 Bug Type: Reproducible crash
 Operating System: CentOS release 4.4 & Mac OS 10.4
 PHP Version:  5.2.9
 New Comment:

I have a similar segfault testcase for preg_match. It always crashes at
a stringlength of around 6700. PHP is 5.2.8 on gentoo linux.

# Create my test-string
for ($i=0; $i<2; $i++) {
$string .= 'a';
}

# The pattern matches for \\, \", everything except " and "
$pattern = '/^(|\\"|[^"]|")+$/';

print "Trying with string length " . "\033" . '[s';

for ($counter=6600; $counter@im', $text, $matches);




Reproduce code:
---
http://wikidiy.com/php_bug_crash.txt

Expected result:

Apache not supposed to crash, completes preg_match, dumps $matches
array.

Actual result:
--
Apache seg faults

[Fri Mar 27 12:16:05 2009] [notice] child pid 6391 exit signal
Segmentation fault (11)





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



#47815 [Opn]: Compile time computation of hash value decrease hash lookup time.

2009-03-27 Thread basant dot kukreja at gmail dot com
 ID:   47815
 User updated by:  basant dot kukreja at gmail dot com
 Reported By:  basant dot kukreja at gmail dot com
 Status:   Open
 Bug Type: Performance problem
 Operating System: Solaris 10
 PHP Version:  5.2.9
 New Comment:

Some signifiant percentage of the time is spent in calculating the hash
value
of string contants.

If we compute the hash value of string constants during compilation
then
lookup time can be improved a lot.

With the above submitted patch results are better : 
Excl. Incl. Name  
User CPU  User CPU   
sec.  sec. 
 414.450   726.638 zend_fetch_dimension_address
 74.922238.016  zend_get_property_info_hval

Note the 150 second (~20 % time) less time spent in
zend_fetch_dimension_address and 190 second (45% time) reduction in
zend_get_property_info.

It showed 1% performance overall.


Previous Comments:


[2009-03-27 22:59:55] basant dot kukreja at gmail dot com

diff -r 00438f7eebe4 php-5.2.9RC3/Zend/zend_compile.h
--- a/php-5.2.9RC3/Zend/zend_compile.h  Tue Mar 17 11:27:02 2009 -0700
+++ b/php-5.2.9RC3/Zend/zend_compile.h  Fri Mar 27 10:18:13 2009 -0700
@@ -83,6 +83,7 @@
znode op1;
znode op2;
ulong extended_value;
+   ulong hval;
uint lineno;
zend_uchar opcode;
 };
diff -r 00438f7eebe4 php-5.2.9RC3/Zend/zend_execute.c
--- a/php-5.2.9RC3/Zend/zend_execute.c  Tue Mar 17 11:27:02 2009 -0700
+++ b/php-5.2.9RC3/Zend/zend_execute.c  Fri Mar 27 10:18:13 2009 -0700
@@ -930,11 +930,12 @@
return NULL;
 }
 
-static inline zval **zend_fetch_dimension_address_inner(HashTable *ht,
zval *dim, int type TSRMLS_DC)
+static inline zval **zend_fetch_dimension_address_inner(HashTable *ht,
zval *dim, int type, zend_ulong hval, int usehval TSRMLS_DC)
 {
zval **retval;
char *offset_key;
int offset_key_length;
+   int ret;
 
switch (dim->type) {
case IS_NULL:
@@ -948,7 +949,13 @@
offset_key_length = dim->value.str.len;

 fetch_string_dim:
-   if (zend_symtable_find(ht, offset_key, 
offset_key_length+1, (void
**) &retval) == FAILURE) {
+   if (usehval) {
+   ret = zend_symtable_quick_find(ht, offset_key,
offset_key_length+1, hval, (void **) &retval);
+   }
+   else {
+   ret = zend_symtable_find(ht, offset_key, 
offset_key_length+1,
(void **) &retval);
+   }
+   if (ret == FAILURE) {
switch (type) {
case BP_VAR_R:
zend_error(E_NOTICE, "Undefined 
index:  %s", offset_key);
@@ -1023,7 +1030,7 @@
return retval;
 }
 
-static void zend_fetch_dimension_address(temp_variable *result, zval
**container_ptr, zval *dim, int dim_is_tmp_var, int type TSRMLS_DC)
+static void zend_fetch_dimension_address(temp_variable *result, zval
**container_ptr, zval *dim, int dim_is_tmp_var, int type, zend_ulong
hval, int usehval TSRMLS_DC)
 {
zval *container;
 
@@ -1078,7 +1085,7 @@
new_zval->refcount--;
}
} else {
-   retval = 
zend_fetch_dimension_address_inner(Z_ARRVAL_P(container),
dim, type TSRMLS_CC);
+   retval = 
zend_fetch_dimension_address_inner(Z_ARRVAL_P(container),
dim, type, hval, usehval TSRMLS_CC);
}
if (result) {
result->var.ptr_ptr = retval;
diff -r 00438f7eebe4 php-5.2.9RC3/Zend/zend_hash.h
--- a/php-5.2.9RC3/Zend/zend_hash.h Tue Mar 17 11:27:02 2009 -0700
+++ b/php-5.2.9RC3/Zend/zend_hash.h Fri Mar 27 10:18:13 2009 -0700
@@ -354,6 +354,12 @@
return zend_hash_find(ht, arKey, nKeyLength, pData);
 }
 
+static inline int zend_symtable_quick_find(HashTable *ht, char *arKey,
uint nKeyLength, ulong h, void **pData)
+{
+   HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_index_find(ht, idx,
pData));
+   return zend_hash_quick_find(ht, arKey, nKeyLength, h, pData);
+}
+
 
 static inline int zend_symtable_exists(HashTable *ht, char *arKey,
uint nKeyLength)
 {
diff -r 00438f7eebe4 php-5.2.9RC3/Zend/zend_object_handlers.c
--- a/php-5.2.9RC3/Zend/zend_object_handlers.c  Tue Mar 17 11:27:02 2009
-0700
+++ b/php-5.2.9RC3/Zend/zend_object_handlers.c  Fri Mar 27 10:18:13 2009
-0700
@@ -175,24 +175,11 @@
return 0;
 }
 
-ZEND_API struct _zend_property_info
*zend_get_property_info(zend_class_entry *ce, zval *member, int silent
TSRMLS_DC)
+static struct _zend_property_info
*zend_get_property_info_hval(zend_class_entry *ce, zval *member, int
silent, ulong h TSRMLS_DC)
 {
zend_property

#47815 [Opn]: Compile time computation of hash value decrease hash lookup time.

2009-03-27 Thread basant dot kukreja at gmail dot com
 ID:   47815
 User updated by:  basant dot kukreja at gmail dot com
 Reported By:  basant dot kukreja at gmail dot com
 Status:   Open
 Bug Type: Performance problem
 Operating System: Solaris 10
 PHP Version:  5.2.9
 New Comment:

diff -r 00438f7eebe4 php-5.2.9RC3/Zend/zend_compile.h
--- a/php-5.2.9RC3/Zend/zend_compile.h  Tue Mar 17 11:27:02 2009 -0700
+++ b/php-5.2.9RC3/Zend/zend_compile.h  Fri Mar 27 10:18:13 2009 -0700
@@ -83,6 +83,7 @@
znode op1;
znode op2;
ulong extended_value;
+   ulong hval;
uint lineno;
zend_uchar opcode;
 };
diff -r 00438f7eebe4 php-5.2.9RC3/Zend/zend_execute.c
--- a/php-5.2.9RC3/Zend/zend_execute.c  Tue Mar 17 11:27:02 2009 -0700
+++ b/php-5.2.9RC3/Zend/zend_execute.c  Fri Mar 27 10:18:13 2009 -0700
@@ -930,11 +930,12 @@
return NULL;
 }
 
-static inline zval **zend_fetch_dimension_address_inner(HashTable *ht,
zval *dim, int type TSRMLS_DC)
+static inline zval **zend_fetch_dimension_address_inner(HashTable *ht,
zval *dim, int type, zend_ulong hval, int usehval TSRMLS_DC)
 {
zval **retval;
char *offset_key;
int offset_key_length;
+   int ret;
 
switch (dim->type) {
case IS_NULL:
@@ -948,7 +949,13 @@
offset_key_length = dim->value.str.len;

 fetch_string_dim:
-   if (zend_symtable_find(ht, offset_key, 
offset_key_length+1, (void
**) &retval) == FAILURE) {
+   if (usehval) {
+   ret = zend_symtable_quick_find(ht, offset_key,
offset_key_length+1, hval, (void **) &retval);
+   }
+   else {
+   ret = zend_symtable_find(ht, offset_key, 
offset_key_length+1,
(void **) &retval);
+   }
+   if (ret == FAILURE) {
switch (type) {
case BP_VAR_R:
zend_error(E_NOTICE, "Undefined 
index:  %s", offset_key);
@@ -1023,7 +1030,7 @@
return retval;
 }
 
-static void zend_fetch_dimension_address(temp_variable *result, zval
**container_ptr, zval *dim, int dim_is_tmp_var, int type TSRMLS_DC)
+static void zend_fetch_dimension_address(temp_variable *result, zval
**container_ptr, zval *dim, int dim_is_tmp_var, int type, zend_ulong
hval, int usehval TSRMLS_DC)
 {
zval *container;
 
@@ -1078,7 +1085,7 @@
new_zval->refcount--;
}
} else {
-   retval = 
zend_fetch_dimension_address_inner(Z_ARRVAL_P(container),
dim, type TSRMLS_CC);
+   retval = 
zend_fetch_dimension_address_inner(Z_ARRVAL_P(container),
dim, type, hval, usehval TSRMLS_CC);
}
if (result) {
result->var.ptr_ptr = retval;
diff -r 00438f7eebe4 php-5.2.9RC3/Zend/zend_hash.h
--- a/php-5.2.9RC3/Zend/zend_hash.h Tue Mar 17 11:27:02 2009 -0700
+++ b/php-5.2.9RC3/Zend/zend_hash.h Fri Mar 27 10:18:13 2009 -0700
@@ -354,6 +354,12 @@
return zend_hash_find(ht, arKey, nKeyLength, pData);
 }
 
+static inline int zend_symtable_quick_find(HashTable *ht, char *arKey,
uint nKeyLength, ulong h, void **pData)
+{
+   HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_index_find(ht, idx,
pData));
+   return zend_hash_quick_find(ht, arKey, nKeyLength, h, pData);
+}
+
 
 static inline int zend_symtable_exists(HashTable *ht, char *arKey,
uint nKeyLength)
 {
diff -r 00438f7eebe4 php-5.2.9RC3/Zend/zend_object_handlers.c
--- a/php-5.2.9RC3/Zend/zend_object_handlers.c  Tue Mar 17 11:27:02 2009
-0700
+++ b/php-5.2.9RC3/Zend/zend_object_handlers.c  Fri Mar 27 10:18:13 2009
-0700
@@ -175,24 +175,11 @@
return 0;
 }
 
-ZEND_API struct _zend_property_info
*zend_get_property_info(zend_class_entry *ce, zval *member, int silent
TSRMLS_DC)
+static struct _zend_property_info
*zend_get_property_info_hval(zend_class_entry *ce, zval *member, int
silent, ulong h TSRMLS_DC)
 {
zend_property_info *property_info = NULL;
zend_property_info *scope_property_info;
zend_bool denied_access = 0;
-   ulong h;
-
-   if (Z_STRVAL_P(member)[0] == '\0') {
-   if (!silent) {
-   if (Z_STRLEN_P(member) == 0) {
-   zend_error(E_ERROR, "Cannot access empty 
property");
-   } else {
-   zend_error(E_ERROR, "Cannot access property 
started with '\\0'");
-   }
-   }
-   return NULL;
-   }
-   h = zend_get_hash_value(Z_STRVAL_P(member), Z_STRLEN_P(member) + 1);
if (zend_hash_quick_find(&ce->properties_info, Z_STRVAL_P(member),
Z_STRLEN_P(member)+1, h, (void **) &property_info)

#47815 [NEW]: Compile time computation of hash value decrease hash lookup time.

2009-03-27 Thread basant dot kukreja at gmail dot com
From: basant dot kukreja at gmail dot com
Operating system: Solaris 10
PHP version:  5.2.9
PHP Bug Type: Performance problem
Bug description:  Compile time computation of hash value decrease hash lookup 
time.

Description:

In specweb ecommerce php benchmark, hash lookup consumes a lot of time.

For a 30 minutes measurement :
Excl. Incl. Name  
User CPU  User CPU   
sec.  sec. 
 434.304   914.980   zend_fetch_dimension_address
 136.195   427.119   zend_get_property_info

914 seconds (13 % of user time) are spent in zend_fetch_dimension_address
out
of total 6947 seconds.



Reproduce code:
---
specweb benchmark.

Expected result:

Low time spent in zend_fetch_dimension_address and zend_get_property_info

Actual result:
--
Time spend in zend_fetch_dimension_address and zend_get_property_info is
very high.

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



#47812 [Asn]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread pajoye
 ID:   47812
 Updated by:   paj...@php.net
 Reported By:  oeriksson at mandriva dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

Please do not use this report to discuss other topics.

But to answer your questions, yes, they are provided as patch upstream
as well and we try to keep everything synced as much as possible.

But they tend to stay behind for some fixes, especially edge cases for
crashes or windows support. You can follow the libzip mailing list if
you are interested.


Previous Comments:


[2009-03-27 21:10:56] oeriksson at mandriva dot com

Thanks Pierre,

What about the private changes in libzip? Will you be able to sync that
with upstream as well?



[2009-03-27 20:55:35] paj...@php.net


There is work being done in libgd.org to bring 2.1.0 out (which should
be synced with php). All fixes are done in both libraries (thanks Tabe
for taking care of most of them) and many features have made their way.
By the way, if the tempo is too slow, you can always give us a hand.

I'm not willing to begin again a discussion with the Debian maintainer,
I tried many times without success.




[2009-03-27 20:40:39] oeriksson at mandriva dot com

Excuse me for bothering you with petty issues.

Why is it the bundled libgd is not in sync with the more "official"
libgd as you are the sole upstream maintainer? gd hasn't had a new
release since 2007-11-28, and none of the bling-bling found in the
bundled libgd has found its way into any official libgd release.

There are other bundled libraries. What about them then and private
changes?



[2009-03-27 20:33:12] crrodriguez at opensuse dot org

Pierre: is there any summary on what has to be done exactly to sync
both libraries so distributions can just ship one copy of libgd ?

Maybe all interested parties can hack into it.



[2009-03-27 20:18:51] ras...@php.net

Right, so you figured it out.  You are talking to Pierre here.  He is
the upstream maintainer of the library.  And the library is a PHP
project.  Telling us to do a better job pushing changes upstream (to
ourselves?) doesn't make much sense.



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

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



#47812 [Com]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread oeriksson at mandriva dot com
 ID:   47812
 Comment by:   oeriksson at mandriva dot com
 Reported By:  oeriksson at mandriva dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

Thanks Pierre,

What about the private changes in libzip? Will you be able to sync that
with upstream as well?


Previous Comments:


[2009-03-27 20:55:35] paj...@php.net


There is work being done in libgd.org to bring 2.1.0 out (which should
be synced with php). All fixes are done in both libraries (thanks Tabe
for taking care of most of them) and many features have made their way.
By the way, if the tempo is too slow, you can always give us a hand.

I'm not willing to begin again a discussion with the Debian maintainer,
I tried many times without success.




[2009-03-27 20:40:39] oeriksson at mandriva dot com

Excuse me for bothering you with petty issues.

Why is it the bundled libgd is not in sync with the more "official"
libgd as you are the sole upstream maintainer? gd hasn't had a new
release since 2007-11-28, and none of the bling-bling found in the
bundled libgd has found its way into any official libgd release.

There are other bundled libraries. What about them then and private
changes?



[2009-03-27 20:33:12] crrodriguez at opensuse dot org

Pierre: is there any summary on what has to be done exactly to sync
both libraries so distributions can just ship one copy of libgd ?

Maybe all interested parties can hack into it.



[2009-03-27 20:18:51] ras...@php.net

Right, so you figured it out.  You are talking to Pierre here.  He is
the upstream maintainer of the library.  And the library is a PHP
project.  Telling us to do a better job pushing changes upstream (to
ourselves?) doesn't make much sense.



[2009-03-27 20:14:17] oeriksson at mandriva dot com

Upstream gd is nowadays libgd.org and I read there "The library was
originally developped by Thomas Boutell and is now maintained by
Pierre-A. Joye under the umbrella of PHP.net.". Is this a problem?



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

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



#47812 [Asn]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread pajoye
 ID:   47812
 Updated by:   paj...@php.net
 Reported By:  oeriksson at mandriva dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:


There is work being done in libgd.org to bring 2.1.0 out (which should
be synced with php). All fixes are done in both libraries (thanks Tabe
for taking care of most of them) and many features have made their way.
By the way, if the tempo is too slow, you can always give us a hand.

I'm not willing to begin again a discussion with the Debian maintainer,
I tried many times without success.



Previous Comments:


[2009-03-27 20:40:39] oeriksson at mandriva dot com

Excuse me for bothering you with petty issues.

Why is it the bundled libgd is not in sync with the more "official"
libgd as you are the sole upstream maintainer? gd hasn't had a new
release since 2007-11-28, and none of the bling-bling found in the
bundled libgd has found its way into any official libgd release.

There are other bundled libraries. What about them then and private
changes?



[2009-03-27 20:33:12] crrodriguez at opensuse dot org

Pierre: is there any summary on what has to be done exactly to sync
both libraries so distributions can just ship one copy of libgd ?

Maybe all interested parties can hack into it.



[2009-03-27 20:18:51] ras...@php.net

Right, so you figured it out.  You are talking to Pierre here.  He is
the upstream maintainer of the library.  And the library is a PHP
project.  Telling us to do a better job pushing changes upstream (to
ourselves?) doesn't make much sense.



[2009-03-27 20:14:17] oeriksson at mandriva dot com

Upstream gd is nowadays libgd.org and I read there "The library was
originally developped by Thomas Boutell and is now maintained by
Pierre-A. Joye under the umbrella of PHP.net.". Is this a problem?



[2009-03-27 20:05:33] paj...@php.net

You missed my point.

These distributions do not have updated libraries, or even worst for
debian, they break the compatibility with the normal GD.

I'm working to sync the external gd and php's gd so both can be used
smoothly, but I have serious doubts that Debian will change, for
example.



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

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



#47812 [Com]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread oeriksson at mandriva dot com
 ID:   47812
 Comment by:   oeriksson at mandriva dot com
 Reported By:  oeriksson at mandriva dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

Excuse me for bothering you with petty issues.

Why is it the bundled libgd is not in sync with the more "official"
libgd as you are the sole upstream maintainer? gd hasn't had a new
release since 2007-11-28, and none of the bling-bling found in the
bundled libgd has found its way into any official libgd release.

There are other bundled libraries. What about them then and private
changes?


Previous Comments:


[2009-03-27 20:33:12] crrodriguez at opensuse dot org

Pierre: is there any summary on what has to be done exactly to sync
both libraries so distributions can just ship one copy of libgd ?

Maybe all interested parties can hack into it.



[2009-03-27 20:18:51] ras...@php.net

Right, so you figured it out.  You are talking to Pierre here.  He is
the upstream maintainer of the library.  And the library is a PHP
project.  Telling us to do a better job pushing changes upstream (to
ourselves?) doesn't make much sense.



[2009-03-27 20:14:17] oeriksson at mandriva dot com

Upstream gd is nowadays libgd.org and I read there "The library was
originally developped by Thomas Boutell and is now maintained by
Pierre-A. Joye under the umbrella of PHP.net.". Is this a problem?



[2009-03-27 20:05:33] paj...@php.net

You missed my point.

These distributions do not have updated libraries, or even worst for
debian, they break the compatibility with the normal GD.

I'm working to sync the external gd and php's gd so both can be used
smoothly, but I have serious doubts that Debian will change, for
example.



[2009-03-27 20:04:23] ras...@php.net

That argument completely falls apart if you do a bit of research on who
the upstream for the gd library is.



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

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



#47812 [Com]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread crrodriguez at opensuse dot org
 ID:   47812
 Comment by:   crrodriguez at opensuse dot org
 Reported By:  oeriksson at mandriva dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

Pierre: is there any summary on what has to be done exactly to sync
both libraries so distributions can just ship one copy of libgd ?

Maybe all interested parties can hack into it.


Previous Comments:


[2009-03-27 20:18:51] ras...@php.net

Right, so you figured it out.  You are talking to Pierre here.  He is
the upstream maintainer of the library.  And the library is a PHP
project.  Telling us to do a better job pushing changes upstream (to
ourselves?) doesn't make much sense.



[2009-03-27 20:14:17] oeriksson at mandriva dot com

Upstream gd is nowadays libgd.org and I read there "The library was
originally developped by Thomas Boutell and is now maintained by
Pierre-A. Joye under the umbrella of PHP.net.". Is this a problem?



[2009-03-27 20:05:33] paj...@php.net

You missed my point.

These distributions do not have updated libraries, or even worst for
debian, they break the compatibility with the normal GD.

I'm working to sync the external gd and php's gd so both can be used
smoothly, but I have serious doubts that Debian will change, for
example.



[2009-03-27 20:04:23] ras...@php.net

That argument completely falls apart if you do a bit of research on who
the upstream for the gd library is.



[2009-03-27 19:59:07] oeriksson at mandriva dot com

The PHP devs should try harder to not bundle common libraries and
instead push private changes upstream (IMHO).



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

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



#47812 [Asn]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread rasmus
 ID:   47812
 Updated by:   ras...@php.net
 Reported By:  oeriksson at mandriva dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

Right, so you figured it out.  You are talking to Pierre here.  He is
the upstream maintainer of the library.  And the library is a PHP
project.  Telling us to do a better job pushing changes upstream (to
ourselves?) doesn't make much sense.


Previous Comments:


[2009-03-27 20:14:17] oeriksson at mandriva dot com

Upstream gd is nowadays libgd.org and I read there "The library was
originally developped by Thomas Boutell and is now maintained by
Pierre-A. Joye under the umbrella of PHP.net.". Is this a problem?



[2009-03-27 20:05:33] paj...@php.net

You missed my point.

These distributions do not have updated libraries, or even worst for
debian, they break the compatibility with the normal GD.

I'm working to sync the external gd and php's gd so both can be used
smoothly, but I have serious doubts that Debian will change, for
example.



[2009-03-27 20:04:23] ras...@php.net

That argument completely falls apart if you do a bit of research on who
the upstream for the gd library is.



[2009-03-27 19:59:07] oeriksson at mandriva dot com

The PHP devs should try harder to not bundle common libraries and
instead push private changes upstream (IMHO).



[2009-03-27 19:49:27] paj...@php.net

You should really not use the system libgd, especially not on the
following systems:
- debian
- RHEL
- Centos

The problem still has to be fixed tho' :)



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

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



#47812 [Com]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread oeriksson at mandriva dot com
 ID:   47812
 Comment by:   oeriksson at mandriva dot com
 Reported By:  oeriksson at mandriva dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

Upstream gd is nowadays libgd.org and I read there "The library was
originally developped by Thomas Boutell and is now maintained by
Pierre-A. Joye under the umbrella of PHP.net.". Is this a problem?


Previous Comments:


[2009-03-27 20:05:33] paj...@php.net

You missed my point.

These distributions do not have updated libraries, or even worst for
debian, they break the compatibility with the normal GD.

I'm working to sync the external gd and php's gd so both can be used
smoothly, but I have serious doubts that Debian will change, for
example.



[2009-03-27 20:04:23] ras...@php.net

That argument completely falls apart if you do a bit of research on who
the upstream for the gd library is.



[2009-03-27 19:59:07] oeriksson at mandriva dot com

The PHP devs should try harder to not bundle common libraries and
instead push private changes upstream (IMHO).



[2009-03-27 19:49:27] paj...@php.net

You should really not use the system libgd, especially not on the
following systems:
- debian
- RHEL
- Centos

The problem still has to be fixed tho' :)



[2009-03-27 19:45:31] oeriksson at mandriva dot com

I described it in "Description:" :-)

Here's a proposed fix:

--- ext/gd/gd.c 2009-01-31 16:27:52.0 +0100  
+++ ext/gd/gd.c.oden2009-03-27 20:27:14.0 +0100  
@@ -55,6 +55,15 @@   
 
 #if HAVE_LIBGD  
 
+#ifdef HAVE_GD_PNG  
+/* needs to be first */ 
+# include
+#endif
+
+#ifdef HAVE_GD_JPG
+# include 
+#endif
+
 static int le_gd, le_gd_font;
 #if HAVE_LIBT1
 #include 
@@ -1293,8 +1302,13 @@ PHP_MINFO_FUNCTION(gd)
 #endif
 #ifdef HAVE_GD_JPG
{
+#if HAVE_GD_BUNDLED
char tmp[12];
snprintf(tmp, sizeof(tmp), "%d",
gdJpegGetVersionInt());
+#else
+   char tmp[256];
+   snprintf(tmp, sizeof(tmp), "%d", JPEG_LIB_VERSION);
+#endif
php_info_print_table_row(2, "JPG Support", "enabled");
php_info_print_table_row(2, "libJPEG Version", tmp);
}
@@ -1302,7 +1316,11 @@ PHP_MINFO_FUNCTION(gd)

 #ifdef HAVE_GD_PNG
php_info_print_table_row(2, "PNG Support", "enabled");
+#if HAVE_GD_BUNDLED
php_info_print_table_row(2, "libPNG Version",
gdPngGetVersionString());
+#else
+   php_info_print_table_row(2, "libPNG Version",
PNG_LIBPNG_VER_STRING);
+#endif
 #endif
 #ifdef HAVE_GD_WBMP
php_info_print_table_row(2, "WBMP Support", "enabled");



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

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



#47812 [Asn]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread pajoye
 ID:   47812
 Updated by:   paj...@php.net
 Reported By:  oeriksson at mandriva dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

You missed my point.

These distributions do not have updated libraries, or even worst for
debian, they break the compatibility with the normal GD.

I'm working to sync the external gd and php's gd so both can be used
smoothly, but I have serious doubts that Debian will change, for
example.


Previous Comments:


[2009-03-27 20:04:23] ras...@php.net

That argument completely falls apart if you do a bit of research on who
the upstream for the gd library is.



[2009-03-27 19:59:07] oeriksson at mandriva dot com

The PHP devs should try harder to not bundle common libraries and
instead push private changes upstream (IMHO).



[2009-03-27 19:49:27] paj...@php.net

You should really not use the system libgd, especially not on the
following systems:
- debian
- RHEL
- Centos

The problem still has to be fixed tho' :)



[2009-03-27 19:45:31] oeriksson at mandriva dot com

I described it in "Description:" :-)

Here's a proposed fix:

--- ext/gd/gd.c 2009-01-31 16:27:52.0 +0100  
+++ ext/gd/gd.c.oden2009-03-27 20:27:14.0 +0100  
@@ -55,6 +55,15 @@   
 
 #if HAVE_LIBGD  
 
+#ifdef HAVE_GD_PNG  
+/* needs to be first */ 
+# include
+#endif
+
+#ifdef HAVE_GD_JPG
+# include 
+#endif
+
 static int le_gd, le_gd_font;
 #if HAVE_LIBT1
 #include 
@@ -1293,8 +1302,13 @@ PHP_MINFO_FUNCTION(gd)
 #endif
 #ifdef HAVE_GD_JPG
{
+#if HAVE_GD_BUNDLED
char tmp[12];
snprintf(tmp, sizeof(tmp), "%d",
gdJpegGetVersionInt());
+#else
+   char tmp[256];
+   snprintf(tmp, sizeof(tmp), "%d", JPEG_LIB_VERSION);
+#endif
php_info_print_table_row(2, "JPG Support", "enabled");
php_info_print_table_row(2, "libJPEG Version", tmp);
}
@@ -1302,7 +1316,11 @@ PHP_MINFO_FUNCTION(gd)

 #ifdef HAVE_GD_PNG
php_info_print_table_row(2, "PNG Support", "enabled");
+#if HAVE_GD_BUNDLED
php_info_print_table_row(2, "libPNG Version",
gdPngGetVersionString());
+#else
+   php_info_print_table_row(2, "libPNG Version",
PNG_LIBPNG_VER_STRING);
+#endif
 #endif
 #ifdef HAVE_GD_WBMP
php_info_print_table_row(2, "WBMP Support", "enabled");



[2009-03-27 19:36:56] der...@php.net

Are you using the bundled libgd, or an external one?



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

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



#47812 [Asn]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread rasmus
 ID:   47812
 Updated by:   ras...@php.net
 Reported By:  oeriksson at mandriva dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

That argument completely falls apart if you do a bit of research on who
the upstream for the gd library is.


Previous Comments:


[2009-03-27 19:59:07] oeriksson at mandriva dot com

The PHP devs should try harder to not bundle common libraries and
instead push private changes upstream (IMHO).



[2009-03-27 19:49:27] paj...@php.net

You should really not use the system libgd, especially not on the
following systems:
- debian
- RHEL
- Centos

The problem still has to be fixed tho' :)



[2009-03-27 19:45:31] oeriksson at mandriva dot com

I described it in "Description:" :-)

Here's a proposed fix:

--- ext/gd/gd.c 2009-01-31 16:27:52.0 +0100  
+++ ext/gd/gd.c.oden2009-03-27 20:27:14.0 +0100  
@@ -55,6 +55,15 @@   
 
 #if HAVE_LIBGD  
 
+#ifdef HAVE_GD_PNG  
+/* needs to be first */ 
+# include
+#endif
+
+#ifdef HAVE_GD_JPG
+# include 
+#endif
+
 static int le_gd, le_gd_font;
 #if HAVE_LIBT1
 #include 
@@ -1293,8 +1302,13 @@ PHP_MINFO_FUNCTION(gd)
 #endif
 #ifdef HAVE_GD_JPG
{
+#if HAVE_GD_BUNDLED
char tmp[12];
snprintf(tmp, sizeof(tmp), "%d",
gdJpegGetVersionInt());
+#else
+   char tmp[256];
+   snprintf(tmp, sizeof(tmp), "%d", JPEG_LIB_VERSION);
+#endif
php_info_print_table_row(2, "JPG Support", "enabled");
php_info_print_table_row(2, "libJPEG Version", tmp);
}
@@ -1302,7 +1316,11 @@ PHP_MINFO_FUNCTION(gd)

 #ifdef HAVE_GD_PNG
php_info_print_table_row(2, "PNG Support", "enabled");
+#if HAVE_GD_BUNDLED
php_info_print_table_row(2, "libPNG Version",
gdPngGetVersionString());
+#else
+   php_info_print_table_row(2, "libPNG Version",
PNG_LIBPNG_VER_STRING);
+#endif
 #endif
 #ifdef HAVE_GD_WBMP
php_info_print_table_row(2, "WBMP Support", "enabled");



[2009-03-27 19:36:56] der...@php.net

Are you using the bundled libgd, or an external one?



[2009-03-27 19:16:37] oeriksson at mandriva dot com

Description:

I get an unresolved symbol when linking against system libgd.


Reproduce code:
---
Just running php-cli

Expected result:

Should work.

Actual result:
--
PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/lib64/php/extensions/gd.so' - /usr/lib64/php/extensions/gd.so:
undefined symbol: gdJpegGetVersionInt in Unknown on line 0





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



#47812 [Com]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread oeriksson at mandriva dot com
 ID:   47812
 Comment by:   oeriksson at mandriva dot com
 Reported By:  oeriksson at mandriva dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

The PHP devs should try harder to not bundle common libraries and
instead push private changes upstream (IMHO).


Previous Comments:


[2009-03-27 19:49:27] paj...@php.net

You should really not use the system libgd, especially not on the
following systems:
- debian
- RHEL
- Centos

The problem still has to be fixed tho' :)



[2009-03-27 19:45:31] oeriksson at mandriva dot com

I described it in "Description:" :-)

Here's a proposed fix:

--- ext/gd/gd.c 2009-01-31 16:27:52.0 +0100  
+++ ext/gd/gd.c.oden2009-03-27 20:27:14.0 +0100  
@@ -55,6 +55,15 @@   
 
 #if HAVE_LIBGD  
 
+#ifdef HAVE_GD_PNG  
+/* needs to be first */ 
+# include
+#endif
+
+#ifdef HAVE_GD_JPG
+# include 
+#endif
+
 static int le_gd, le_gd_font;
 #if HAVE_LIBT1
 #include 
@@ -1293,8 +1302,13 @@ PHP_MINFO_FUNCTION(gd)
 #endif
 #ifdef HAVE_GD_JPG
{
+#if HAVE_GD_BUNDLED
char tmp[12];
snprintf(tmp, sizeof(tmp), "%d",
gdJpegGetVersionInt());
+#else
+   char tmp[256];
+   snprintf(tmp, sizeof(tmp), "%d", JPEG_LIB_VERSION);
+#endif
php_info_print_table_row(2, "JPG Support", "enabled");
php_info_print_table_row(2, "libJPEG Version", tmp);
}
@@ -1302,7 +1316,11 @@ PHP_MINFO_FUNCTION(gd)

 #ifdef HAVE_GD_PNG
php_info_print_table_row(2, "PNG Support", "enabled");
+#if HAVE_GD_BUNDLED
php_info_print_table_row(2, "libPNG Version",
gdPngGetVersionString());
+#else
+   php_info_print_table_row(2, "libPNG Version",
PNG_LIBPNG_VER_STRING);
+#endif
 #endif
 #ifdef HAVE_GD_WBMP
php_info_print_table_row(2, "WBMP Support", "enabled");



[2009-03-27 19:36:56] der...@php.net

Are you using the bundled libgd, or an external one?



[2009-03-27 19:16:37] oeriksson at mandriva dot com

Description:

I get an unresolved symbol when linking against system libgd.


Reproduce code:
---
Just running php-cli

Expected result:

Should work.

Actual result:
--
PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/lib64/php/extensions/gd.so' - /usr/lib64/php/extensions/gd.so:
undefined symbol: gdJpegGetVersionInt in Unknown on line 0





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



#47812 [Opn->Asn]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread pajoye
 ID:   47812
 Updated by:   paj...@php.net
 Reported By:  oeriksson at mandriva dot com
-Status:   Open
+Status:   Assigned
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
-Assigned To:  
+Assigned To:  pajoye
 New Comment:

You should really not use the system libgd, especially not on the
following systems:
- debian
- RHEL
- Centos

The problem still has to be fixed tho' :)


Previous Comments:


[2009-03-27 19:45:31] oeriksson at mandriva dot com

I described it in "Description:" :-)

Here's a proposed fix:

--- ext/gd/gd.c 2009-01-31 16:27:52.0 +0100  
+++ ext/gd/gd.c.oden2009-03-27 20:27:14.0 +0100  
@@ -55,6 +55,15 @@   
 
 #if HAVE_LIBGD  
 
+#ifdef HAVE_GD_PNG  
+/* needs to be first */ 
+# include
+#endif
+
+#ifdef HAVE_GD_JPG
+# include 
+#endif
+
 static int le_gd, le_gd_font;
 #if HAVE_LIBT1
 #include 
@@ -1293,8 +1302,13 @@ PHP_MINFO_FUNCTION(gd)
 #endif
 #ifdef HAVE_GD_JPG
{
+#if HAVE_GD_BUNDLED
char tmp[12];
snprintf(tmp, sizeof(tmp), "%d",
gdJpegGetVersionInt());
+#else
+   char tmp[256];
+   snprintf(tmp, sizeof(tmp), "%d", JPEG_LIB_VERSION);
+#endif
php_info_print_table_row(2, "JPG Support", "enabled");
php_info_print_table_row(2, "libJPEG Version", tmp);
}
@@ -1302,7 +1316,11 @@ PHP_MINFO_FUNCTION(gd)

 #ifdef HAVE_GD_PNG
php_info_print_table_row(2, "PNG Support", "enabled");
+#if HAVE_GD_BUNDLED
php_info_print_table_row(2, "libPNG Version",
gdPngGetVersionString());
+#else
+   php_info_print_table_row(2, "libPNG Version",
PNG_LIBPNG_VER_STRING);
+#endif
 #endif
 #ifdef HAVE_GD_WBMP
php_info_print_table_row(2, "WBMP Support", "enabled");



[2009-03-27 19:36:56] der...@php.net

Are you using the bundled libgd, or an external one?



[2009-03-27 19:16:37] oeriksson at mandriva dot com

Description:

I get an unresolved symbol when linking against system libgd.


Reproduce code:
---
Just running php-cli

Expected result:

Should work.

Actual result:
--
PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/lib64/php/extensions/gd.so' - /usr/lib64/php/extensions/gd.so:
undefined symbol: gdJpegGetVersionInt in Unknown on line 0





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



#47812 [Fbk->Opn]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread oeriksson at mandriva dot com
 ID:   47812
 User updated by:  oeriksson at mandriva dot com
 Reported By:  oeriksson at mandriva dot com
-Status:   Feedback
+Status:   Open
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 New Comment:

I described it in "Description:" :-)

Here's a proposed fix:

--- ext/gd/gd.c 2009-01-31 16:27:52.0 +0100  
+++ ext/gd/gd.c.oden2009-03-27 20:27:14.0 +0100  
@@ -55,6 +55,15 @@   
 
 #if HAVE_LIBGD  
 
+#ifdef HAVE_GD_PNG  
+/* needs to be first */ 
+# include
+#endif
+
+#ifdef HAVE_GD_JPG
+# include 
+#endif
+
 static int le_gd, le_gd_font;
 #if HAVE_LIBT1
 #include 
@@ -1293,8 +1302,13 @@ PHP_MINFO_FUNCTION(gd)
 #endif
 #ifdef HAVE_GD_JPG
{
+#if HAVE_GD_BUNDLED
char tmp[12];
snprintf(tmp, sizeof(tmp), "%d",
gdJpegGetVersionInt());
+#else
+   char tmp[256];
+   snprintf(tmp, sizeof(tmp), "%d", JPEG_LIB_VERSION);
+#endif
php_info_print_table_row(2, "JPG Support", "enabled");
php_info_print_table_row(2, "libJPEG Version", tmp);
}
@@ -1302,7 +1316,11 @@ PHP_MINFO_FUNCTION(gd)

 #ifdef HAVE_GD_PNG
php_info_print_table_row(2, "PNG Support", "enabled");
+#if HAVE_GD_BUNDLED
php_info_print_table_row(2, "libPNG Version",
gdPngGetVersionString());
+#else
+   php_info_print_table_row(2, "libPNG Version",
PNG_LIBPNG_VER_STRING);
+#endif
 #endif
 #ifdef HAVE_GD_WBMP
php_info_print_table_row(2, "WBMP Support", "enabled");


Previous Comments:


[2009-03-27 19:36:56] der...@php.net

Are you using the bundled libgd, or an external one?



[2009-03-27 19:16:37] oeriksson at mandriva dot com

Description:

I get an unresolved symbol when linking against system libgd.


Reproduce code:
---
Just running php-cli

Expected result:

Should work.

Actual result:
--
PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/lib64/php/extensions/gd.so' - /usr/lib64/php/extensions/gd.so:
undefined symbol: gdJpegGetVersionInt in Unknown on line 0





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



#47812 [Opn->Fbk]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread derick
 ID:   47812
 Updated by:   der...@php.net
 Reported By:  oeriksson at mandriva dot com
-Status:   Open
+Status:   Feedback
 Bug Type: GD related
 Operating System: Mandriva Linux
 PHP Version:  5.3.0RC1
 New Comment:

Are you using the bundled libgd, or an external one?


Previous Comments:


[2009-03-27 19:16:37] oeriksson at mandriva dot com

Description:

I get an unresolved symbol when linking against system libgd.


Reproduce code:
---
Just running php-cli

Expected result:

Should work.

Actual result:
--
PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/lib64/php/extensions/gd.so' - /usr/lib64/php/extensions/gd.so:
undefined symbol: gdJpegGetVersionInt in Unknown on line 0





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



#47812 [NEW]: undefined symbol: gdJpegGetVersionInt

2009-03-27 Thread oeriksson at mandriva dot com
From: oeriksson at mandriva dot com
Operating system: Mandriva Linux
PHP version:  5.3.0RC1
PHP Bug Type: GD related
Bug description:  undefined symbol: gdJpegGetVersionInt

Description:

I get an unresolved symbol when linking against system libgd.


Reproduce code:
---
Just running php-cli

Expected result:

Should work.

Actual result:
--
PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/lib64/php/extensions/gd.so' - /usr/lib64/php/extensions/gd.so:
undefined symbol: gdJpegGetVersionInt in Unknown on line 0

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



#47809 [Opn]: PHP doesn't parse the php.ini file

2009-03-27 Thread privat at timohummel dot com
 ID:   47809
 User updated by:  privat at timohummel dot com
 Reported By:  privat at timohummel dot com
 Status:   Open
 Bug Type: PHP options/info functions
 Operating System: Gentoo
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

I just ran apache with strace to make sure that the php.ini file is
actually opened. It is opened, but I'm not sure how to debug if the
values are getting parsed and probably overwritten later or if the
values in the php.ini file are silently ignored.


Previous Comments:


[2009-03-27 16:11:27] privat at timohummel dot com

I rebuilt PHP from the CVS, snapshot
http://snaps.php.net/php5.3-200903271530.tar.bz2 (latest snapshot
currently available). The issue remains, all php.ini-entries are ignored
silently when using the apache2 SAPI.

Oddly enough, the CLI SAPI works fine and reads the config file as
expected.

Here's my configure line:
'./configure' '--prefix=/usr/lib64/php5' '--host=x86_64-pc-linux-gnu'
'--mandir=/usr/lib64/php5/man' '--infodir=/usr/lib64/php5/info'
'--sysconfdir=/etc' '--cache-file=./config.cache' '--with-libdir=lib64'
'--disable-cli' '--with-apxs2=/usr/sbin/apxs2' '--disable-cgi'
'--with-config-file-path=/etc/php/apache2-php5'
'--with-config-file-scan-dir=/etc/php/apache2-php5/ext-active'
'--without-pear' '--disable-bcmath' '--with-bz2' '--disable-calendar'
'--with-curl' '--without-curlwrappers' '--disable-dbase'
'--disable-exif' '--without-fbsql' '--disable-fileinfo' '--enable-ftp'
'--with-gettext' '--with-gmp' '--disable-hash' '--without-kerberos'
'--enable-mbstring' '--with-mcrypt' '--without-mhash' '--without-msql'
'--without-mssql' '--with-openssl' '--with-openssl-dir=/usr'
'--disable-pcntl' '--with-pgsql' '--disable-posix' '--with-pspell'
'--without-recode' '--disable-simplexml' '--disable-shmop' '--with-snmp'
'--enable-soap' '--disable-sockets' '--without-sybase-ct'
'--disable-sysvmsg' '--disable-sysvsem' '--disable-sysvshm'
'--with-tidy' '--enable-wddx' '--disable-xmlreader'
'--disable-xmlwriter' '--with-xmlrpc' '--with-xsl' '--enable-zip'
'--with-zlib' '--disable-debug' '--enable-dba' '--without-cdb'
'--with-db4' '--disable-flatfile' '--with-gdbm' '--disable-inifile'
'--without-qdbm' '--with-freetype-dir=/usr' '--with-t1lib=/usr'
'--disable-gd-jis-conv' '--with-jpeg-dir=/usr' '--with-png-dir=/usr'
'--with-xpm-dir=/usr' '--with-gd' '--with-imap' '--with-imap-ssl'
'--with-mysql=/usr' '--with-mysql-sock=/var/run/mysqld/mysqld.sock'
'--with-mysqli=/usr/bin/mysql_config' '--without-pdo-dblib'
'--with-pdo-mysql=/usr' '--without-pdo-odbc' '--with-pdo-pgsql'
'--with-pdo-sqlite=/usr' '--with-readline' '--without-libedit'
'--without-mm' '--with-sqlite=/usr' '--enable-sqlite-utf8'
'--with-sqlite3'



[2009-03-27 15:06:54] paj...@php.net

This bug has been fixed in CVS.

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.





[2009-03-27 15:02:57] privat at timohummel dot com

Description:

I just upgraded to PHP 5.3.0-rc1 using a custom ebuild. However, it
seems that PHP does not parse (or silently ignore) changes done to the
php.ini file. I copied the php.ini-development from the distribution to
/etc/php/apache2-php5/php.ini.

phpinfo() tells me that the loaded configuration file is
/etc/php/apache2-php5/php.ini, in which I also did my changes.

I wonder if that has something to do with the new
development/production configurations.






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



#46015 [Com]: Build fails with system gd

2009-03-27 Thread tsteiner at nerdclub dot net
 ID:   46015
 Comment by:   tsteiner at nerdclub dot net
 Reported By:  Fedora at FamilleCollet dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Linux (Fedora 9)
 PHP Version:  5.3.0alpha2
 Assigned To:  pajoye
 New Comment:

Here's a quick patch that removes support for building against an
external libgd and replaces it with an error message.  It seems to work
as intended but I am by no means experienced with the autoconf system.

--- php-5.3.0RC1.orig/ext/gd/config.m4   2009-01-14
13:05:59.0 -0600
+++ php-5.3.0RC1/ext/gd/config.m4   2009-03-27 13:42:01.071603975
-0500
@@ -262,7 +262,6 @@
 dnl
 
 if test "$PHP_GD" = "yes"; then
-  GD_MODULE_TYPE=builtin
   extra_sources="libgd/gd.c libgd/gd_gd.c libgd/gd_gd2.c libgd/gd_io.c
libgd/gd_io_dp.c \
  libgd/gd_io_file.c libgd/gd_ss.c libgd/gd_io_ss.c
libgd/gd_png.c libgd/gd_jpeg.c \
  libgd/gdxpm.c libgd/gdfontt.c libgd/gdfonts.c
libgd/gdfontmb.c libgd/gdfontl.c \
@@ -339,57 +338,7 @@
 else
 
  if test "$PHP_GD" != "no"; then
-  GD_MODULE_TYPE=external
-  extra_sources="gdcache.c"
-
-dnl Various checks for GD features
-  PHP_GD_ZLIB
-  PHP_GD_TTSTR
-  PHP_GD_JPEG
-  PHP_GD_PNG
-  PHP_GD_XPM
-  PHP_GD_FREETYPE2
-  PHP_GD_T1LIB
-
-dnl Header path
-  for i in include/gd1.3 include/gd include gd1.3 gd ""; do
-test -f "$PHP_GD/$i/gd.h" && GD_INCLUDE="$PHP_GD/$i"
-  done
-
-dnl Library path
-  for i in $PHP_LIBDIR/gd1.3 $PHP_LIBDIR/gd $PHP_LIBDIR gd1.3 gd "";
do
-test -f "$PHP_GD/$i/libgd.$SHLIB_SUFFIX_NAME" || test -f
"$PHP_GD/$i/libgd.a" && GD_LIB="$PHP_GD/$i"
-  done
-
-  if test -n "$GD_INCLUDE" && test -n "$GD_LIB"; then
-PHP_ADD_LIBRARY_WITH_PATH(gd, $GD_LIB, GD_SHARED_LIBADD)
-AC_DEFINE(HAVE_LIBGD,1,[ ])
-PHP_GD_CHECK_VERSION
-  elif test -z "$GD_INCLUDE"; then
-AC_MSG_ERROR([Unable to find gd.h anywhere under $PHP_GD])
-  else
-AC_MSG_ERROR([Unable to find libgd.(a|so) anywhere under
$PHP_GD])
-  fi
-
-  PHP_EXPAND_PATH($GD_INCLUDE, GD_INCLUDE)
-
-  dnl
-  dnl Check for gd 2.0.4 greater availability
-  dnl
-  old_CPPFLAGS=$CPPFLAGS
-  CPPFLAGS=-I$GD_INCLUDE
-  AC_TRY_COMPILE([
-#include 
-#include 
-  ], [
-gdIOCtx *ctx;
-ctx = malloc(sizeof(gdIOCtx));
-ctx->gd_free = 1;
-  ], [
-AC_DEFINE(HAVE_LIBGD204, 1, [ ])
-  ])
-  CPPFLAGS=$old_CPPFLAGS
-
+  AC_MSG_ERROR([Building the GD extension against an external libgd is
not supported.])
  fi
 fi
 
@@ -399,23 +348,13 @@
 if test "$PHP_GD" != "no"; then
   PHP_NEW_EXTENSION(gd, gd.c $extra_sources, $ext_shared,,
\\$(GDLIB_CFLAGS))
 
-  if test "$GD_MODULE_TYPE" = "builtin"; then
-GDLIB_CFLAGS="-I$ext_srcdir/libgd $GDLIB_CFLAGS"
-PHP_ADD_BUILD_DIR($ext_builddir/libgd)
-GD_HEADER_DIRS="ext/gd/ ext/gd/libgd/"
-
-PHP_TEST_BUILD(foobar, [], [
-  AC_MSG_ERROR([GD build test failed. Please check the config.log
for details.])
-], [ $GD_SHARED_LIBADD ], [char foobar () {}])
-  else
-GD_HEADER_DIRS="ext/gd/"
-GDLIB_CFLAGS="-I$GD_INCLUDE $GDLIB_CFLAGS"
-PHP_ADD_INCLUDE($GD_INCLUDE)
-
-PHP_CHECK_LIBRARY(gd, gdImageCreate, [], [
-  AC_MSG_ERROR([GD build test failed. Please check the config.log
for details.])
-], [ -L$GD_LIB $GD_SHARED_LIBADD ])
-  fi
+  GDLIB_CFLAGS="-I$ext_srcdir/libgd $GDLIB_CFLAGS"
+  PHP_ADD_BUILD_DIR($ext_builddir/libgd)
+  GD_HEADER_DIRS="ext/gd/ ext/gd/libgd/"
+
+  PHP_TEST_BUILD(foobar, [], [
+AC_MSG_ERROR([GD build test failed. Please check the config.log
for details.])
+  ], [ $GD_SHARED_LIBADD ], [char foobar () {}])
 
   PHP_INSTALL_HEADERS([$GD_HEADER_DIRS])
   PHP_SUBST(GDLIB_CFLAGS)


Previous Comments:


[2009-03-27 18:03:22] tsteiner at nerdclub dot net

This is still an issue in 5.3.0RC1.  If building against an external
version of GD is no longer supported, the configure script should
probably be updated to throw an error or at least a warning should one
try to do so.  Currently, the build just fails during "make" with the
error:

ext/gd/gd.c:72:23: error: gdhelpers.h: No such file or directory

leaving the user with no idea what to do.



[2008-12-05 18:53:05] php-bugs-2008 at ryandesign dot com

Thanks for letting us know why specifically the bundled libgd is
superior (the imagefilter and imagerotate functions). Given this, I will
switch MacPorts php5 back to using the bundled libgd.

You must admit however there is room for confusion. The first sentence
on the installation instructions [1] says "If you have the GD library
(available at » http://www.libgd.org/) you will also be able to create
and manipulate images." And the libgd homepage in turn says "The library
[...] is now maintained by Pierre-A. Joye under the umbrella of
PHP.net." This gives the impression that the standalone libgd is being
developed by the same people who develop PHP's bundled libgd. The

#46015 [Com]: Build fails with system gd

2009-03-27 Thread tsteiner at nerdclub dot net
 ID:   46015
 Comment by:   tsteiner at nerdclub dot net
 Reported By:  Fedora at FamilleCollet dot com
 Status:   Assigned
 Bug Type: GD related
 Operating System: Linux (Fedora 9)
 PHP Version:  5.3.0alpha2
 Assigned To:  pajoye
 New Comment:

This is still an issue in 5.3.0RC1.  If building against an external
version of GD is no longer supported, the configure script should
probably be updated to throw an error or at least a warning should one
try to do so.  Currently, the build just fails during "make" with the
error:

ext/gd/gd.c:72:23: error: gdhelpers.h: No such file or directory

leaving the user with no idea what to do.


Previous Comments:


[2008-12-05 18:53:05] php-bugs-2008 at ryandesign dot com

Thanks for letting us know why specifically the bundled libgd is
superior (the imagefilter and imagerotate functions). Given this, I will
switch MacPorts php5 back to using the bundled libgd.

You must admit however there is room for confusion. The first sentence
on the installation instructions [1] says "If you have the GD library
(available at » http://www.libgd.org/) you will also be able to create
and manipulate images." And the libgd homepage in turn says "The library
[...] is now maintained by Pierre-A. Joye under the umbrella of
PHP.net." This gives the impression that the standalone libgd is being
developed by the same people who develop PHP's bundled libgd. The note
further down the installation instructions reads "Since PHP 4.3 there is
a bundled version of the GD lib [which] should be used in preference to
the external library since its codebase is better maintained and more
stable." Because PHP 4.3 is so old, someone reading this note might well
assume the information is outdated, and that since libgd is now under
PHP.net's umbrella, the unique changes in PHP's bundled libgd are now in
the standalone libgd as well.

php5 has supported standalone libgd, up to and including php 5.3.0
alpha 1. So it would be good if php 5.3.0 final did not break this. Or,
if it is your intention to break this, then do so with a friendlier
message in the configure phase and update the documentation.

[1] http://www.php.net/manual/en/image.setup.php



[2008-12-05 09:13:40] paj...@php.net

The bundled GD is the recommend version anyway. It has more bug fixes
and features than almost all GD distributions out there (the worst is
debian's gd which should not be used at all).

Functions like imagefilter, imagerotate are not available when an
external GD is used.

php6 may support external GD but only a recent version and only when a
minimum set of features are enabled.



[2008-12-05 08:56:05] karsten at typo3 dot org

I had the same issue yesterday and switched to the bundled GD to make
it 
compile. Now, it would be interesting to know what functionality 
difference this means and what the other issue is, this is related to.



[2008-09-08 10:57:48] paj...@php.net

This patch is not correct as then the function defined in gdhelper.h
will not be defined and the default signature will be used. please do
not apply it, I will fix the issue while working on another similar
issue in gd.



[2008-09-08 10:26:57] spher...@php.net

Had the same problem and came up with similar fix. Would someone apply

this patch to CVS? My karma is not sufficient.



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

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



#42685 [Com]: imagefilledellipse wrong size

2009-03-27 Thread andrew at ameshome dot ca
 ID:   42685
 Comment by:   andrew at ameshome dot ca
 Reported By:  chinhnt2k3 at yahoo dot com
 Status:   No Feedback
 Bug Type: GD related
 Operating System: *
 PHP Version:  5.2.4
 Assigned To:  pajoye
 New Comment:

I can confirm this still occurs in PPH 5.2.9-1

An elipse with an even size is rounded to an odd size


Previous Comments:


[2008-11-10 01:00:05] 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".



[2008-11-02 13:04:02] j...@php.net

Please try using this CVS snapshot:

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

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





[2008-05-06 11:28:31] ka...@php.net

The same effect occurs for the imageellipse(), I belive this bug is in
libgd



[2007-09-17 04:41:13] chinhnt2k3 at yahoo dot com

Description:

imagefilledellipse() produces an ellipse with a different size if the
size is even.

Reproduce code:
---


Expected result:

An ellipse with the size of 26.

Actual result:
--
An ellipse with the size of 27.





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



#47811 [NEW]: preg_match that can cause segmentation fault

2009-03-27 Thread travis at wikihow dot com
From: travis at wikihow dot com
Operating system: CentOS release 4.4 & Mac OS 10.4
PHP version:  5.2.9
PHP Bug Type: Reproducible crash
Bug description:  preg_match that can cause segmentation fault

Description:

Run a preg_match with source text attached and get a seg fault. Apache 2.2
/ PHP 5.2.9 and PHP 5.2.4. 

preg_match('@@im', $text, $matches);




Reproduce code:
---
http://wikidiy.com/php_bug_crash.txt

Expected result:

Apache not supposed to crash, completes preg_match, dumps $matches array.

Actual result:
--
Apache seg faults

[Fri Mar 27 12:16:05 2009] [notice] child pid 6391 exit signal
Segmentation fault (11)

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



#47799 [Opn->Fbk]: Segfault with Regex

2009-03-27 Thread felipe
 ID:  47799
 Updated by:  fel...@php.net
 Reported By: mb at insidetheweb dot de
-Status:  Open
+Status:  Feedback
 Bug Type:PCRE related
 PHP Version: 5.2.9
 New Comment:

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.




Previous Comments:


[2009-03-27 01:09:11] mb at insidetheweb dot de

Description:

When i do this Regex 

#^\{\|(.*?)(?:^\|\+(.*?))?(^(?:((?R))|.)*?)^\|}#msi

on larger requests, it causes a seqfault.

You just need to be some chars above some kind of limit and you got the
error.



Reproduce code:
---
http://cvs.php.net/viewvc.cgi/pear/Text_Wiki/Text/Wiki/Parse/Mediawiki/Table.php?revision=1.11&view=markup

Its Text_Wiki_Mediawiki.

Expected result:

HTTPD Seqfault






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



#47809 [Csd->Opn]: PHP doesn't parse the php.ini file

2009-03-27 Thread privat at timohummel dot com
 ID:   47809
 User updated by:  privat at timohummel dot com
 Reported By:  privat at timohummel dot com
-Status:   Closed
+Status:   Open
 Bug Type: PHP options/info functions
 Operating System: Gentoo
 PHP Version:  5.3.0RC1
 Assigned To:  pajoye
 New Comment:

I rebuilt PHP from the CVS, snapshot
http://snaps.php.net/php5.3-200903271530.tar.bz2 (latest snapshot
currently available). The issue remains, all php.ini-entries are ignored
silently when using the apache2 SAPI.

Oddly enough, the CLI SAPI works fine and reads the config file as
expected.

Here's my configure line:
'./configure' '--prefix=/usr/lib64/php5' '--host=x86_64-pc-linux-gnu'
'--mandir=/usr/lib64/php5/man' '--infodir=/usr/lib64/php5/info'
'--sysconfdir=/etc' '--cache-file=./config.cache' '--with-libdir=lib64'
'--disable-cli' '--with-apxs2=/usr/sbin/apxs2' '--disable-cgi'
'--with-config-file-path=/etc/php/apache2-php5'
'--with-config-file-scan-dir=/etc/php/apache2-php5/ext-active'
'--without-pear' '--disable-bcmath' '--with-bz2' '--disable-calendar'
'--with-curl' '--without-curlwrappers' '--disable-dbase'
'--disable-exif' '--without-fbsql' '--disable-fileinfo' '--enable-ftp'
'--with-gettext' '--with-gmp' '--disable-hash' '--without-kerberos'
'--enable-mbstring' '--with-mcrypt' '--without-mhash' '--without-msql'
'--without-mssql' '--with-openssl' '--with-openssl-dir=/usr'
'--disable-pcntl' '--with-pgsql' '--disable-posix' '--with-pspell'
'--without-recode' '--disable-simplexml' '--disable-shmop' '--with-snmp'
'--enable-soap' '--disable-sockets' '--without-sybase-ct'
'--disable-sysvmsg' '--disable-sysvsem' '--disable-sysvshm'
'--with-tidy' '--enable-wddx' '--disable-xmlreader'
'--disable-xmlwriter' '--with-xmlrpc' '--with-xsl' '--enable-zip'
'--with-zlib' '--disable-debug' '--enable-dba' '--without-cdb'
'--with-db4' '--disable-flatfile' '--with-gdbm' '--disable-inifile'
'--without-qdbm' '--with-freetype-dir=/usr' '--with-t1lib=/usr'
'--disable-gd-jis-conv' '--with-jpeg-dir=/usr' '--with-png-dir=/usr'
'--with-xpm-dir=/usr' '--with-gd' '--with-imap' '--with-imap-ssl'
'--with-mysql=/usr' '--with-mysql-sock=/var/run/mysqld/mysqld.sock'
'--with-mysqli=/usr/bin/mysql_config' '--without-pdo-dblib'
'--with-pdo-mysql=/usr' '--without-pdo-odbc' '--with-pdo-pgsql'
'--with-pdo-sqlite=/usr' '--with-readline' '--without-libedit'
'--without-mm' '--with-sqlite=/usr' '--enable-sqlite-utf8'
'--with-sqlite3'


Previous Comments:


[2009-03-27 15:06:54] paj...@php.net

This bug has been fixed in CVS.

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.





[2009-03-27 15:02:57] privat at timohummel dot com

Description:

I just upgraded to PHP 5.3.0-rc1 using a custom ebuild. However, it
seems that PHP does not parse (or silently ignore) changes done to the
php.ini file. I copied the php.ini-development from the distribution to
/etc/php/apache2-php5/php.ini.

phpinfo() tells me that the loaded configuration file is
/etc/php/apache2-php5/php.ini, in which I also did my changes.

I wonder if that has something to do with the new
development/production configurations.






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



#47810 [NEW]: SoapClient and Multipart response

2009-03-27 Thread opi at gmx dot at
From: opi at gmx dot at
Operating system: Linux
PHP version:  5.2.9
PHP Bug Type: SOAP related
Bug description:  SoapClient and Multipart response

Description:

SoapClient doesn't understand Multipart response from Server. Instead the
full buffer is sent to the xml function.

Reproduce code:
---
No Free Test WebServer available.

Expected result:

Method to get the Multiparts.

Actual result:
--
SoapFault exception: [Client] looks like we got no XML document in ...

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



#47809 [Opn->Csd]: PHP doesn't parse the php.ini file

2009-03-27 Thread pajoye
 ID:   47809
 Updated by:   paj...@php.net
 Reported By:  privat at timohummel dot com
-Status:   Open
+Status:   Closed
 Bug Type: PHP options/info functions
 Operating System: Gentoo
 PHP Version:  5.3.0RC1
-Assigned To:  
+Assigned To:  pajoye
 New Comment:

This bug has been fixed in CVS.

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-03-27 15:02:57] privat at timohummel dot com

Description:

I just upgraded to PHP 5.3.0-rc1 using a custom ebuild. However, it
seems that PHP does not parse (or silently ignore) changes done to the
php.ini file. I copied the php.ini-development from the distribution to
/etc/php/apache2-php5/php.ini.

phpinfo() tells me that the loaded configuration file is
/etc/php/apache2-php5/php.ini, in which I also did my changes.

I wonder if that has something to do with the new
development/production configurations.






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



#47809 [NEW]: PHP doesn't parse the php.ini file

2009-03-27 Thread privat at timohummel dot com
From: privat at timohummel dot com
Operating system: Gentoo
PHP version:  5.3.0RC1
PHP Bug Type: PHP options/info functions
Bug description:  PHP doesn't parse the php.ini file

Description:

I just upgraded to PHP 5.3.0-rc1 using a custom ebuild. However, it seems
that PHP does not parse (or silently ignore) changes done to the php.ini
file. I copied the php.ini-development from the distribution to
/etc/php/apache2-php5/php.ini.

phpinfo() tells me that the loaded configuration file is
/etc/php/apache2-php5/php.ini, in which I also did my changes.

I wonder if that has something to do with the new development/production
configurations.


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



#47808 [NEW]: hasProperty inconsistent with getProperty and new ReflectionProperty

2009-03-27 Thread sven dot arduwie at gmail dot com
From: sven dot arduwie at gmail dot com
Operating system: win xp pro sp3
PHP version:  5.3.0RC1
PHP Bug Type: Reflection related
Bug description:  hasProperty inconsistent with getProperty and new 
ReflectionProperty

Description:

In the reproduce code hasProperty() in Base::__get() returns true while
getProperty() throws an exception with message "Fatal error: Uncaught
exception 'ReflectionException' with message 'Property test does not
exist'"

A more appropriate message would be "Fatal error: Uncaught exception
'ReflectionException' with message 'Cannot access non-public member
Child::test'", OR, and perhaps this would be best, change the behavior of
hasProperty() to return false.

The current behavior is really annoying if you're, like me, trying to
write a __get() method that returns the value of private/protected
properties using 'getters', e.g.: getMyProperty() for property $myProperty.

Reproduce code:
---
hasProperty($property)) {
return $reflector->getProperty($property)->getValue();
}
}
}

class Child extends Base {
private $test = 'This is a test.';
}

class Test extends Child {
}

$test = new Test;
var_dump($test->test);

Expected result:

getProperty() to throw "Fatal error: Uncaught exception
'ReflectionException' with message 'Cannot access non-public member
Child::test'"

or

hasProperty() to return false

Actual result:
--
hasProperty() returns true while getProperty() throws a message with an
inappropriate message

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



#47806 [NEW]: mktime should return -1 or false on invalid args, but returns 943912800

2009-03-27 Thread glen at delfi dot ee
From: glen at delfi dot ee
Operating system: PLD Linux
PHP version:  5.2.9
PHP Bug Type: Feature/Change Request
Bug description:  mktime should return -1 or false on invalid args, but returns 
943912800

Description:

http://php.net/mktime

"mktime() returns the Unix timestamp of the arguments given. If the 
arguments are invalid, the function returns FALSE (before PHP 5.1 it 
returned -1)."

but it returns "Tue Nov 30 00:00:00 1999 +0200" instead when invalid 
input like null (or undefined) is used:

php -r 'echo mktime(0, 0, 0, null, null, null), "\n";'
943912800

ok, i understand if all params are 0, then it would make sense:

"The number of the year, may be a two or four digit value, with 
values between 0-69 mapping to 2000-2069 and 70-100 to 1970-2000. On 
systems where time_t is a 32bit signed integer, as most common 
today, the valid range for year is somewhere between 1901 and 2038. 
However, before PHP 5.1.0 this range was limited from 1970 to 2038 
on some systems (e.g. Windows)."

Year as 0 is 2000,
Month 0 is calculated as 12 of the last year, thus it gets December 
and 0 December is 30 November

please make using undefined variables and nulls being invalid input 
(so that you must cast to int, to treat empty input as 0):

php -r 'echo mktime(0, 0, 0, (int )$_GET['day'], 
(int )$_GET['month'], (int )$_GET['year']), "\n";'



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



#15373 [Com]: mail() not working, no error with invalid SMTP or email address

2009-03-27 Thread real_ganesh at yahoo dot co dot in
 ID:   15373
 Comment by:   real_ganesh at yahoo dot co dot in
 Reported By:  alonso at admintek dot net
 Status:   No Feedback
 Bug Type: Mail related
 Operating System: win2000
 PHP Version:  4.2.1
 Assigned To:  mfischer
 New Comment:

Am php to send E-mail,but will be Error.
Failed to connect to mailserver at "localhost" port 25, verify your
"SMTP" and "smtp_port" setting in php.ini or use ini_set() in

-code
Contact.html
---



Cultuzz Digital Media GmbH - Contact




Contact Us







 
 
  
   Enter your To
Address:

  

  
   E-mail your From
Address:
   
  

  
   Enter your
Password:

  

  
   Enter your
Subject:


 
  

   
   Enter your
Content:







  





 



  
 

  






-
mailto.php
--
 
 

: $toAddr ";
echo "This is From--->: $fromAddr ";
echo "This is Password--->: $toPass ";
echo "This is Subject--->: $subject ";
echo "This is Content--->: $content ";
echo "This is Headers--->: $headers ";

?>


Previous Comments:


[2009-03-19 00:47:46] rmsadik dot ece at gmail dot com

i have problem sending email using mail(). it was working couple of
weeks before but now on its not working ...i dont know whats the problem
and here is the code

if ($db_result) {

echo "Successful";
$to = $email;
$from = "msa...@gmail.com";
$subject = "Password Request From";
$message = "PLEASE DO NOT REPLY TO THIS EMAIL\n\n";
$message .= "unless others can read your email.\n\n\n";
$message .= "Password: ".$password;
$headers = "From: ".$from;
// Set the name of the server for mail processing. This should 
be
handled at the server level but the following
// statement allows dynamic setting of the SMPT server for 
testing
purposes.
ini_set("SMTP","mail.sunet.com.au");
// Attempt to send the mail message.
//$db_result = mail($to,$subject,$message,$headers);

mail($to,$subject,$message,$headers);
}



[2008-11-25 17:17:49] jeff at jouster dot org

I have this same problem.

I have Windows Server 2003 SP2 IIS 6. PHP6-dev (also same problem with
5.4)

Port 25 is open and I can telnet to the server from my home machine
completely outside the network and manually send an email. So I know
that SMTP is not the problem and relaying is not a problem.

Here's my script:

");
echo ($success);
if ($success)
{
echo (" success!");
}
else
{
echo (" problem...");
}
?>

When I run this test script I see:

1 success!

However I never get an email. I have php.ini set to log errors (have
also tried display errors) and there is never any errors logged or
displayed.

php.ini SMTP section:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
sendmail_from = m...@address.tld

phpinfo() shows all of this information properly (only after I moved
the .ini file into the PHP install directory.

I have PHPRC environment variable set to PHP install directory and have
added same directory to my PATH env var.

Mail was successfully being sent until another issue caused me to
uninstall and reinstall the SMTP Service portion of IIS.

I see no solutions or cause to this problem in this thread. Any new
news? Original issue was posted 6 years ago... I can't believe this is
still cropping up for people.



[2008-07-10 15:47:04] phpseven at yahoo dot com

smtp server can't run. i tried my best to solve it but it can't send
the mail.


#47805 [NEW]: integer overflows it is converted to double but it is not done in vice versa.

2009-03-27 Thread vivekanandan8 at yahoo dot com
From: vivekanandan8 at yahoo dot com
Operating system: Debian
PHP version:  5.2CVS-2009-03-27 (snap)
PHP Bug Type: Scripting Engine problem
Bug description:  integer overflows it is converted to double but it is not 
done in vice versa.

Description:

when the integer overflows it is converted to double but it is not done in
vice versa.
Hence i fell:
it is not done from double to long.
Hence in the function increment_function(zend_operators.c)
we have to add the validation as follows 
case IS_DOUBLE:  
 if(op1->value.dval == LONG_MIN) {   
  op1->value.lval = (long) op1->value.dval+1;
  op1->type = IS_LONG; 
 }else{
   op1->value.dval = op1->value.dval + 1;
}

Reproduce code:
---


Expected result:

int(-2147483647) int(-2147483648) float(-2147483649) int(-2147483648)
int(-2147483647)

Actual result:
--
int(-2147483647) int(-2147483648) float(-2147483649) float(-2147483648)
float(-2147483647)

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



#46479 [Com]: virtual() prints output to browser

2009-03-27 Thread macke at meteli dot net
 ID:   46479
 Comment by:   macke at meteli dot net
 Reported By:  rosenfield dot albert at gmail dot com
 Status:   Feedback
 Bug Type: Apache2 related
 Operating System: win32
 PHP Version:  5.2CVS-2008-11-01
 New Comment:

Since I really need this functionality (to create a intelligent proxy
solution using PHP and Apache) I made a desperate try to work around the
problem by modifying php source directly. I don't know if this is the
right place for the ramblings of clueless php coders but here are my
findings:

- latest snapshots of 5.2/5.3/6.0 all have the same issue (by looking
at the code). 
- sorry, the relevant file for apache2 is not /sapi/php_apache.c but 
  sapi/apache2handler/php_functions.c

I tried commenting out these rows (98-104):

   php_end_ob_buffers(1 TSRMLS_CC);
   php_header(TSRMLS_C);
   ap_rflush(rr->main);

and something changes but the headers are still sent from php somewhere
else and now the Content-type: header will always become
application/x-httpd-php.

Here are some additional information:
http://issues.apache.org/bugzilla/show_bug.cgi?id=17629


Previous Comments:


[2009-03-26 21:53:29] macke at meteli dot net

Newest 5.2 snapshot has the same problem. Lines 334-335 in
/sapi/php_apache.c are the same as before:

php_end_ob_buffers(1 TSRMLS_CC);
php_header(TSRMLS_C);

Is the solution as simple as removing those two lines or are there
other implications? If so, could we at least add a new parameter to
virtual() that disables those two? It would be backward compatible also.



[2009-03-21 23:18:37] j...@php.net

Please try using this CVS snapshot:

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

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





[2008-11-05 11:37:25] rosenfield dot albert at gmail dot com

Did not realize the Apache version was relevant, sorry.

I've experienced the problem on more than one server, some of them that
I administrate (some not).  Given that virtual() is one of the more
'professional tools' in the PHP 'toolbox', it is probably not used much
overall by developers, so I doubt that the code behind had changed and
just marked it as being in the "newest version".  Sorry about that!

A server with the newest Apache/PHP combo installed, which also has a
filter installed where this is a problem is www.heidisql.com - a GET on
port 80 will retrieve the version numbers (via the Server: header):

  Apache/2.2.9 (win32)
  PHP/5.2.7RC3-dev (win32)



[2008-11-04 22:30:09] j...@php.net

Since you failed to give the actual Apache version (and I doubt 
you're using 5.3 either) I'm assuming you have apache 2 something. 
Please update that information. Also, give the exact PHP version.



[2008-11-04 13:39:29] rosenfield dot albert at gmail dot com

Description:

When execution is redirected with virtual(), before the Apache
sub-request is carried out, PHP prints headers and document contents.

The document contents are never a practical problem, because you never
have any - you're in the act of redirecting the request.

The headers however ARE a problem.  PHP generates some headers itself,
and these are then sent to the browser.

Whoops, there we go - now the new/real destination of the request is
unable to, for example, set it's own Content-Type header.  Or anything
else, because PHP has already printed something completely unrelated to
the contents the actual document is going to contain.

It could seem that the idea was to implement something akin to
 with a "virtual" keyword on it (often used in IIS for
ASP), but currently php's virtual() does not work like that.  Nobody
uses it for this purpose, rather developers use include() and require()
(often with __FILE__ or similar to hit a relative directory) because
these do not flush headers.

Where virtual() is really useful is in it's ability to perform Apache
sub-requests.  With this, and a simple Apache RewriteRule, any request
can be re-routed to a PHP script (effectively a filter), and then routed
back to the original destination after processing with virtual().

(This is an extremely convenient way to implement modular functionality
in web applications, for example a security filter written in PHP.)

As is currently, a significant number of hacks are required to work
around the fact that virtual() prints headers before redirection.  I
personally have about a hundred lines of code that does nothing but try
and predict which Content-Type the destination generates and try to
coerce PHP into printing that instead, when it would have been much more
practical if PHP just had discarded it's buffers in the firs

#47804 [Opn->Bgs]: hm

2009-03-27 Thread pajoye
 ID:   47804
 Updated by:   paj...@php.net
 Reported By:  karni at world-of-requiem dot de
-Status:   Open
+Status:   Bogus
 Bug Type: *General Issues
 Operating System: win xp Servicepack 3
 PHP Version:  5.3CVS-2009-03-27 (snap)
 New Comment:

There is no bug and the error message is clear. Set a TZ in your
php.ini.


Previous Comments:


[2009-03-27 10:15:15] karni at world-of-requiem dot de

Description:

Warnin on display phpinfo();

date

Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the
system's timezone settings. You are *required* to use the date.timezone
setting or the date_default_timezone_set() function. In case you used
any of those methods and you are still getting this warning, you most
likely misspelled the timezone identifier. We selected 'Europe/Paris'
for '1.0/no DST' instead in D:\Programmierung\xampp\htdocs\phpinfo.php
on line 2

Reproduce code:
---


Expected result:

see description






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



#47804 [NEW]: hm

2009-03-27 Thread karni at world-of-requiem dot de
From: karni at world-of-requiem dot de
Operating system: win xp Servicepack 3
PHP version:  5.3CVS-2009-03-27 (snap)
PHP Bug Type: *General Issues
Bug description:  hm

Description:

Warnin on display phpinfo();

date

Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the
system's timezone settings. You are *required* to use the date.timezone
setting or the date_default_timezone_set() function. In case you used any
of those methods and you are still getting this warning, you most likely
misspelled the timezone identifier. We selected 'Europe/Paris' for '1.0/no
DST' instead in D:\Programmierung\xampp\htdocs\phpinfo.php on line 2

Reproduce code:
---


Expected result:

see description


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



#47803 [NEW]: Executing prepared statements is succesfull only for the first two statements

2009-03-27 Thread egil at wp dot pl
From: egil at wp dot pl
Operating system: Windows XP SP 3
PHP version:  5.2.9
PHP Bug Type: ODBC related
Bug description:  Executing prepared statements is succesfull only for the 
first two statements

Description:

I do odbc_prepare and then I would like to be able to execute this
statement with different paramas. This is what it is for, right?
Fortunately not after 2 odbc_execute calls third call gives (mssql 2005 as
you may see):
[Microsoft][SQL Native Client]Invalid character value for cast
specification


Reproduce code:
---


Expected result:

successful execution (note that it works fine if I move prepare to foreach
block)

Actual result:
--
After third execution I get an error:
[Microsoft][SQL Native Client]Invalid character value for cast
specification

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



#47802 [NEW]: PDO_MYSQL doesn't use the charset parameter

2009-03-27 Thread disbursement at dublin dot com
From: disbursement at dublin dot com
Operating system: all
PHP version:  5.2.9
PHP Bug Type: Feature/Change Request
Bug description:  PDO_MYSQL doesn't use the charset parameter

Description:

static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval *driver_options
TSRMLS_DC) /* {{{ */
{
...
struct pdo_data_src_parser vars[] = {
{ "charset",  NULL, 0 },
{ "dbname",   "",   0 },
{ "host",   "localhost",0 },
{ "port",   "3306", 0 },
{ "unix_socket",  PDO_MYSQL_UNIX_ADDR,  0 },
};

The option "charset"/vars[0] is never used, but would be a nice feature.


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