#32579 [Opn->Bgs]: Segfault (Memory Leak on debug build) caused in __destruct

2005-04-05 Thread sniper
 ID:   32579
 Updated by:   [EMAIL PROTECTED]
 Reported By:  mailfrom-bugs dot php dot net at kopka dot net
-Status:   Open
+Status:   Bogus
 Bug Type: Reproducible crash
 Operating System: Linux
 PHP Version:  5.0.3
 New Comment:

Thank you for taking the time to report a problem with PHP.
Unfortunately you are not using a current version of PHP -- 
the problem might already be fixed. Please download a new
PHP version from http://www.php.net/downloads.php

If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.




Previous Comments:


[2005-04-05 02:42:32] mailfrom-bugs dot php dot net at kopka dot net

Description:

I ran into this using the following construct:

if (database::query($string)->error) {}

where database::query() returns an object wrapping a result set (or
providing info on success of the request).

PHP 5.0.3 (and i am quite sure this applies to other versions as well
as i experience this for quite a time) segfaults under the following
cumulating circumstances:
- If the object is only used once and not referenced to a variable
- If a property is read/set (if a function is called all is OK)
- If __destruct references the class name by some means (others are
OK)

When you try the demo uncomment one of the lines which cause a segfault
(and are noted as a memory leak with --enable-debug):

//  $c=get_class($this);unset ($c);
//  echo get_class($this);
//  if(defined('DEBUG_'.__CLASS__)){}


The following lines don't raise a segfault:

  $c=__CLASS__;unset($c);
  if(__CLASS__ == "BUG") {};
  get_class($this);
  echo __CLASS__;

The following line don't raise a segfault but is noted as a memory leak
(--enable-debug):

  $c=get_class($this);  // <-- this is reported as a memory leak 

Naturally the hidden beast came up a long time after i wrote the line -
spending a good month of free time trying to locate it i am happy to
finally nail it to the ground for someone who knows what he is doing to
slay it (it cost me a keyboard and brought quite a few white hairs into
existence).
Good hunting.


Configure Command =>  './configure' '--prefix=/usr'
'--host=i686-pc-linux-gnu' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc'
'--localstatedir=/var/lib' '--disable-cgi' '--enable-cli'
'--enable-embed' '--with-config-file-path=/etc/php/cli-php5'
'--disable-bcmath' '--without-bz2' '--disable-calendar'
'--without-cpdflib' '--disable-ctype' '--without-curl'
'--without-curlwrappers' '--disable-dbase' '--disable-dio'
'--disable-dom' '--disable-exif' '--without-fam' '--without-fbsql'
'--without-fdftk' '--disable-filepro' '--disable-ftp'
'--without-gettext' '--without-gmp' '--without-hwapi' '--without-iconv'
'--without-informix' '--without-ingres' '--without-interbase'
'--without-kerberos' '--disable-libxml' '--disable-mbstring'
'--without-mcrypt' '--without-mcve' '--disable-memory-limit'
'--without-mhash' '--without-mime-magic' '--without-ming'
'--without-mnogosearch' '--without-msql' '--without-mssql'
'--without-ncurses' '--without-oci8' '--without-oracle'
'--without-openssl' '--without-openssl-dir' '--without-ovrimos'
'--disable-pcntl' '--without-pcre-regx' '--without-pfpro'
'--without-pgsql' '--disable-posix' '--without-pspell'
'--without-recode' '--disable-simplexml' '--disable-shmop'
'--without-snmp' '--disable-soap' '--disable-sockets' '--disable-spl'
'--without-sybase' '--without-sybase-ct' '--disable-sysvmsg'
'--disable-sysvsem' '--disable-sysvshm' '--without-tidy'
'--disable-tokenizer' '--disable-wddx' '--without-xsl'
'--without-xmlrpc' '--disable-yp' '--without-zlib' '--disable-debug'
'--without-jpeg-dir' '--without-freetype-dir' '--without-t1lib'
'--without-ttf' '--disable-gd-jis-conf' '--disable-gd-native-ttf'
'--without-png-dir' '--without-tiff-dir' '--without-xpm-dir'
'--without-gd' '--disable-session' '--without-sqlite' '--disable-dba'
'--without-readline' '--without-libedit'


Reproduce code:
---
error;
  }
}

BUG::instance()->error;
echo "this is still executed\n";

?>


Expected result:

# php -n bug.php(cr)
please fix this thing, it wasted a nice part of my life!
this is still executed
# (cursor)

Actual result:
--
Sorry that i can not provide a core dump according to the requested
standards (vith --enable-debug) because if i compile like this there is
no segfault (just a memory leak), so i hope a standard one will help:
--
(with --disable-debug)
# php -n bug.php (cr)
please fix this thing, it wasted a nice part of my life!
this is still executed
Segmentation fault (core dumped)
# gdb php core
GNU gdb 6.0
Copyright 2003 Free Software Foun

#32580 [Opn->Bgs]: CVS PHP 5.1.x Compile error on Solaris 9

2005-04-05 Thread sniper
 ID:   32580
 Updated by:   [EMAIL PROTECTED]
 Reported By:  Oscar dot Castillo at jpl dot nasa dot gov
-Status:   Open
+Status:   Bogus
 Bug Type: Compile Failure
 Operating System: solaris 9
 PHP Version:  5CVS-2005-04-05 (dev)
 New Comment:

Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. 

Thank you for your interest in PHP.

See bug #30641



Previous Comments:


[2005-04-05 03:34:43] Oscar dot Castillo at jpl dot nasa dot gov

Description:

I downloaded the latest CVS php5-200504041830 (as suggested in bug
#32491) and have failed to compile correctly. The configure options I
use are as follows:
./configure --prefix=/usr/local/php
--with-nsapi=/usr/ns-home/operational_server

This is the compile error I receive:

/bin/sh /usr/local/src/php_src/php5-200504041830/libtool --silent
--preserve-dup-deps --mode=compile
/usr/local/src/php_src/php5-200504041830/meta_ccld  -IZend/
-I/usr/local/src/php_src/php5-200504041830/Zend/ -DPHP_ATOM_INC
-I/usr/local/src/php_src/php5-200504041830/include
-I/usr/local/src/php_src/php5-200504041830/main
-I/usr/local/src/php_src/php5-200504041830
-I/usr/ns-home/operational_server/plugins/include
-I/usr/local/include/libxml2 -I/usr/local/include
-I/usr/local/src/php_src/php5-200504041830/TSRM
-I/usr/local/src/php_src/php5-200504041830/Zend 
-D_POSIX_PTHREAD_SEMANTICS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT  -g
-O2 -pthreads -DZTS   -c
/usr/local/src/php_src/php5-200504041830/Zend/zend_execute.c -o
Zend/zend_execute.lo -O0
/usr/ccs/bin/as: "/tmp/ccA7i1xh.s": error: symbol "zend_error" is used
but not defined
/usr/ccs/bin/as: "/tmp/ccA7i1xh.s": internal error:
evaluate_symbol_expression(): op 20?
make: *** [Zend/zend_execute.lo] Error 1

Thanks in advance for your help.

Reproduce code:
---
./configure --prefix=/usr/local/php
--with-nsapi=/usr/ns-home/operational_server

Expected result:

Successfull compilation of the latest CVS version of PHP 5

Actual result:
--
/bin/sh /usr/local/src/php_src/php5-200504041830/libtool --silent
--preserve-dup-deps --mode=compile
/usr/local/src/php_src/php5-200504041830/meta_ccld  -IZend/
-I/usr/local/src/php_src/php5-200504041830/Zend/ -DPHP_ATOM_INC
-I/usr/local/src/php_src/php5-200504041830/include
-I/usr/local/src/php_src/php5-200504041830/main
-I/usr/local/src/php_src/php5-200504041830
-I/usr/ns-home/operational_server/plugins/include
-I/usr/local/include/libxml2 -I/usr/local/include
-I/usr/local/src/php_src/php5-200504041830/TSRM
-I/usr/local/src/php_src/php5-200504041830/Zend 
-D_POSIX_PTHREAD_SEMANTICS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT  -g
-O2 -pthreads -DZTS   -c
/usr/local/src/php_src/php5-200504041830/Zend/zend_execute.c -o
Zend/zend_execute.lo -O0
/usr/ccs/bin/as: "/tmp/ccA7i1xh.s": error: symbol "zend_error" is used
but not defined
/usr/ccs/bin/as: "/tmp/ccA7i1xh.s": internal error:
evaluate_symbol_expression(): op 20?
make: *** [Zend/zend_execute.lo] Error 1






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


#30641 [Asn]: Compile error: error: symbol "zend_error" is used but not defined

2005-04-05 Thread sniper
 ID:   30641
 Updated by:   [EMAIL PROTECTED]
 Reported By:  hakan at lisas dot de
 Status:   Assigned
 Bug Type: Compile Failure
 Operating System: Solaris 9
 PHP Version:  5CVS-2005-03-25
 Assigned To:  andi
 New Comment:

See also bug #32580



Previous Comments:


[2005-03-25 01:19:51] [EMAIL PROTECTED]

Andi, this was verified still to happen in HEAD.




[2005-01-23 13:57:03] [EMAIL PROTECTED]

The problem is that the code isn't staandard.
An alias must defined in the same file as the aliased function file.

So, in theory, moving that declaration to zend.c (where zend_error() is
declared) whould solve the problems.



[2005-01-20 19:02:25] maande10 at vt dot edu

Found this problem when compiling the php5-200501192330 snapshot on
Solaris 8.  gcc 3.4.2.  Switching to the alternate definition of
zend_error_noreturn() in Zend/zend_execute.c fixed the compile problem.



[2005-01-19 01:39:32] [EMAIL PROTECTED]

Looks a lot like Andi wrote that..let's assign this to him. :)




[2005-01-01 14:18:30] [EMAIL PROTECTED]

In zend_execute.c if you comment  the line 47 (void
zend_error_return..) and uncomment the next line (alternative defition
of zend_error_noreturn) it compiles successfully (although with some
iconv problems).



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

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


#32503 [Opn]: fopen() in cwd: filename must start with ./ under safe mode

2005-04-05 Thread Bjorn dot Wiberg at its dot uu dot se
 ID:   32503
 User updated by:  Bjorn dot Wiberg at its dot uu dot se
 Reported By:  Bjorn dot Wiberg at its dot uu dot se
 Status:   Open
 Bug Type: Filesystem function related
 Operating System: IBM AIX 5.2.0.0 ML5
 PHP Version:  5CVS-2005-03-31
 New Comment:

Hi Tony!

Thank you for your feedback!

I'm afraid that absolute paths aren't a very viable solution to this,
as that probably would break too many scripts, expecting it to be
possible to "just" save a file to the current directory.

Is the "PHP realpath hack" supposed to handle these kind of problems on
AIX?

Please let me know if I can help in any way!

Best regards,
Björn


Previous Comments:


[2005-04-04 17:11:05] [EMAIL PROTECTED]

Right, this is somehow concerned with broken realpath() on AIX.
The problem is that we end up with relative path in php_checkuid_ex()
function and it fails to check permissions for the directory.
Of course, the easiest solution is to use absolute paths everywhere.




[2005-04-01 16:32:32] Bjorn dot Wiberg at its dot uu dot se

Tried php5-200503310630 (5.1.0-dev), but the problem is still present:

/apache/htdocs/bwiberg/test/safemode
Warning: fopen(): Unable to access a.txt in
/apache/htdocs/bwiberg/test/safemode/write.php on line 5 Warning:
fopen(a.txt): failed to open stream: No such file or directory in
/apache/htdocs/bwiberg/test/safemode/write.php on line 5

(Whereas "./a.txt" works just fine.)

Best regards,
Björn



[2005-03-30 17:17:27] [EMAIL PROTECTED]

Please try using this CVS snapshot:

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





[2005-03-30 14:37:04] Bjorn dot Wiberg at its dot uu dot se

Description:

Under safe mode, if one tries to create a new file with fopen(),
specifying a filename without any path part in it (such as "./a.txt" or
/apache/htdocs/bwiberg/test/safemode/a.txt"), fopen() fails, claiming
that the file cannot be found.


If the file already exists, everything works just fine.

If you specify a path part ahead of the filename, everything works just
fine.

If you give fopen() "true" as a third argument, and make sure that your
include_path includes "." as its FIRST path (if you have several
directories in it), everything works just fine. (Perhaps the
restriction of only trying the FIRST path should be mentioned in the
docs as well.)


I'm not sure if this problem is related to the earlier discussions of
php_realpath_hack (that fix should be present as "_AIX" is set by gcc
under AIX), but it sure poses a problem for scripts which rely on being
able to create a file in the current directory without specifying any
path.

Another question is why $handle in the example script isn't set to
FALSE if the open failed -- instead the error propagates to the fputs()
part.

I'd appreciate any input regarding this. Thanks in advance!

Best regards,
Björn

Reproduce code:
---
";

  $handle = fopen("a.txt", "w", false);
  if ( $handle != FALSE ) {
fputs($handle, "testtext");
fclose($handle);
  }

?>


Expected result:

/apache/htdocs/bwiberg/test/safemode

(File a.txt gets created in current directory.)

Actual result:
--
/apache/htdocs/bwiberg/test/safemode
Warning: fopen(): Unable to access a.txt in
/apache/htdocs/bwiberg/test/safemode/write.php on line 5 Warning:
fopen(a.txt): failed to open stream: No such file or directory in
/apache/htdocs/bwiberg/test/safemode/write.php on line 5





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


#28264 [Opn->Csd]: SQLite not doing multiple queries

2005-04-05 Thread vrana
 ID:   28264
 Updated by:   [EMAIL PROTECTED]
 Reported By:  csaba at alum dot mit dot edu
-Status:   Open
+Status:   Closed
-Bug Type: Documentation problem
+Bug Type: SQLite related
 Operating System: Win 2K Pro
 PHP Version:  5CVS-2004-05-03 (dev)
 New Comment:

It's already documented:

sqlite_query:
"SQLite will execute multiple queries ... However, this works only when
the result of the function is not used - if it is used, only the first
SQL statement would be executed."

Changing back the state to "Closed SQLite".


Previous Comments:


[2005-04-05 01:49:36] csaba at alum dot mit dot edu

It's unclear to me from the earlier comments that fixed means there is
another function which mostly does what this one is documented as
supposed to be doing (and today's earlier rejoinder is the the first
mention of sqlite_exec).  Nevertheless, I had tested with sqlite_exec
before submitting the report earlier today, and yes, it does do
multiple queries.


To me, fixed includes the documentation agreeing with observed
behaviour.  As I noted in the original report, the documentation for
sqlite_query says that SQLite will execute multiple queries.  If the
code isn't going to change, perhaps the documentation should. 
Therefore, I have reclassified the Category as 'Documentation problem'.



[2005-04-05 01:19:18] [EMAIL PROTECTED]

It was fixed: You need to use sqlite_exec() instead of sqlite_query() 

(took about 2 minutes for me to figure out and I don't use SQLite at
all..)




[2005-04-04 22:00:25] csaba at alum dot mit dot edu

This is still behaving in the same way as originally described (just
tested on PHP 5.0.4-dev 11-Mar-2005).  Here is slightly nicer code to
show the problem:

Table was created:";
var_dump ($acT);
$aiT = sqlite_array_query ($db, $insertTest, SQLITE_ASSOC);
print "";
if ($aiT)
{print "with rows:"; var_dump ($aiT); }
else print "but nothing was inserted";
?>

Csaba



[2004-07-10 15:14:35] [EMAIL PROTECTED]

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.

"Fixed" in CVS.

http://cvs.php.net/diff.php/pecl/sqlite/sqlite.c?r1=1.62.2.21&r2=1.62.2.22&ty=u





[2004-05-27 00:15:40] saleh at sfsj dot net

I also want to add that even if you try to use transactions to execute
multiple queries..
I tried to use BEGIN; and BEGIN TRANSACTION; but both of them will not
work and nothing will happen..



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

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


#32304 [Opn->Fbk]: Invalid exception code hangs server thread.

2005-04-05 Thread tony2001
 ID:   32304
 Updated by:   [EMAIL PROTECTED]
 Reported By:  peter at letford dot co dot uk
-Status:   Open
+Status:   Feedback
 Bug Type: Zend Engine 2 problem
 Operating System: Windows XP Professional
 PHP Version:  5CVS-2005-03-15
 New Comment:

Please try using this CVS snapshot:

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




Previous Comments:


[2005-03-26 19:41:49] peter at letford dot co dot uk

Hi there,

I have now installed the latest PHP 5 and Apache 1.3.33 on a clean
machine. Whilst the initial problem seems to have gone away the Apache
web server now crashes but I believe it's still a problem of PHP
because debug log mentions php5ts.dll saying the following:

szAppName: Apache.exe
szAppVer: 0.0.0.0
szModName: php5ts.dll
szModVer: 5.1.0.0
offset: 7c9e

An interesting fact that the offset is _allways_ the same. Although it
doesn't crash every time you run the example code (from original bug
report) holding refresh for a few seconds causes the problem
consistantly.

I have saved the memory dump of the program if you need it.



[2005-03-25 01:54:35] [EMAIL PROTECTED]

No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.





[2005-03-19 12:37:26] [EMAIL PROTECTED]

Can't reproduce.
Please provide more info about your system & try the latest snapshots
from snaps.php.net



[2005-03-15 01:21:32] peter at letford dot co dot uk

Hi,

This bug exists on 5.1.0-dev



[2005-03-14 21:24:11] peter at letford dot co dot uk

Description:

If you throw an exception that doesn't use a number for the error code,
a "Fatal Error" message box pops up saying:

Wrong parameter count for exception([string $exception [,long $code]])


This hangs the current server thread until the message box is selected
which could be used to lock all of the available threads on the server
and effectively take the server offline.


Reproduce code:
---
", "ERRO_ASDASD");

?>

Expected result:

Throw an exception as normal.

Actual result:
--
The thread will hang and the page won't load until you close the
message popup. It will then display this:


"Fatal error: Wrong parameter count for exception([string $exception [,
long $code ]]) in Unknown on line 0"





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


#32219 [Ver->Asn]: Alphabetical sort with accented characters

2005-04-05 Thread tony2001
 ID:   32219
 Updated by:   [EMAIL PROTECTED]
 Reported By:  php-france at mattoug dot net
-Status:   Verified
+Status:   Assigned
 Bug Type: *General Issues
 Operating System: *
 PHP Version:  4CVS-2005-03-09
-Assigned To:  
+Assigned To:  derick
 New Comment:

Derick, so is it a bug or not?


Previous Comments:


[2005-03-08 23:33:03] [EMAIL PROTECTED]

Saying that something is supported in PHP 5 isn't gonna make this
'feature' (or fix, IMO) end up in PHP 4. Backport it is.




[2005-03-08 23:17:10] [EMAIL PROTECTED]

No bug here, PHP 4 never had support for sorting locale based. I added
this function to PHP 5.0.2 to support it.



[2005-03-08 23:11:54] [EMAIL PROTECTED]

It's a bug if *sort() functions can't handle locales correctly.




[2005-03-07 23:49:57] [EMAIL PROTECTED]

No bug here, the functions don't understand locales unless you add as
second "sort-flag" parameter SORT_LOCALE_STRING to asort(). This option
is introduced in PHP 5.0.2.

The following works fine (if you have the fr_FR locale installed):

 "Alberta",
"BC" => "Colombie-Britannique",
"MB" => "Manitoba",
"NB" => "Nouveau-Brunswick",
"NL" => "Terre-Neuve-et-Labrador",
"NS" => "Nouvelle-Écosse",
"ON" => "Ontario",
"PE" => "Île-du-Prince-Édouard",
"QC" => "Québec",
"SK" => "Saskatchewan",
"NT" => "Territoires du Nord-Ouest",
"NU" => "Nunavut",
"YT" => "Territoire du Yukon");
asort($table, SORT_LOCALE_STRING);
var_dump($table);




[2005-03-07 19:31:22] [EMAIL PROTECTED]

With what locale do you expect that output?




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

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


#32563 [Csd]: stream_wrapper_register() allows registering of invalid schemes.

2005-04-05 Thread a at b dot c dot de
 ID:   32563
 User updated by:  a at b dot c dot de
 Reported By:  a at b dot c dot de
 Status:   Closed
 Bug Type: Filesystem function related
 Operating System: *
 PHP Version:  5.*
 Assigned To:  pollita
 New Comment:

"The full '://' is required to delimit a scheme identifier, so in your
example you would have needed to use fopen('tick:tock://thingy', ...
to
even come close to triggering that wrapper."

Incorrect; see bug #32535 and RFC2718.


Previous Comments:


[2005-04-04 22:32:53] [EMAIL PROTECTED]

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.

Your basic assessment is correct.  ':' is not a valid scheme character
([a-zA-Z0-9+.-]+), however, it is NOT the scheme delimiter by itself.

The full '://' is required to delimit a scheme identifier, so in your
example you would have needed to use fopen('tick:tock://thingy', ... to
even come close to triggering that wrapper.

The only wrapper which supports a single colon as a delimiter is zlib:
which is a hardcoded exception in the streams layer to maintain
backward compatability with old scripts.

The fact that you got "Invalid argument" as an error message suggests
you're using Win32 (please, when submitting a bug provide the actual
versions you've seen the specific error messages provided on -- Leave
the assumptions to us).  What the filesystem is attempting to do here
is locate an alternate data stream named 'tock:thingy' on the 'tick'
file which is of course an invalid name for an ADS.



[2005-04-04 09:34:02] [EMAIL PROTECTED]

It also crashes in HEAD:

#0  0x0019 in ?? ()
#1  0x0830dee5 in _php_stream_free (stream=0x8ba544c, close_options=11)
at /usr/src/php/php5/main/streams/streams.c:362
#2  0x0830fce7 in stream_resource_regular_dtor (rsrc=0x8ba4dc4) at
/usr/src/php/php5/main/streams/streams.c:1366
#3  0x08347879 in list_entry_destructor (ptr=0x8ba4dc4) at
/usr/src/php/php5/Zend/zend_list.c:178
#4  0x08345af2 in zend_hash_del_key_or_index (ht=0x85eab40, arKey=0x0,
nKeyLength=0, h=6, flag=1)
at /usr/src/php/php5/Zend/zend_hash.c:490
#5  0x083475dd in _zend_list_delete (id=6) at
/usr/src/php/php5/Zend/zend_list.c:58
#6  0x0833c9be in _zval_dtor_func (zvalue=0x8ba5044,
__zend_filename=0x8562434 "/usr/src/php/php5/Zend/zend_variables.h", 
__zend_lineno=35) at /usr/src/php/php5/Zend/zend_variables.c:60
#7  0x083318c5 in _zval_dtor (zvalue=0x8ba5044,
__zend_filename=0x85623d8 "/usr/src/php/php5/Zend/zend_execute_API.c",

__zend_lineno=391) at zend_variables.h:35
#8  0x08331a78 in _zval_ptr_dtor (zval_ptr=0x8ba4ff8,
__zend_filename=0x8563290 "/usr/src/php/php5/Zend/zend_variables.c", 
__zend_lineno=175) at
/usr/src/php/php5/Zend/zend_execute_API.c:391
#9  0x0833cc63 in _zval_ptr_dtor_wrapper (zval_ptr=0x8ba4ff8) at
/usr/src/php/php5/Zend/zend_variables.c:175
#10 0x08345e5a in zend_hash_apply_deleter (ht=0x85eaa10, p=0x8ba4fec)
at /usr/src/php/php5/Zend/zend_hash.c:574
#11 0x0834607b in zend_hash_graceful_reverse_destroy (ht=0x85eaa10) at
/usr/src/php/php5/Zend/zend_hash.c:640
#12 0x08331411 in shutdown_executor () at
/usr/src/php/php5/Zend/zend_execute_API.c:216
#13 0x0833df9e in zend_deactivate () at
/usr/src/php/php5/Zend/zend.c:823
#14 0x082fd3e1 in php_request_shutdown (dummy=0x0) at
/usr/src/php/php5/main/main.c:1217
#15 0x083b9ca0 in main (argc=2, argv=0xbfe6ea74) at
/usr/src/php/php5/sapi/cli/php_cli.c:1057




[2005-04-04 09:33:10] [EMAIL PROTECTED]

Sara, can you please look into this?




[2005-04-04 08:03:08] a at b dot c dot de

Description:

URL schemes may not contain ":" characters (as this character is used
as the scheme delimiter). stream_wrapper_register() will allow
"schemes" containing ":" to be registered, even though the URLs that
result from using them are invalid.


Reproduce code:
---


Expected result:

Warning: stream_wrapper_register(tick:tock): Invalid argument ... on
line 5

Array
(
[0] => php
[1] => file
[2] => http
[3] => ftp
[4] => compress.zlib
)


Actual result:
--
Array
(
[0] => php
[1] => file
[2] => http
[3] => ftp
[4] => compress.zlib
[5] => tick:tock
)

Warning: fopen(tick:tock:thingy): failed to open stream: Invalid
argument ... on line 7





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


#32127 [Asn->Fbk]: is_numeric() not binary safe

2005-04-05 Thread tony2001
 ID:   32127
 Updated by:   [EMAIL PROTECTED]
 Reported By:  M dot Kooiman at MAP-IS dot nl
-Status:   Assigned
+Status:   Feedback
 Bug Type: Variables related
 Operating System: *
 PHP Version:  4CVS, 5CVS (2005-02-27)
 Assigned To:  derick
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.0-win32-latest.zip

I can't reproduce it with latest snapshots.


Previous Comments:


[2005-02-27 12:58:18] M dot Kooiman at MAP-IS dot nl

Description:

Hi,

It seems is_numeric() isn't binary safe. Which, in itself isn't a big
problem, but it becomes a problem when is_numeric () is used as input
(GET/POST) validation. 





Reproduce code:
---
alert(document.cookie);
*/

if (is_numeric($_GET['whatever']))
{
echo "Whatever: {$_GET['whatever']}";
} else{
echo 'The string isn't numeric.';
}

?>


Expected result:

is_numeric() should fail the string because it contains extra arbitrary
data.


Actual result:
--
is_numeric() will validate a string that has a number + null char +
arbitrary data as a valid number.





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


#32572 [Com]: After a make install /usr/local/bin/pear is not created

2005-04-05 Thread marcel dot bariou at braasnah dot com
 ID:   32572
 Comment by:   marcel dot bariou at braasnah dot com
 Reported By:  mbneto at gmail dot com
 Status:   Feedback
 Bug Type: *General Issues
 Operating System: Linux
 PHP Version:  5.0.4
 New Comment:

I confirm the pear binary of the package manager is not created


Previous Comments:


[2005-04-04 19:45:03] [EMAIL PROTECTED]

Get the package again and make sure it's md5sum is one of these:

php-5.0.4.tar.bz2: fb1aac107870f897d26563a9cc5053c0
php-5.0.4.tar.gz: 8edf259bcfab4cfc890a4bb4e7c3649f





[2005-04-04 19:03:27] mbneto at gmail dot com

Description:

Hi,

I've downloaded the 5.0.4 targz and installed on a new server using
the same ./configure settings I use in a nother server that runs php
5.0.3.

I did a make/make install and everything runs fine excepth the fact
that I can no longer pear install  because there is no pear in
/usr/local/bin.

'./configure' '--with-kerberos' '--with-gd' '--with-apxs2'
'--with-xml' '--with-ftp' '--enable-session' '--enable-trans-sid'
'--with-zlib' '--enable-inline-optimization'
'--with-mcrypt=/usr/local' '--enable-sigchild' '--with-gettext'
'--with-freetype' '--with-ttf' '--with-ftp' '--enable-ftp'
'--with-jpeg-dir=/usr' '--with-mysql=/usr/include/mysql'
'--enable-soap' '--with-pear'

PHP itself works fine.






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


#32572 [Com]: After a make install /usr/local/bin/pear is not created

2005-04-05 Thread marcel dot bariou at brasnah dot com
 ID:   32572
 Comment by:   marcel dot bariou at brasnah dot com
 Reported By:  mbneto at gmail dot com
 Status:   Feedback
 Bug Type: *General Issues
 Operating System: Linux
 PHP Version:  5.0.4
 New Comment:

php-5.0.4.tar.gz: 8edf259bcfab4cfc890a4bb4e7c3649f
md5sum is correct
8edf259bcfab4cfc890a4bb4e7c3649f  php-5.0.4.tar.gz

./configure  --with-pear ...

Make install supplies =>

Installing PHP SAPI module:   apache2handler
/usr/lib/httpd/build/instdso.sh SH_LIBTOOL='/usr/bin/libtool'
libphp5.la /usr/lib/httpd/modules
/usr/bin/libtool --mode=install cp libphp5.la /usr/lib/httpd/modules/
cp .libs/libphp5.so /usr/lib/httpd/modules/libphp5.so
cp .libs/libphp5.lai /usr/lib/httpd/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish
/usr/local/xtra_targz/php-5.0.4/libs'
chmod 755 /usr/lib/httpd/modules/libphp5.so
[activating module `php5' in /etc/httpd/conf/httpd.conf]
Installing PHP CLI binary:/etc/httpd/bin/
Installing PHP CLI man page:  /etc/httpd/man/man1/
Installing PEAR environment:  /etc/httpd/lib/php/
[PEAR] Archive_Tar- already installed: 1.1
[PEAR] Console_Getopt - already installed: 1.2
[PEAR] PEAR   - installed: 1.3.5
Wrote PEAR system config file at: /etc/httpd/etc/pear.conf
You may want to add: /etc/httpd/lib/php to your php.ini include_path
[PEAR] HTML_Template_IT- already installed: 1.1
[PEAR] Net_UserAgent_Detect- already installed: 2.0.1
[PEAR] XML_RPC- already installed: 1.2.2
Installing build environment: /etc/httpd/lib/php/build/
Installing header files:  /etc/httpd/include/php/
Installing helper programs:   /etc/httpd/bin/
  program: phpize
  program: php-config
  program: phpextdist


Previous Comments:


[2005-04-05 10:20:19] marcel dot bariou at braasnah dot com

I confirm the pear binary of the package manager is not created



[2005-04-04 19:45:03] [EMAIL PROTECTED]

Get the package again and make sure it's md5sum is one of these:

php-5.0.4.tar.bz2: fb1aac107870f897d26563a9cc5053c0
php-5.0.4.tar.gz: 8edf259bcfab4cfc890a4bb4e7c3649f





[2005-04-04 19:03:27] mbneto at gmail dot com

Description:

Hi,

I've downloaded the 5.0.4 targz and installed on a new server using
the same ./configure settings I use in a nother server that runs php
5.0.3.

I did a make/make install and everything runs fine excepth the fact
that I can no longer pear install  because there is no pear in
/usr/local/bin.

'./configure' '--with-kerberos' '--with-gd' '--with-apxs2'
'--with-xml' '--with-ftp' '--enable-session' '--enable-trans-sid'
'--with-zlib' '--enable-inline-optimization'
'--with-mcrypt=/usr/local' '--enable-sigchild' '--with-gettext'
'--with-freetype' '--with-ttf' '--with-ftp' '--enable-ftp'
'--with-jpeg-dir=/usr' '--with-mysql=/usr/include/mysql'
'--enable-soap' '--with-pear'

PHP itself works fine.






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


#32584 [NEW]: count() doesnt work in some cases

2005-04-05 Thread xsmokex at chello dot at
From: xsmokex at chello dot at
Operating system: Windows 2003 Server
PHP version:  5.0.3
PHP Bug Type: Scripting Engine problem
Bug description:  count() doesnt work in some cases

Description:

count just stops returning any values inside my function
outside it returns the value it should quite dissapointing bug :/

Reproduce code:
---
$idxsplit = "kunden___Kunden_Nr,kunden___Zuname";
$idx = explode(",",$idxsplit); //Index Felder
$idxcnt = count($idx);
echo $idxcnt;
//Aktives Feld Index Feld?
function isidx($obj) {
  echo $obj;
  $retval = 0;
  if ($obj != "") {
echo "obj";
echo $idxcnt;
echo "test";
for ($i = 0; $i < $idxcnt; $i++) {
  echo $idx[$i];
  if ($idx[$i] == $obj) {
$retval = 1;
break;
  }
}
  }
  echo $idxcnt;
  echo "ende".$retval;
  return $retval;
}
//Erster Satz
if ($kunden___speichern == "mer") {
  if (isidx($kunden___AKTFLD)) { //kunden___Kunden_Nr/kunden___Zuname

Expected result:

well runing isidx() with $kunden___AKTFLD(value:kunden___Kunden_Nr or
kunden___Zuname )
returning true/false if the current selected field is a indexed field

Actual result:
--
the echo returnings:
2kunden___Kunden_Nrobjtestende0 

Broken down:

outside function:

2:   echo $idxcnt;


inside function:

kunden___Kunden: echo $obj;
obj: echo "obj";
:echo $idxcnt; //no value returned
test echo "test";
:echo $idx[$i]; //dont get into due no value from $idxcnt
:echo $idxcnt; //no value returned
ende0echo "ende".$retval;

-- 
Edit bug report at http://bugs.php.net/?id=32584&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32584&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32584&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32584&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32584&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32584&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32584&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32584&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32584&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32584&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32584&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32584&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32584&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32584&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32584&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32584&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32584&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32584&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32584&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32584&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32584&r=mysqlcfg


#32584 [Opn->Fbk]: count() doesnt work in some cases

2005-04-05 Thread tony2001
 ID:   32584
 Updated by:   [EMAIL PROTECTED]
 Reported By:  xsmokex at chello dot at
-Status:   Open
+Status:   Feedback
 Bug Type: Scripting Engine problem
 Operating System: Windows 2003 Server
 PHP Version:  5.0.3
 New Comment:

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.




Previous Comments:


[2005-04-05 10:51:56] xsmokex at chello dot at

Description:

count just stops returning any values inside my function
outside it returns the value it should quite dissapointing bug :/

Reproduce code:
---
$idxsplit = "kunden___Kunden_Nr,kunden___Zuname";
$idx = explode(",",$idxsplit); //Index Felder
$idxcnt = count($idx);
echo $idxcnt;
//Aktives Feld Index Feld?
function isidx($obj) {
  echo $obj;
  $retval = 0;
  if ($obj != "") {
echo "obj";
echo $idxcnt;
echo "test";
for ($i = 0; $i < $idxcnt; $i++) {
  echo $idx[$i];
  if ($idx[$i] == $obj) {
$retval = 1;
break;
  }
}
  }
  echo $idxcnt;
  echo "ende".$retval;
  return $retval;
}
//Erster Satz
if ($kunden___speichern == "mer") {
  if (isidx($kunden___AKTFLD)) { //kunden___Kunden_Nr/kunden___Zuname

Expected result:

well runing isidx() with $kunden___AKTFLD(value:kunden___Kunden_Nr or
kunden___Zuname )
returning true/false if the current selected field is a indexed field

Actual result:
--
the echo returnings:
2kunden___Kunden_Nrobjtestende0 

Broken down:

outside function:

2:   echo $idxcnt;


inside function:

kunden___Kunden: echo $obj;
obj: echo "obj";
:echo $idxcnt; //no value returned
test echo "test";
:echo $idx[$i]; //dont get into due no value from
$idxcnt
:echo $idxcnt; //no value returned
ende0echo "ende".$retval;





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


#32219 [Asn->Csd]: Alphabetical sort with accented characters

2005-04-05 Thread derick
 ID:   32219
 Updated by:   [EMAIL PROTECTED]
 Reported By:  php-france at mattoug dot net
-Status:   Assigned
+Status:   Closed
 Bug Type: *General Issues
 Operating System: *
 PHP Version:  4CVS-2005-03-09
 Assigned To:  derick
 New Comment:

Not a bug, but Jani committed my backported addition to 4.3.12.


Previous Comments:


[2005-04-05 10:13:11] [EMAIL PROTECTED]

Derick, so is it a bug or not?



[2005-03-08 23:33:03] [EMAIL PROTECTED]

Saying that something is supported in PHP 5 isn't gonna make this
'feature' (or fix, IMO) end up in PHP 4. Backport it is.




[2005-03-08 23:17:10] [EMAIL PROTECTED]

No bug here, PHP 4 never had support for sorting locale based. I added
this function to PHP 5.0.2 to support it.



[2005-03-08 23:11:54] [EMAIL PROTECTED]

It's a bug if *sort() functions can't handle locales correctly.




[2005-03-07 23:49:57] [EMAIL PROTECTED]

No bug here, the functions don't understand locales unless you add as
second "sort-flag" parameter SORT_LOCALE_STRING to asort(). This option
is introduced in PHP 5.0.2.

The following works fine (if you have the fr_FR locale installed):

 "Alberta",
"BC" => "Colombie-Britannique",
"MB" => "Manitoba",
"NB" => "Nouveau-Brunswick",
"NL" => "Terre-Neuve-et-Labrador",
"NS" => "Nouvelle-Écosse",
"ON" => "Ontario",
"PE" => "Île-du-Prince-Édouard",
"QC" => "Québec",
"SK" => "Saskatchewan",
"NT" => "Territoires du Nord-Ouest",
"NU" => "Nunavut",
"YT" => "Territoire du Yukon");
asort($table, SORT_LOCALE_STRING);
var_dump($table);




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

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


#32584 [Fbk->Opn]: count() doesnt work in some cases

2005-04-05 Thread xsmokex at chello dot at
 ID:   32584
 User updated by:  xsmokex at chello dot at
 Reported By:  xsmokex at chello dot at
-Status:   Feedback
+Status:   Open
 Bug Type: Scripting Engine problem
 Operating System: Windows 2003 Server
 PHP Version:  5.0.3
 New Comment:

sorry didnt know u need it for tests in that way here you have the
requested sample (no additional things needed just run it)

SCRIPT:




Previous Comments:


[2005-04-05 11:02:15] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.





[2005-04-05 10:51:56] xsmokex at chello dot at

Description:

count just stops returning any values inside my function
outside it returns the value it should quite dissapointing bug :/

Reproduce code:
---
$idxsplit = "kunden___Kunden_Nr,kunden___Zuname";
$idx = explode(",",$idxsplit); //Index Felder
$idxcnt = count($idx);
echo $idxcnt;
//Aktives Feld Index Feld?
function isidx($obj) {
  echo $obj;
  $retval = 0;
  if ($obj != "") {
echo "obj";
echo $idxcnt;
echo "test";
for ($i = 0; $i < $idxcnt; $i++) {
  echo $idx[$i];
  if ($idx[$i] == $obj) {
$retval = 1;
break;
  }
}
  }
  echo $idxcnt;
  echo "ende".$retval;
  return $retval;
}
//Erster Satz
if ($kunden___speichern == "mer") {
  if (isidx($kunden___AKTFLD)) { //kunden___Kunden_Nr/kunden___Zuname

Expected result:

well runing isidx() with $kunden___AKTFLD(value:kunden___Kunden_Nr or
kunden___Zuname )
returning true/false if the current selected field is a indexed field

Actual result:
--
the echo returnings:
2kunden___Kunden_Nrobjtestende0 

Broken down:

outside function:

2:   echo $idxcnt;


inside function:

kunden___Kunden: echo $obj;
obj: echo "obj";
:echo $idxcnt; //no value returned
test echo "test";
:echo $idx[$i]; //dont get into due no value from
$idxcnt
:echo $idxcnt; //no value returned
ende0echo "ende".$retval;





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


#32579 [Bgs]: Segfault (Memory Leak on debug build) caused in __destruct

2005-04-05 Thread mailfrom-bugs dot php dot net at kopka dot net
 ID:   32579
 User updated by:  mailfrom-bugs dot php dot net at kopka dot net
 Reported By:  mailfrom-bugs dot php dot net at kopka dot net
 Status:   Bogus
 Bug Type: Reproducible crash
 Operating System: Linux
-PHP Version:  5.0.3
+PHP Version:  5.0.4
 New Comment:

Same problem with php 5.0.4


Previous Comments:


[2005-04-05 09:23:46] [EMAIL PROTECTED]

Thank you for taking the time to report a problem with PHP.
Unfortunately you are not using a current version of PHP -- 
the problem might already be fixed. Please download a new
PHP version from http://www.php.net/downloads.php

If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.





[2005-04-05 02:42:32] mailfrom-bugs dot php dot net at kopka dot net

Description:

I ran into this using the following construct:

if (database::query($string)->error) {}

where database::query() returns an object wrapping a result set (or
providing info on success of the request).

PHP 5.0.3 (and i am quite sure this applies to other versions as well
as i experience this for quite a time) segfaults under the following
cumulating circumstances:
- If the object is only used once and not referenced to a variable
- If a property is read/set (if a function is called all is OK)
- If __destruct references the class name by some means (others are
OK)

When you try the demo uncomment one of the lines which cause a segfault
(and are noted as a memory leak with --enable-debug):

//  $c=get_class($this);unset ($c);
//  echo get_class($this);
//  if(defined('DEBUG_'.__CLASS__)){}


The following lines don't raise a segfault:

  $c=__CLASS__;unset($c);
  if(__CLASS__ == "BUG") {};
  get_class($this);
  echo __CLASS__;

The following line don't raise a segfault but is noted as a memory leak
(--enable-debug):

  $c=get_class($this);  // <-- this is reported as a memory leak 

Naturally the hidden beast came up a long time after i wrote the line -
spending a good month of free time trying to locate it i am happy to
finally nail it to the ground for someone who knows what he is doing to
slay it (it cost me a keyboard and brought quite a few white hairs into
existence).
Good hunting.


Configure Command =>  './configure' '--prefix=/usr'
'--host=i686-pc-linux-gnu' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc'
'--localstatedir=/var/lib' '--disable-cgi' '--enable-cli'
'--enable-embed' '--with-config-file-path=/etc/php/cli-php5'
'--disable-bcmath' '--without-bz2' '--disable-calendar'
'--without-cpdflib' '--disable-ctype' '--without-curl'
'--without-curlwrappers' '--disable-dbase' '--disable-dio'
'--disable-dom' '--disable-exif' '--without-fam' '--without-fbsql'
'--without-fdftk' '--disable-filepro' '--disable-ftp'
'--without-gettext' '--without-gmp' '--without-hwapi' '--without-iconv'
'--without-informix' '--without-ingres' '--without-interbase'
'--without-kerberos' '--disable-libxml' '--disable-mbstring'
'--without-mcrypt' '--without-mcve' '--disable-memory-limit'
'--without-mhash' '--without-mime-magic' '--without-ming'
'--without-mnogosearch' '--without-msql' '--without-mssql'
'--without-ncurses' '--without-oci8' '--without-oracle'
'--without-openssl' '--without-openssl-dir' '--without-ovrimos'
'--disable-pcntl' '--without-pcre-regx' '--without-pfpro'
'--without-pgsql' '--disable-posix' '--without-pspell'
'--without-recode' '--disable-simplexml' '--disable-shmop'
'--without-snmp' '--disable-soap' '--disable-sockets' '--disable-spl'
'--without-sybase' '--without-sybase-ct' '--disable-sysvmsg'
'--disable-sysvsem' '--disable-sysvshm' '--without-tidy'
'--disable-tokenizer' '--disable-wddx' '--without-xsl'
'--without-xmlrpc' '--disable-yp' '--without-zlib' '--disable-debug'
'--without-jpeg-dir' '--without-freetype-dir' '--without-t1lib'
'--without-ttf' '--disable-gd-jis-conf' '--disable-gd-native-ttf'
'--without-png-dir' '--without-tiff-dir' '--without-xpm-dir'
'--without-gd' '--disable-session' '--without-sqlite' '--disable-dba'
'--without-readline' '--without-libedit'


Reproduce code:
---
error;
  }
}

BUG::instance()->error;
echo "this is still executed\n";

?>


Expected result:

# php -n bug.php(cr)
please fix this thing, it wasted a nice part of my life!
this is still executed
# (cursor)

Actual result:
--
Sorry that i can not provide a core dump according to the requested
standards (vith --enable-debug) because if i compile like this there is
no segfault (just a memory leak), so i hope a standard one will help:
--
(with --disable-debug)
# php -n bug.php (cr)

#32579 [Bgs->Opn]: Segfault (Memory Leak on debug build) caused in __destruct

2005-04-05 Thread mailfrom-bugs dot php dot net at kopka dot net
 ID:   32579
 User updated by:  mailfrom-bugs dot php dot net at kopka dot net
 Reported By:  mailfrom-bugs dot php dot net at kopka dot net
-Status:   Bogus
+Status:   Open
 Bug Type: Reproducible crash
 Operating System: Linux
 PHP Version:  5.0.4
 New Comment:

Same problem with php 5.0.4


Previous Comments:


[2005-04-05 11:32:57] mailfrom-bugs dot php dot net at kopka dot net

Same problem with php 5.0.4



[2005-04-05 09:23:46] [EMAIL PROTECTED]

Thank you for taking the time to report a problem with PHP.
Unfortunately you are not using a current version of PHP -- 
the problem might already be fixed. Please download a new
PHP version from http://www.php.net/downloads.php

If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.





[2005-04-05 02:42:32] mailfrom-bugs dot php dot net at kopka dot net

Description:

I ran into this using the following construct:

if (database::query($string)->error) {}

where database::query() returns an object wrapping a result set (or
providing info on success of the request).

PHP 5.0.3 (and i am quite sure this applies to other versions as well
as i experience this for quite a time) segfaults under the following
cumulating circumstances:
- If the object is only used once and not referenced to a variable
- If a property is read/set (if a function is called all is OK)
- If __destruct references the class name by some means (others are
OK)

When you try the demo uncomment one of the lines which cause a segfault
(and are noted as a memory leak with --enable-debug):

//  $c=get_class($this);unset ($c);
//  echo get_class($this);
//  if(defined('DEBUG_'.__CLASS__)){}


The following lines don't raise a segfault:

  $c=__CLASS__;unset($c);
  if(__CLASS__ == "BUG") {};
  get_class($this);
  echo __CLASS__;

The following line don't raise a segfault but is noted as a memory leak
(--enable-debug):

  $c=get_class($this);  // <-- this is reported as a memory leak 

Naturally the hidden beast came up a long time after i wrote the line -
spending a good month of free time trying to locate it i am happy to
finally nail it to the ground for someone who knows what he is doing to
slay it (it cost me a keyboard and brought quite a few white hairs into
existence).
Good hunting.


Configure Command =>  './configure' '--prefix=/usr'
'--host=i686-pc-linux-gnu' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc'
'--localstatedir=/var/lib' '--disable-cgi' '--enable-cli'
'--enable-embed' '--with-config-file-path=/etc/php/cli-php5'
'--disable-bcmath' '--without-bz2' '--disable-calendar'
'--without-cpdflib' '--disable-ctype' '--without-curl'
'--without-curlwrappers' '--disable-dbase' '--disable-dio'
'--disable-dom' '--disable-exif' '--without-fam' '--without-fbsql'
'--without-fdftk' '--disable-filepro' '--disable-ftp'
'--without-gettext' '--without-gmp' '--without-hwapi' '--without-iconv'
'--without-informix' '--without-ingres' '--without-interbase'
'--without-kerberos' '--disable-libxml' '--disable-mbstring'
'--without-mcrypt' '--without-mcve' '--disable-memory-limit'
'--without-mhash' '--without-mime-magic' '--without-ming'
'--without-mnogosearch' '--without-msql' '--without-mssql'
'--without-ncurses' '--without-oci8' '--without-oracle'
'--without-openssl' '--without-openssl-dir' '--without-ovrimos'
'--disable-pcntl' '--without-pcre-regx' '--without-pfpro'
'--without-pgsql' '--disable-posix' '--without-pspell'
'--without-recode' '--disable-simplexml' '--disable-shmop'
'--without-snmp' '--disable-soap' '--disable-sockets' '--disable-spl'
'--without-sybase' '--without-sybase-ct' '--disable-sysvmsg'
'--disable-sysvsem' '--disable-sysvshm' '--without-tidy'
'--disable-tokenizer' '--disable-wddx' '--without-xsl'
'--without-xmlrpc' '--disable-yp' '--without-zlib' '--disable-debug'
'--without-jpeg-dir' '--without-freetype-dir' '--without-t1lib'
'--without-ttf' '--disable-gd-jis-conf' '--disable-gd-native-ttf'
'--without-png-dir' '--without-tiff-dir' '--without-xpm-dir'
'--without-gd' '--disable-session' '--without-sqlite' '--disable-dba'
'--without-readline' '--without-libedit'


Reproduce code:
---
error;
  }
}

BUG::instance()->error;
echo "this is still executed\n";

?>


Expected result:

# php -n bug.php(cr)
please fix this thing, it wasted a nice part of my life!
this is still executed
# (cursor)

Actual result:
--
Sorry that i can not provide a core dump according to the requested
standards (vith --enable-debug) because if i compile like this there is
no se

#32584 [Opn->Bgs]: count() doesnt work in some cases

2005-04-05 Thread tony2001
 ID:   32584
 Updated by:   [EMAIL PROTECTED]
 Reported By:  xsmokex at chello dot at
-Status:   Open
+Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Windows 2003 Server
 PHP Version:  5.0.3
 New Comment:

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

No bug here, $idx & $idxcnt are just in the different scope.
Use error_reporting(E_ALL) to turn on notices and read the
documentation more carefully.


Previous Comments:


[2005-04-05 11:22:17] xsmokex at chello dot at

sorry didnt know u need it for tests in that way here you have the
requested sample (no additional things needed just run it)

SCRIPT:





[2005-04-05 11:02:15] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.





[2005-04-05 10:51:56] xsmokex at chello dot at

Description:

count just stops returning any values inside my function
outside it returns the value it should quite dissapointing bug :/

Reproduce code:
---
$idxsplit = "kunden___Kunden_Nr,kunden___Zuname";
$idx = explode(",",$idxsplit); //Index Felder
$idxcnt = count($idx);
echo $idxcnt;
//Aktives Feld Index Feld?
function isidx($obj) {
  echo $obj;
  $retval = 0;
  if ($obj != "") {
echo "obj";
echo $idxcnt;
echo "test";
for ($i = 0; $i < $idxcnt; $i++) {
  echo $idx[$i];
  if ($idx[$i] == $obj) {
$retval = 1;
break;
  }
}
  }
  echo $idxcnt;
  echo "ende".$retval;
  return $retval;
}
//Erster Satz
if ($kunden___speichern == "mer") {
  if (isidx($kunden___AKTFLD)) { //kunden___Kunden_Nr/kunden___Zuname

Expected result:

well runing isidx() with $kunden___AKTFLD(value:kunden___Kunden_Nr or
kunden___Zuname )
returning true/false if the current selected field is a indexed field

Actual result:
--
the echo returnings:
2kunden___Kunden_Nrobjtestende0 

Broken down:

outside function:

2:   echo $idxcnt;


inside function:

kunden___Kunden: echo $obj;
obj: echo "obj";
:echo $idxcnt; //no value returned
test echo "test";
:echo $idx[$i]; //dont get into due no value from
$idxcnt
:echo $idxcnt; //no value returned
ende0echo "ende".$retval;





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


#31981 [NoF->Opn]: Crash in shutdown_memory_manager

2005-04-05 Thread asmi at owear dot ru
 ID:   31981
 User updated by:  asmi at owear dot ru
 Reported By:  asmi at owear dot ru
-Status:   No Feedback
+Status:   Open
 Bug Type: Reproducible crash
 Operating System: FreeBSD 4.8-RELEASE-p27
-PHP Version:  4.3.10
+PHP Version:  4.3.11
 New Comment:

This bug is present in 4.3.11 also!
Program received signal SIGSEGV, Segmentation fault.
0x282aa0a5 in shutdown_memory_manager (silent=0, clean_cache=0) at
/usr/ports/lang/php4/work/php-4.3.11/Zend/zend_alloc.c:491
491 REMOVE_POINTER_FROM_LIST(ptr);
(gdb) bt
#0  0x282aa0a5 in shutdown_memory_manager (silent=0, clean_cache=0)
at /usr/ports/lang/php4/work/php-4.3.11/Zend/zend_alloc.c:491
#1  0x282924f2 in php_request_shutdown (dummy=0x0) at
/usr/ports/lang/php4/work/php-4.3.11/main/main.c:1004
#2  0x282cdfb3 in apache_php_module_main (r=0x81271b4,
display_source_mode=0)
at
/usr/ports/lang/php4/work/php-4.3.11/sapi/apache/sapi_apache.c:60
#3  0x282ce938 in send_php (r=0x81271b4, display_source_mode=0,
filename=0x0)
at /usr/ports/lang/php4/work/php-4.3.11/sapi/apache/mod_php4.c:621
#4  0x282ce984 in send_parsed_php (r=0x81271b4) at
/usr/ports/lang/php4/work/php-4.3.11/sapi/apache/mod_php4.c:636
#5  0x8051fac in ap_invoke_handler (r=0x81271b4) at http_config.c:475
#6  0x8061d71 in process_request_internal (r=0x81271b4) at
http_request.c:1298
#7  0x8062074 in ap_internal_redirect (new_uri=0x812718c
"/wacko/wakka.php?wakka=OwearHome", r=0x8124034)
at http_request.c:1435
#8  0x281b5d19 in handler_redirect (r=0x8124034) at mod_rewrite.c:1590
#9  0x8051fac in ap_invoke_handler (r=0x8124034) at http_config.c:475
#10 0x8061d71 in process_request_internal (r=0x8124034) at
http_request.c:1298
#11 0x8061dd0 in ap_process_request (r=0x8124034) at
http_request.c:1314
#12 0x805b19a in child_main (child_num_arg=0) at http_main.c:4786
#13 0x805b30c in make_child (s=0x8084034, slot=0, now=1112693814) at
http_main.c:4901
#14 0x805b429 in startup_children (number_to_start=2) at
http_main.c:4983
#15 0x805b97c in standalone_main (argc=2, argv=0xbfbffb84) at
http_main.c:5315
#16 0x805c063 in main (argc=2, argv=0xbfbffb84) at http_main.c:5657


Previous Comments:


[2005-03-20 18:00:17] [EMAIL PROTECTED]

No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.





[2005-02-15 12:59:01] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip





[2005-02-15 10:58:02] asmi at owear dot ru

Description:

SIGSERV in shutdown_memory_manager after WackoWiki script execution
I cannot find the exact part of code leading to crash.

Reproduce code:
---
http://wackowiki.com/files/wacko.r4.zip

Expected result:

WackoWiki good working for me.

Actual result:
--
(gdb) run -X
Starting program: /usr/local/sbin/httpd -X

Program received signal SIGSEGV, Segmentation fault.
0x2828df02 in shutdown_memory_manager (silent=0, clean_cache=0) at
/usr/ports/lang/php4/work/php-4.3.10/Zend/zend_alloc.c:491
491 REMOVE_POINTER_FROM_LIST(ptr);
(gdb) p t
$1 = (zend_mem_header *) 0xbfbfad74
(gdb) bt
#0  0x2828df02 in shutdown_memory_manager (silent=0, clean_cache=0)
at /usr/ports/lang/php4/work/php-4.3.10/Zend/zend_alloc.c:491
#1  0x28272ff9 in php_request_shutdown (dummy=0x0) at
/usr/ports/lang/php4/work/php-4.3.10/main/main.c:1003
#2  0x282b78ad in apache_php_module_main (r=0x8125304,
display_source_mode=0)
at
/usr/ports/lang/php4/work/php-4.3.10/sapi/apache/sapi_apache.c:60
#3  0x282b8468 in send_php (r=0x8125304, display_source_mode=0,
filename=0x0)
at /usr/ports/lang/php4/work/php-4.3.10/sapi/apache/mod_php4.c:621
#4  0x282b84c9 in send_parsed_php (r=0x8125304) at
/usr/ports/lang/php4/work/php-4.3.10/sapi/apache/mod_php4.c:636
#5  0x8051fac in ap_invoke_handler (r=0x8125304) at http_config.c:475
#6  0x8061d71 in process_request_internal (r=0x8125304) at
http_request.c:1298
#7  0x8062074 in ap_internal_redirect (new_uri=0x81252cc
"/wacko/wakka.php?wakka=SsylkiNaUpravlenieSajjtami", r=0x8122034)
at http_request.c:1435
#8  0x281b5d19 in handler_redirect (r=0x8122034) at mod_rewrite.c:1590
#9  0x8051fac in ap_invoke_handler (r=0x8122034) at http_config.c:475
#10 0x8061d71 in process_request_internal (r=0x8122034) at
http_request.c:1298
#11 0x8061dd0 in ap_process_request (r=0x8122034) at
http_request.c:1314
#12 0x805b19a in child_main (child_n

#32585 [NEW]: Superglobals behave differently inside functions

2005-04-05 Thread c dot i dot morris at durham dot ac dot uk
From: c dot i dot morris at durham dot ac dot uk
Operating system: Linux
PHP version:  4.3.10
PHP Bug Type: Scripting Engine problem
Bug description:  Superglobals behave differently inside functions

Description:

When constructing a variable name using the $$foo syntax, it is only
possible to reference a superglobal in this way from outside a function.
Inside a function it appears to reference a variable with the same name
that is local to the function.

In other words, the code
$foo='_REQUEST';
print (${$foo}['bar']);
behaves differently within a function and within the main loop.

I've been able to reproduce this bug on several servers with different
configurations. 4.3.10 is the latest version I have available to test.

Reproduce code:
---
Demonstration
http://www.dur.ac.uk/c.i.morris/superglobals.php?foo=123

Source code
http://www.dur.ac.uk/c.i.morris/superglobals.phps

[Note: this server is running an older version of PHP, but  the same
effect happens on a non-public server running 4.3.10]

Expected result:

Out of the function:123

In the function:123


Actual result:
--
Out of the function:123

In the function:



-- 
Edit bug report at http://bugs.php.net/?id=32585&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32585&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32585&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32585&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32585&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32585&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32585&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32585&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32585&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32585&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32585&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32585&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32585&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32585&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32585&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32585&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32585&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32585&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32585&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32585&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32585&r=mysqlcfg


#32585 [Opn->Bgs]: Superglobals behave differently inside functions

2005-04-05 Thread johannes
 ID:   32585
 Updated by:   [EMAIL PROTECTED]
 Reported By:  c dot i dot morris at durham dot ac dot uk
-Status:   Open
+Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Linux
 PHP Version:  4.3.10
 New Comment:

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

That's the way it works... 


Previous Comments:


[2005-04-05 11:47:20] c dot i dot morris at durham dot ac dot uk

Description:

When constructing a variable name using the $$foo syntax, it is only
possible to reference a superglobal in this way from outside a
function. Inside a function it appears to reference a variable with the
same name that is local to the function.

In other words, the code
$foo='_REQUEST';
print (${$foo}['bar']);
behaves differently within a function and within the main loop.

I've been able to reproduce this bug on several servers with different
configurations. 4.3.10 is the latest version I have available to test.

Reproduce code:
---
Demonstration
http://www.dur.ac.uk/c.i.morris/superglobals.php?foo=123

Source code
http://www.dur.ac.uk/c.i.morris/superglobals.phps

[Note: this server is running an older version of PHP, but  the same
effect happens on a non-public server running 4.3.10]

Expected result:

Out of the function:123

In the function:123


Actual result:
--
Out of the function:123

In the function:







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


#32579 [Opn]: Segfault (Memory Leak on debug build) caused in __destruct

2005-04-05 Thread mailfrom-bugs dot php dot net at kopka dot net
 ID:   32579
 User updated by:  mailfrom-bugs dot php dot net at kopka dot net
 Reported By:  mailfrom-bugs dot php dot net at kopka dot net
 Status:   Open
 Bug Type: Reproducible crash
 Operating System: Linux
-PHP Version:  5.0.4
+PHP Version:  PHP 5.0.5-dev (cli) (built: Apr  5 2005 11:42:27)
 New Comment:

Also in PHP 5.0.5-dev (cli) (built: Apr  5 2005 11:42:27)

Hope this is actual enough.
Please slay the bastard.

Thanks for your support.

Gregor


Previous Comments:


[2005-04-05 11:33:04] mailfrom-bugs dot php dot net at kopka dot net

Same problem with php 5.0.4



[2005-04-05 11:32:57] mailfrom-bugs dot php dot net at kopka dot net

Same problem with php 5.0.4



[2005-04-05 09:23:46] [EMAIL PROTECTED]

Thank you for taking the time to report a problem with PHP.
Unfortunately you are not using a current version of PHP -- 
the problem might already be fixed. Please download a new
PHP version from http://www.php.net/downloads.php

If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.





[2005-04-05 02:42:32] mailfrom-bugs dot php dot net at kopka dot net

Description:

I ran into this using the following construct:

if (database::query($string)->error) {}

where database::query() returns an object wrapping a result set (or
providing info on success of the request).

PHP 5.0.3 (and i am quite sure this applies to other versions as well
as i experience this for quite a time) segfaults under the following
cumulating circumstances:
- If the object is only used once and not referenced to a variable
- If a property is read/set (if a function is called all is OK)
- If __destruct references the class name by some means (others are
OK)

When you try the demo uncomment one of the lines which cause a segfault
(and are noted as a memory leak with --enable-debug):

//  $c=get_class($this);unset ($c);
//  echo get_class($this);
//  if(defined('DEBUG_'.__CLASS__)){}


The following lines don't raise a segfault:

  $c=__CLASS__;unset($c);
  if(__CLASS__ == "BUG") {};
  get_class($this);
  echo __CLASS__;

The following line don't raise a segfault but is noted as a memory leak
(--enable-debug):

  $c=get_class($this);  // <-- this is reported as a memory leak 

Naturally the hidden beast came up a long time after i wrote the line -
spending a good month of free time trying to locate it i am happy to
finally nail it to the ground for someone who knows what he is doing to
slay it (it cost me a keyboard and brought quite a few white hairs into
existence).
Good hunting.


Configure Command =>  './configure' '--prefix=/usr'
'--host=i686-pc-linux-gnu' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc'
'--localstatedir=/var/lib' '--disable-cgi' '--enable-cli'
'--enable-embed' '--with-config-file-path=/etc/php/cli-php5'
'--disable-bcmath' '--without-bz2' '--disable-calendar'
'--without-cpdflib' '--disable-ctype' '--without-curl'
'--without-curlwrappers' '--disable-dbase' '--disable-dio'
'--disable-dom' '--disable-exif' '--without-fam' '--without-fbsql'
'--without-fdftk' '--disable-filepro' '--disable-ftp'
'--without-gettext' '--without-gmp' '--without-hwapi' '--without-iconv'
'--without-informix' '--without-ingres' '--without-interbase'
'--without-kerberos' '--disable-libxml' '--disable-mbstring'
'--without-mcrypt' '--without-mcve' '--disable-memory-limit'
'--without-mhash' '--without-mime-magic' '--without-ming'
'--without-mnogosearch' '--without-msql' '--without-mssql'
'--without-ncurses' '--without-oci8' '--without-oracle'
'--without-openssl' '--without-openssl-dir' '--without-ovrimos'
'--disable-pcntl' '--without-pcre-regx' '--without-pfpro'
'--without-pgsql' '--disable-posix' '--without-pspell'
'--without-recode' '--disable-simplexml' '--disable-shmop'
'--without-snmp' '--disable-soap' '--disable-sockets' '--disable-spl'
'--without-sybase' '--without-sybase-ct' '--disable-sysvmsg'
'--disable-sysvsem' '--disable-sysvshm' '--without-tidy'
'--disable-tokenizer' '--disable-wddx' '--without-xsl'
'--without-xmlrpc' '--disable-yp' '--without-zlib' '--disable-debug'
'--without-jpeg-dir' '--without-freetype-dir' '--without-t1lib'
'--without-ttf' '--disable-gd-jis-conf' '--disable-gd-native-ttf'
'--without-png-dir' '--without-tiff-dir' '--without-xpm-dir'
'--without-gd' '--disable-session' '--without-sqlite' '--disable-dba'
'--without-readline' '--without-libedit'


Reproduce code:
---
error;
  }
}

BUG::instance()->error;
echo "this is still execut

#32514 [Bgs]: session_start() crashes when session exists

2005-04-05 Thread red at raven dot ch
 ID:   32514
 User updated by:  red at raven dot ch
 Reported By:  red at raven dot ch
 Status:   Bogus
 Bug Type: Session related
 Operating System: Fedora Core 3
 PHP Version:  5CVS-2005-03-30
 New Comment:

but why is it possible if it's no a good idea?


Previous Comments:


[2005-04-05 01:43:18] [EMAIL PROTECTED]

Have you ever thought that it might not be good idea to put everything
into a session?




[2005-04-04 10:32:08] red at raven dot ch

Sorry, I can't reduce this to a few lines of code. It seems this
segmentation fault does only occure in rather complex situations (and I
can't put the finger on it). I'm working with the Vida-Framework (
http://www.vidaframework.ch/ - latest cvs-version) and it seems the
problem can be found in these lines:





[2005-04-03 01:09:52] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.





[2005-04-01 00:02:40] red at raven dot ch

tried the latest snapshot (200503312030) . still the same.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208932672 (LWP 3881)]
0x012dbcee in zend_do_fcall_common_helper_SPEC
(execute_data=0xbfe190b0)
at zend_vm_execute.h:120
120 if (EX(function_state).function->common.fn_flags &
ZEND_ACC_ABST
RACT) {
(gdb) bt
#0  0x012dbcee in zend_do_fcall_common_helper_SPEC
(execute_data=0xbfe190b0)
at zend_vm_execute.h:120
#1  0x012dc705 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER
(execute_data=0xbfe190b0)
at zend_vm_execute.h:288
#2  0x012dbc3b in execute (op_array=0x8a24f6c) at zend_vm_execute.h:78
#3  0x012dc073 in zend_do_fcall_common_helper_SPEC
(execute_data=0xbfe19220)
at zend_vm_execute.h:204
#4  0x012dc705 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER
(execute_data=0xbfe19220)
at zend_vm_execute.h:288
#5  0x012dbc3b in execute (op_array=0x875be54) at zend_vm_execute.h:78
#6  0x012dc073 in zend_do_fcall_common_helper_SPEC
(execute_data=0xbfe19360)
at zend_vm_execute.h:204
#7  0x012dc705 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER
(execute_data=0xbfe19360)
at zend_vm_execute.h:288
#8  0x012dbc3b in execute (op_array=0x875ae9c) at zend_vm_execute.h:78
#9  0x0130d185 in ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLER (
execute_data=0xbfe194d0) at zend_vm_execute.h:18130
#10 0x012dbc3b in execute (op_array=0x88f01c4) at zend_vm_execute.h:78
#11 0x012dc073 in zend_do_fcall_common_helper_SPEC
(execute_data=0xbfe19670)
at zend_vm_execute.h:204
#12 0x012dc705 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER
(execute_data=0xbfe19670)
at zend_vm_execute.h:288
#13 0x012dbc3b in execute (op_array=0x870ad08) at zend_vm_execute.h:78
#14 0x012ac2f3 in zend_call_function (fci=0xbfe19810,
fci_cache=0xbfe19800)
at /usr/local/src/php5-200503312030/Zend/zend_execute_API.c:851
#15 0x012ac842 in zend_lookup_class (name=0x876b32c "User",
name_length=4, 
ce=0xbfe198e4)
at /usr/local/src/php5-200503312030/Zend/zend_execute_API.c:956
#16 0x0125c5fa in php_var_unserialize (rval=0xbfe19950, p=0xbfe19a90, 
max=0x87e05e8 "\204�217*A", var_hash=0xbfe19a70)
at
/usr/local/src/php5-200503312030/ext/standard/var_unserializer.c:565
#17 0x0125d704 in process_nested_data (rval=0xbfe19a84, p=0xbfe19a90, 
max=0x87e05e8 "\204�217*A", var_hash=0xbfe19a70,
ht=0x87e192c, 
elements=0)
at
/usr/local/src/php5-200503312030/ext/standard/var_unserializer.c:232
#18 0x0125da92 in object_common2 (rval=0xbfe19a84, p=0xbfe19a90, 
max=0x87e05e8 "\204�217*A", var_hash=0xbfe19a70,
elements=4)
at
/usr/local/src/php5-200503312030/ext/standard/var_unserializer.c:322
#19 0x0125c8fd in php_var_unserialize (rval=0xbfe19a84, p=0xbfe19a90, 
max=0x87e05e8 "\204�217*A", var_hash=0xbfe19a70)
at
/usr/local/src/php5-200503312030/ext/standard/var_unserializer.c:623
#20 0x01150b56 in ps_srlzr_decode_php (
val=0x87dfd34 "VidaAuth|O:8:\"VidaAuth\":4:{s:14:\"", vallen=2228)
at /usr/local/src/php5-200503312030/ext/session/session.c:509
#21 0x01151015 in php_session_decode (
val=0x87dfd34 "VidaAuth|O:8:\"VidaAuth\":4:{s:14:\"", vallen=2228)
at /usr/local/src/php5-200503312030/ext/session/session.c:571
#22 0x011515a8 in php_session_initialize ()
at /usr/local/src/php5-200503312030/ext/session/session.c:752
#23 0x01153265 in php_session_start ()
at /usr/local/src/php5-2005

#32586 [NEW]: imap_utf7_encode doesn't work as expected

2005-04-05 Thread mschering at intermesh dot nl
From: mschering at intermesh dot nl
Operating system: Linux 2.6
PHP version:  4.3.10
PHP Bug Type: IMAP related
Bug description:  imap_utf7_encode doesn't work as expected

Description:

These functions do not work:

/**
* Replacement for $this->utf7_encode because it expects the 
text to be
in
* ISO-8859-1 format while GO uses UTF-8.
*
* @access public
* @param $text The UTF-8 encoded text to encode in UTF-7
* @return string UTF-7 encoded text
*/  
function utf7_encode($text)
{
return imap_utf7_encode(utf8_decode($text));
}

/**
* Replacement for $this->utf7_decode becuase it returns the text in
* ISO-8859-1 format while GO uses UTF-8.
*
* @access public
* @param $text The UTF-7 text to encode to UTF-8
* @return string UTF-8 encoded text
*/  
function utf7_decode($text)
{
return utf8_encode(imap_utf7_decode($text));
}
}

Reproduce code:
---
Use these functions and encode UTF-8 strings with characters like ëäö etc
in it and it will produce garbage.
I use these in my mail client and it works but other mail clients do not
see the folders correctly.


Expected result:

Other mail clients should see the folder names correctly

Actual result:
--
The folder names have strange characters in other mail clients

-- 
Edit bug report at http://bugs.php.net/?id=32586&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32586&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32586&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32586&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32586&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32586&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32586&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32586&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32586&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32586&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32586&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32586&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32586&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32586&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32586&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32586&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32586&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32586&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32586&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32586&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32586&r=mysqlcfg


#32587 [NEW]: PHP errors sent to Apache2 error_log do not include time unlike Apache1

2005-04-05 Thread mvl22 at mailinator dot com
From: mvl22 at mailinator dot com
Operating system: Linux
PHP version:  5.0.3
PHP Bug Type: Apache2 related
Bug description:  PHP errors sent to Apache2 error_log do not include time 
unlike Apache1

Description:

I posted to the comp.lang.php newsgroup about this. See:
http://tinyurl.com/4gxde
(which goes to a URL on Google Groups.



I've noticed since moving from Apache1/mod_php4/linux to 
Apache2/mod_php5/linux that when an error is produced by PHP and put in 
the error_log, the date is no longer logged as well:


Apache1/php4/linux example in Apache error_log:

[Thu Jan  8 15:06:52 2004] [error] PHP Warning: opendir(/foo/bar/): failed
to open dir: No such file or directory in /blah/something/listing.html on
line 84


Apache2/php5/linux example in Apache error_log:

[client 1.2.3.4] PHP Notice:  Undefined variable:  browserline in
/foo/bar/zing.html on line 18


Is there any way to restore this, either at PHP or Apache level?



NB 

There is an inconclusive note at
http://www.php.net/manual/en/ref.errorfunc.php#ini.error-log
which states:

"As pointed out previously, PHP by default logs to the Apache ErrorLog. 

Beware: the messages it logs do not conform to Apache's error log format 
(missing date and severity fields), so if you use an automated parser on 
your error logs, you'll want to redirect PHP's errors somewhere else with

the error_log directive."

But no mention that the behaviour has changed.

--

The reply I received points to a section of source code in the Apache 2
SAPI driver -
http://cvs.php.net/php-src/sapi/apache2handler/sapi_apache2.c - , which
contains the note:

 /* We use APLOG_STARTUP because it keeps us from printing the
  * data and time information at the beginning of the error log
  * line.  Not sure if this is correct, but it mirrors what happens
  * with Apache 1.3 -- rbb
  */


Personally having the date of the error is extremely useful, and I see no
reason not to want this in the error log. It is often useful for debugging
to know when an error occured.


-- 
Edit bug report at http://bugs.php.net/?id=32587&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32587&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32587&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32587&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32587&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32587&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32587&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32587&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32587&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32587&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32587&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32587&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32587&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32587&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32587&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32587&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32587&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32587&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32587&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32587&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32587&r=mysqlcfg


#32588 [NEW]: strtotime() error for 'last xxx' DST problem

2005-04-05 Thread alan at ridersite dot org
From: alan at ridersite dot org
Operating system: Linux
PHP version:  4.3.10
PHP Bug Type: Date/time related
Bug description:  strtotime() error for 'last xxx' DST problem

Description:

strtotime() in error when DST is bridged.

Code illustrates bug

Reproduce code:
---
echo date('D Y/m/d/H:i:s', time()). "";

echo date('D Y/m/d/H:i:s', strtotime('last saturday')). "";
echo date('D Y/m/d/H:i:s', strtotime("last sunday")). "";
echo date('D Y/m/d/H:i:s', strtotime('last monday')). "";


Expected result:

Tue 2005/04/05/08:15:48

Sat 2005/04/02/00:00:00
Sun 2005/04/03/00:00:00
Mon 2005/04/04/00:00:00

Actual result:
--
Tue 2005/04/05/08:15:48

Fri 2005/04/01/23:00:00
Sat 2005/04/02/23:00:00
Mon 2005/04/04/00:00:00

-- 
Edit bug report at http://bugs.php.net/?id=32588&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32588&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32588&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32588&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32588&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32588&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32588&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32588&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32588&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32588&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32588&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32588&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32588&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32588&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32588&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32588&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32588&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32588&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32588&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32588&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32588&r=mysqlcfg


#32588 [Opn->Asn]: strtotime() error for 'last xxx' DST problem

2005-04-05 Thread derick
 ID:   32588
 Updated by:   [EMAIL PROTECTED]
 Reported By:  alan at ridersite dot org
-Status:   Open
+Status:   Assigned
 Bug Type: Date/time related
 Operating System: Linux
 PHP Version:  4.3.10
-Assigned To:  
+Assigned To:  derick
 New Comment:

Might be a duplicate, but will check it out.


Previous Comments:


[2005-04-05 14:21:21] alan at ridersite dot org

Description:

strtotime() in error when DST is bridged.

Code illustrates bug

Reproduce code:
---
echo date('D Y/m/d/H:i:s', time()). "";

echo date('D Y/m/d/H:i:s', strtotime('last saturday')). "";
echo date('D Y/m/d/H:i:s', strtotime("last sunday")). "";
echo date('D Y/m/d/H:i:s', strtotime('last monday')). "";


Expected result:

Tue 2005/04/05/08:15:48

Sat 2005/04/02/00:00:00
Sun 2005/04/03/00:00:00
Mon 2005/04/04/00:00:00

Actual result:
--
Tue 2005/04/05/08:15:48

Fri 2005/04/01/23:00:00
Sat 2005/04/02/23:00:00
Mon 2005/04/04/00:00:00





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


#23131 [Com]: If fsockopen can't open connection, if(!fp) doesn't run

2005-04-05 Thread birkholz at web dot de
 ID:   23131
 Comment by:   birkholz at web dot de
 Reported By:  kangstarr at hotmail dot com
 Status:   No Feedback
 Bug Type: Sockets related
 Operating System: Windows XP
 PHP Version:  4.3.1
 New Comment:

On my windows-system with apache 2.0.53 and php 4.3.11 a call to
fsockopen with the timeout-parameter seems to change the
maximum-execution-time out the complete script to the timeout-value
passed to fsockopen.
I the connection-try failes because of a timeout, php raises a fatal
error "Fatal error: Maximum execution time of 10 seconds exceeded in
test.php on line xxx" and terminates the script-execution.

It should not terminate the script but return FASLE after 10 seconds
and than should fill the passed $errstr-var with "Connection timeout"
or something like that and the $errno-var with the corresponding
error-number.

On this code:



it should return:
SNIP-->
Error: "Connection timeout" [123] occured.
After the fsockopen()
<--SNIP

but returns
SNIP-->
Warning: fsockopen(): unable to connect to localhost:12345 in
D:\htdocs\test.php on line 5

Fatal error: Maximum execution time of 10 seconds exceeded in
D:\htdocs\test.php on line 5
<--SNIP

The general error-handling of the fsockopen()-function should fixed to
fill the passed $errno and $errstr variables instead of raising
warnings.

Greets,
Dennis


Previous Comments:


[2003-04-21 09:22:09] [EMAIL PROTECTED]

No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.





[2003-04-09 10:06:51] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

Probably already fixed; please try a snapshot



[2003-04-09 09:24:19] kangstarr at hotmail dot com

Ok, I forgot to note that I'm calling the php from another php.

index.php includes scastxml.php

scastxml.php is where the script is located.

When I go directly to scastxml.php the script works fine.  When I goto
index.php which includes the scastxml.php, the script only works if I
set the fsockopen timeout to 5 or less.  Can someone explain to me why
this happens??



[2003-04-09 09:01:42] kangstarr at hotmail dot com

$fp = fsockopen("kang.kicks-ass.net", "8000", &$errno, &$errstr, 20);
//open connection
if(!$fp) {
   echo "No Connection";
   $success=2;  //set if no connection
}

Basically I'm checking to see if my SHOUTcast server is running.  If
the shoutcast server is not running, and it tries to open the
connection I get these html warnings.

Warning: fsockopen() [function.fsockopen]: php_hostconnect: connect
failed in e:\inetpub\wwwroot\scast\scastxml.php on line 37

Warning: fsockopen() [function.fsockopen]: unable to connect to
kang.kicks-ass.net:8000 in e:\inetpub\wwwroot\scast\scastxml.php on
line 37

Fatal error: Maximum execution time of 30 seconds exceeded in
e:\inetpub\wwwroot\scast\scastxml.php on line 37

I'm running WinXP, Apache 1.3, PHP 4.3.1




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


#31736 [Opn->Csd]: E_PARSE on include() and include_once() stops execution

2005-04-05 Thread vrana
 ID:   31736
 Updated by:   [EMAIL PROTECTED]
 Reported By:  jakent at gmail dot com
-Status:   Open
+Status:   Closed
 Bug Type: Feature/Change Request
 Operating System: Any
 PHP Version:  5.0.3
 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.

include:
"Be warned that parse error in required file doesn't cause processing
halting in PHP versions prior to PHP 4.3.5. Since this version, it
does."


Previous Comments:


[2005-01-28 08:26:17] jakent at gmail dot com

Description:

It appears that bug #26814 caused a minor change in how include,
include_once, require, and require_once function.

In spirit of how include works versus require, I would like to see
execution continue on include and include_once E_PARSE errors.

It makes sense for require and require_once to stop script execution,
since failure causes a fatal error, while include and include_once only
issue a warning.

If nothing happens with this, the documentation needs to be changed.
"Be warned that parse error in required file doesn't cause processing
halting." is still present.

It would help a lot if include reflects the documented behavior once
again.

Jeff Kent

Reproduce code:
---
(file 1) test.php


(file 2) e_parse.php



Expected result:

Test1
Test2


Actual result:
--
Test1






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


#32589 [NEW]: imap_mail_compose doesn´t work properly

2005-04-05 Thread svoboda at svoon dot net
From: svoboda at svoon dot net
Operating system: debian
PHP version:  4.3.11
PHP Bug Type: IMAP related
Bug description:  imap_mail_compose doesn´t work properly

Description:

when use charset field in part array, fction exit with segmentation fault.

Reproduce code:
---
$m_envelope["To"] = "[EMAIL PROTECTED]";
$m_part1["type"] = TYPEMULTIPART;
$m_part1["subtype"] = "mixed";
$m_part2["type"] = TYPETEXT;
$m_part2["subtype"] = "plain";
$m_part2["description"] = "text_message";

$m_part2["charset"] = "ISO-8859-2";

$m_part2["contents.data"] = "hello";
$m_body[1] = $m_part1;
$m_body[2] = $m_part2;
echo nl2br(imap_mail_compose($m_envelope, $m_body));



-- 
Edit bug report at http://bugs.php.net/?id=32589&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32589&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32589&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32589&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32589&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32589&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32589&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32589&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32589&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32589&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32589&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32589&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32589&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32589&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32589&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32589&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32589&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32589&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32589&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32589&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32589&r=mysqlcfg


#29779 [Com]: ORA-24327

2005-04-05 Thread cameron at woods-clan dot com
 ID:   29779
 Comment by:   cameron at woods-clan dot com
 Reported By:  robertg2 at hope dot ac dot uk
 Status:   Suspended
 Bug Type: OCI8 related
 Operating System: Solaris 8
 PHP Version:  5.0.1
 Assigned To:  tony2001
 New Comment:

I am experiencing the same issue using IPL 6.1, php 5.0.3 and Oracle
9.2.0.6 64-bit, we are running on Solaris 8.  I need to find a better
solution than restarting the server or as it has been indicated
uncommenting ociping() from the oci8.c and recompiling since there are
indications that this will degrade performance.


Previous Comments:


[2005-03-07 18:12:19] rcarvalho at queirozgalvao dot com

I have the same error with PHP under Windows 2003/IIS accessing Oracle
8.1.7 with 8.1.7 client.
I have tried every thing that was sugested in this paper, but the error
remains.



[2005-02-03 10:49:49] olaf dot imig at bifab dot de

Getting a very similar problem after PHP-Upgrading with following
system:
Solaris 8 32 bit Oracle 8.1.7.0.0 and Apache 2.0.52 PHP 5.0.3

After shutdown and startup database first I got ORA-03113 (end-of-file
on communication channel) and then ORA-24327 (need explicit attach
before authenticating a user). With the same system and PHP 4.3.10 I
have no problems, because of that I think, it is too simple to say and
not helpful, thats an Oracle-Problem.



[2005-02-01 11:48:06] rickyblankenaufulland at leonardo dot de

Expiring the same problem on Linux (Fedora 2, Kernel 2.6.5). Restarting
Apache with option graceful is okay in an internal environment but
fixing this error would be very nice too ;-)



[2004-11-22 15:00:06] robertg2 at hope dot ac dot uk

I ended up using the oracle extension rather than the oci8 extension. 
Have had no problems since.



[2004-11-22 14:44:29] stasamj at kscems dot ksc dot nasa dot gov

Getting a very similar problem with database on Solaris 8 64-bit Oracle
8.1.7.3.0 using Oracle 9.2.0.5 listener, PHP server 4.3.7 on RedHat
Linux (2.4)/Apache 1.3.  Following weekly cold backup, PHP keeps trying
to use cached persistent connections, giving ORA-24327 and/or ORA-03113
(end-of-file on communication channel).  Can trap the error, but can't
figure out how to flush the dead connections from the connection cache!
 Hate to cron an Apache restart daily...



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

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


#32278 [NoF->Opn]: Remote linked server not accessibile

2005-04-05 Thread raulionescu at gmail dot com
 ID:   32278
 User updated by:  raulionescu at gmail dot com
 Reported By:  raulionescu at gmail dot com
-Status:   No Feedback
+Status:   Open
 Bug Type: MSSQL related
 Operating System: WinXP Pro
 PHP Version:  5.0.3
 New Comment:

I've tried with PHP 5.0.4 and the problem it's the same


Previous Comments:


[2005-03-14 08:34:33] raulionescu at gmail dot com

OK, but I need also the complete PECL package and I don't think it's
gonna work by overiding only PHP's mssql files.
Am I right?



[2005-03-12 14:43:54] [EMAIL PROTECTED]

Please try using this CVS snapshot:

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





[2005-03-11 15:24:45] raulionescu at gmail dot com

Description:

I have created a stored procedure wich is accessing an remote linked
MSSQL 2000 server and works perfectly from Querry Analyzer. The problem
occurs when I try to execute the stored procedure from php (by using
mssql_bind or mssql_query); I've got no error but no result either. It
seems that php doesn't allows to access remote linked servers!






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


#32589 [Opn->Csd]: imap_mail_compose doesn´t work properly

2005-04-05 Thread iliaa
 ID:   32589
 Updated by:   [EMAIL PROTECTED]
 Reported By:  svoboda at svoon dot net
-Status:   Open
+Status:   Closed
 Bug Type: IMAP related
 Operating System: debian
 PHP Version:  4.3.11
 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:


[2005-04-05 14:59:05] svoboda at svoon dot net

Description:

when use charset field in part array, fction exit with segmentation
fault.

Reproduce code:
---
$m_envelope["To"] = "[EMAIL PROTECTED]";
$m_part1["type"] = TYPEMULTIPART;
$m_part1["subtype"] = "mixed";
$m_part2["type"] = TYPETEXT;
$m_part2["subtype"] = "plain";
$m_part2["description"] = "text_message";

$m_part2["charset"] = "ISO-8859-2";

$m_part2["contents.data"] = "hello";
$m_body[1] = $m_part1;
$m_body[2] = $m_part2;
echo nl2br(imap_mail_compose($m_envelope, $m_body));







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


#31038 [Asn->Bgs]: Segmentation fault on ocilogon

2005-04-05 Thread tony2001
 ID:   31038
 Updated by:   [EMAIL PROTECTED]
 Reported By:  damien dot harper at keops dot net
-Status:   Assigned
+Status:   Bogus
 Bug Type: OCI8 related
 Operating System: Red Hat 8
 PHP Version:  4.3.10RC2
 Assigned To:  tony2001
 New Comment:

>It can't be the right solution, cause apache can run under apache.
Right and to do that you need to set all those environment vars, that
was set for oracle user.


Previous Comments:


[2005-02-17 15:12:24] mp at ecetra dot com

It can't be the right solution, cause apache can run under apache,
httpd, whatever user and use php oci libs. have you compiled/recompiled
your apache and/or php? i ask because i encounter the same problem if
the oracle libs used for compilations process differ from those in
runtime environment (it can be, but must not)

cheers,
-michael



[2004-12-15 12:01:20] damien dot harper at keops dot net

Well, I found what was wrong !
I must run apache with user oracle and group oinstall (oracle has been
installed with oracle user in oinstall group)

Now everything is OK, thanks for your replies ;-)



[2004-12-15 03:59:49] [EMAIL PROTECTED]

I bet it's still the same issue as always: missing environment variable
definitions for webserver. (as it works fine with CLI..)




[2004-12-14 22:00:40] [EMAIL PROTECTED]

Give me some time for testing.
ATM I can tell only that Apache2 is not recommended for production
environment and this will not be changed in the nearest future. At
least, you should use prefork if you have to stick with Apache2.



[2004-12-14 19:52:14] damien dot harper at keops dot net

I'd prefer to stick with 4.x.x branch for compatibility.
It will be used on a production server and we can't loose time to check
that everything is OK with PHP 5.x now.

Nobody has any idea how to solve this trouble ?



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

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


#32564 [Com]: unset session in foreach

2005-04-05 Thread derek dot ethier at humber dot ca
 ID:   32564
 Comment by:   derek dot ethier at humber dot ca
 Reported By:  echenavaz at mengine dot fr
 Status:   Feedback
 Bug Type: Session related
 Operating System: debian 2.6.9
 PHP Version:  5.0.4
 New Comment:

More information:
This "problem" does not exist with 5.0.2 on Windows 2003 (IIS6).

duh at dowebwedo dot com's method does work within the execution of
that one script, but the unset variables are not persistent.  The
$_SESSION variables are restored on each subsequent page load even
after they have been unset which leads to problems with session
fixation and the inability to clean-up session values that are no
longer needed.


Previous Comments:


[2005-04-04 18:56:56] derek dot ethier at humber dot ca

I can confirm this problem with Windows Server 2003, PHP 5.0.4.  Sample
code:

 $session_variable) {
if (strstr($session_key, $session_name)) {
// Neither of these work as intended.
unset($GLOBALS[_SESSION][$session_key]);
unset($_SESSION[$session_key]);
}
}
}

unsetSessionVariables("session_name");
?>

I have verified that the same problem exists in the latest 5.1 snap
(php5-win32-200504041430) on the same platform.



[2005-04-04 12:43:10] duh at dowebwedo dot com

I did not experience any problems with Apache/1.3.29 (Unix) PHP/5.0.4
on Debian stable.
Code:
 $session)
unset($_SESSION[$key_session]);

  print_r($_SESSION);
?>

Result is as expected:
Array ( [DF_debug] => 1 [one] => 1 [two] => 2 [three] => 3 ) Array ( )



[2005-04-04 10:23:51] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.





[2005-04-04 10:17:18] echenavaz at mengine dot fr

Description:

work fine whith 5.0.0
do not work whith 5.0.4

(whith zlib.output_compression = On)

Reproduce code:
---
foreach($_SESSION as $key_session => $session)
{
if(substr($key_session, 0, 17) == "session_pm_search")
{
unset($_SESSION[$key_session]);
}
}
$forward_url =
"https://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
header("location:$forward_url");
die();



Expected result:

$_SESSION['session_pm_searchX'] are unset

Actual result:
--
$_SESSION['session_pm_searchX'] are not unset





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


#32590 [NEW]: 'crypt' function not available

2005-04-05 Thread webtech at get-telecom dot fr
From: webtech at get-telecom dot fr
Operating system: RedHat Entreprise 3
PHP version:  4.3.11
PHP Bug Type: Unknown/Other Function
Bug description:  'crypt' function not available

Description:

Hi,

I've just compiled PHP 4.3.11 (with a "make install-sapi") and there's no
more crypt function.
So I decided to install back PHP 4.3.10 where crypt function is available,
and it works.
Is it possible to use 'crypt' function with PHP 4.3.11 ?

Reproduce code:
---
$str=crypt("zzz");

Expected result:

No error.

Actual result:
--
Fatal error: Call to undefined function crypt() in ...

-- 
Edit bug report at http://bugs.php.net/?id=32590&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32590&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32590&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32590&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32590&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32590&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32590&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32590&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32590&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32590&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32590&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32590&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32590&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32590&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32590&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32590&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32590&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32590&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32590&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32590&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32590&r=mysqlcfg


#32590 [Opn->Fbk]: 'crypt' function not available

2005-04-05 Thread tony2001
 ID:   32590
 Updated by:   [EMAIL PROTECTED]
 Reported By:  webtech at get-telecom dot fr
-Status:   Open
+Status:   Feedback
 Bug Type: Unknown/Other Function
 Operating System: RedHat Entreprise 3
 PHP Version:  4.3.11
 New Comment:

What does `./configure | grep "\"` say?


Previous Comments:


[2005-04-05 17:42:59] webtech at get-telecom dot fr

Description:

Hi,

I've just compiled PHP 4.3.11 (with a "make install-sapi") and there's
no more crypt function.
So I decided to install back PHP 4.3.10 where crypt function is
available, and it works.
Is it possible to use 'crypt' function with PHP 4.3.11 ?

Reproduce code:
---
$str=crypt("zzz");

Expected result:

No error.

Actual result:
--
Fatal error: Call to undefined function crypt() in ...





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


#31363 [Opn]: Non-blocking flock() broken

2005-04-05 Thread ian at snork dot net
 ID:   31363
 User updated by:  ian at snork dot net
 Reported By:  ian at snork dot net
 Status:   Open
 Bug Type: Filesystem function related
 Operating System: Debian woody (i386)
 PHP Version:  5CVS-2005-03-09
 New Comment:

The cause looks to be two separate bugs; here's a patch to 
fix both. 
 
*** php5-200504050030.orig/ext/standard/file.c  Sun Mar 27 
16:30:05 2005 
--- php5-200504050030/ext/standard/file.c   Tue Apr  5 
15:26:08 2005 
*** 
*** 339,351  
   
/* flock_values contains all possible actions if 
(operation & 4) we won't block on the lock */ 
act = flock_values[act - 1] | (operation & 4 ? 
LOCK_NB : 0); 
!   if (!php_stream_lock(stream, act)) { 
if (operation && errno == EWOULDBLOCK && 
arg3 && PZVAL_IS_REF(arg3)) { 
Z_LVAL_P(arg3) = 1; 
} 
!   RETURN_TRUE; 
} 
!   RETURN_FALSE; 
  } 
   
  /* }}} */ 
--- 339,351  
   
/* flock_values contains all possible actions if 
(operation & 4) we won't block on the lock */ 
act = flock_values[act - 1] | (operation & 4 ? 
LOCK_NB : 0); 
!   if (php_stream_lock(stream, act)) { 
if (operation && errno == EWOULDBLOCK && 
arg3 && PZVAL_IS_REF(arg3)) { 
Z_LVAL_P(arg3) = 1; 
} 
!   RETURN_FALSE; 
} 
!   RETURN_TRUE; 
  } 
   
  /* }}} */ 
*** php5-200504050030.orig/main/streams/plain_wrapper.c 
Thu Oct 28 06:35:19 2004 
--- php5-200504050030/main/streams/plain_wrapper.c  
Tue Apr  5 15:45:51 2005 
*** 
*** 578,584  
return 0; 
} 
   
!   if (!flock(fd, value) || (errno == 
EWOULDBLOCK && value & LOCK_NB)) { 
data->lock_flag = value; 
return 0; 
} else { 
--- 578,584  
return 0; 
} 
   
!   if (!flock(fd, value)) { 
data->lock_flag = value; 
return 0; 
} else {


Previous Comments:


[2005-04-05 01:55:32] maurice at gitaar dot net

I had the same problem. It seems that errno is not reset to zero in the
flock implementation. Therefore the last errno will be used. In case no
other errno-modifying call is made before retrying the flock() call,
the call will conclude in an EWOULDBLOCK situation (my conclusion after
a very quick scan of the code).

Looking with truss on Solaris to the process shows that the first fcntl
call (during which I have already locked the file) returns an EAGAIN
error, meaning that the file was already locked. The second fnctl call
(on the now unlocked file) does not return an error. So the call is
successfull. But the call from the php code does set the $wouldblock
parameter to a true value.

For me a workaround for now is something like this (no error checking
on flock and a bit of pseudo-coded, but the workaround is the important
part):

for (;;)
{
flock($fd, LOCK_EX|LOCK_NB, $wouldblock);
if (! $wouldblock) break;
fopen("/this/is/no/real/file", "r");
}

The fopen() call sets errno to the file not found error, which makes
the flock() call act like the first time it is called. This is not
great coding, but it does work for me till a real fix is implemented in
PHP.



[2005-04-01 14:42:19] maka3d at yahoo dot com dot br

I expected it to be fixed until 5.0.4.
On freeBSD it doesn't work too :(



[2005-03-09 17:29:56] ian at snork dot net

flock() in today's PHP CVS snapshot
(http://snaps.php.net/php5-latest.tar.bz2) behaves slightly
differently, but still doesn't quite work correctly in non-blocking
mode.

Expected result:
--
$ php5 flock_test.php &  
Got /tmp/test1   
$ php5 flock_test.php &  
Got /tmp/test2   
$ php5 flock_test.php &  
Got /tmp/test3   
$ php5 flock_test.php &  
$
Releasing /tmp/test1
Got /tmp/test1
Releasing /tmp/test2
Releasing /tmp/test3


Actual result:
--
$ php5 flock_test.php &  
Got /tmp/test1   
$ php5 flock_test.php &  
Got /tmp/test2   
$ php5 flock_test.php &  
Got /tmp/test3   
$ php5 flock_test.php &  
$
Releasing /tmp/test1
Releasing /tmp/test2
Releasing /tmp/test3



[2005-02-28 21:06:39] [EMAIL PROTECTED]

Please try using this CVS snapshot:

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





[2004-12-31 06:41:56] ian at snork dot net

Description:

#31222 [Asn->Fbk]: ocicommit not working

2005-04-05 Thread tony2001
 ID:   31222
 Updated by:   [EMAIL PROTECTED]
 Reported By:  amonw at hotmail dot com
-Status:   Assigned
+Status:   Feedback
 Bug Type: OCI8 related
 Operating System: *
 PHP Version:  4CVS-2005-04-04
 Assigned To:  tony2001
 New Comment:

Works just perfectly for all of oci8 users except you.
Try to simplify the code and to look for the problem there.


Previous Comments:


[2005-04-05 01:25:39] [EMAIL PROTECTED]

Back to Antony




[2005-04-04 09:27:40] amonw at hotmail dot com

I tried the http://snaps.php.net/php4-STABLE-latest.tar.gz,which
extracted to be php4-STABLE-200504040230,but the code produced the same
result.



[2005-03-30 23:06:56] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip





[2004-12-24 03:08:50] amonw at hotmail dot com

Thank you for your help.
But can you explain why the 4 methods I listed in the first comment can
change the result? 
And why can't I add "ocilogoff($c)" before the second ocilogon to
change the result?



[2004-12-23 18:16:12] [EMAIL PROTECTED]

You need to use ocinlogon() in this case, because you have 2 similar
connections (which are indeed ONE connection) messing around. One of
these connections still needs commit and gets  rollback'ed at the end
of the script execution and one of them doesn't. So, this is quite
expected.

There is another problem: this issue doesn't exist in PHP5
ocilogon()/oci_connect() because behaves similar to
ocinlogon()/oci_new_connect() and returns exclusive connection
descriptor. 
This is not the intended behaviour and I'll investigate who and why
changed it.



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

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


#32591 [NEW]: Unsatisfied symbols: ntohs

2005-04-05 Thread admin at iut-info dot ens dot univ-reims dot fr
From: admin at iut-info dot ens dot univ-reims dot fr
Operating system: HP-UX
PHP version:  5.0.4
PHP Bug Type: Compile Failure
Bug description:  Unsatisfied symbols:   ntohs

Description:

When compiling PHP-5.0.4 under HP-UX 11.11 i got a link error.

/usr/ccs/bin/ld: Unsatisfied symbols:
   ntohs (first referenced in ext/mysql/php_mysql.o) (code)

Using "-D_XOPEN_SOURCE_EXTENDED" ntohs is not defined in "netinet/in.h"
but in "arpa/inet.h".

Modifiying php_mysql.c to include it (as php_network.c) solve the
problem.

Here is the patch:
--- ext/mysql/php_mysql.c.old   2005-02-22 16:32:38 +0100
+++ ext/mysql/php_mysql.c   2005-04-05 17:50:45 +0200
@@ -52,6 +52,9 @@
 # endif
 # include 
 # include 
+#if HAVE_ARPA_INET_H
+#include 
+#endif
 #endif
 
 #include 


P.S. : i have also try with php5-STABLE-200504050630.

Reproduce code:
---
./configure \
--prefix=/opt/APACHE/php\
--without-sqlite\
--with-oci8 \
--with-apache=../apache_1.3.33  \
--with-gd   \
--with-jpeg-dir=/usr/local  \
--with-png-dir=/usr/local   \
--with-tiff-dir=/usr/local  \
--with-freetype-dir=/usr/local  \
--with-zlib \
--with-bz2  \
--enable-sigchild   \
--with-mysql=/opt/mysql \
--with-mysqli=/opt/mysql/bin/mysql_config   \
--with-pgsql=/opt/pgsql \
--with-tsrm-pthreads\
--with-dom  \
--with-libxml   \
--with-xsl  \
--enable-ftp\
--with-snmp=/usr/local  \
--with-imap=/usr/local/imap \
--with-imap-ssl=/usr/local  \
--with-openssl=/usr/local   \
--with-ldap=/usr/local  \
--enable-mbstring   \
--enable-sockets


Expected result:

make failed.

Actual result:
--
build succes.

-- 
Edit bug report at http://bugs.php.net/?id=32591&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32591&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32591&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32591&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32591&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32591&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32591&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32591&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32591&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32591&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32591&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32591&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32591&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32591&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32591&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32591&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32591&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32591&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32591&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32591&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32591&r=mysqlcfg


#31363 [Opn->Fbk]: Non-blocking flock() broken

2005-04-05 Thread tony2001
 ID:   31363
 Updated by:   [EMAIL PROTECTED]
 Reported By:  ian at snork dot net
-Status:   Open
+Status:   Feedback
 Bug Type: Filesystem function related
 Operating System: Debian woody (i386)
 PHP Version:  5CVS-2005-03-09
 New Comment:

Please, generate diffs with `diff -upd` and put them somewhere in the
Net.
Thanks you.


Previous Comments:


[2005-04-05 17:53:57] ian at snork dot net

The cause looks to be two separate bugs; here's a patch to 
fix both. 
 
*** php5-200504050030.orig/ext/standard/file.c  Sun Mar 27 
16:30:05 2005 
--- php5-200504050030/ext/standard/file.c   Tue Apr  5 
15:26:08 2005 
*** 
*** 339,351  
   
/* flock_values contains all possible actions if 
(operation & 4) we won't block on the lock */ 
act = flock_values[act - 1] | (operation & 4 ? 
LOCK_NB : 0); 
!   if (!php_stream_lock(stream, act)) { 
if (operation && errno == EWOULDBLOCK && 
arg3 && PZVAL_IS_REF(arg3)) { 
Z_LVAL_P(arg3) = 1; 
} 
!   RETURN_TRUE; 
} 
!   RETURN_FALSE; 
  } 
   
  /* }}} */ 
--- 339,351  
   
/* flock_values contains all possible actions if 
(operation & 4) we won't block on the lock */ 
act = flock_values[act - 1] | (operation & 4 ? 
LOCK_NB : 0); 
!   if (php_stream_lock(stream, act)) { 
if (operation && errno == EWOULDBLOCK && 
arg3 && PZVAL_IS_REF(arg3)) { 
Z_LVAL_P(arg3) = 1; 
} 
!   RETURN_FALSE; 
} 
!   RETURN_TRUE; 
  } 
   
  /* }}} */ 
*** php5-200504050030.orig/main/streams/plain_wrapper.c 
Thu Oct 28 06:35:19 2004 
--- php5-200504050030/main/streams/plain_wrapper.c  
Tue Apr  5 15:45:51 2005 
*** 
*** 578,584  
return 0; 
} 
   
!   if (!flock(fd, value) || (errno == 
EWOULDBLOCK && value & LOCK_NB)) { 
data->lock_flag = value; 
return 0; 
} else { 
--- 578,584  
return 0; 
} 
   
!   if (!flock(fd, value)) { 
data->lock_flag = value; 
return 0; 
} else {



[2005-04-05 01:55:32] maurice at gitaar dot net

I had the same problem. It seems that errno is not reset to zero in the
flock implementation. Therefore the last errno will be used. In case no
other errno-modifying call is made before retrying the flock() call,
the call will conclude in an EWOULDBLOCK situation (my conclusion after
a very quick scan of the code).

Looking with truss on Solaris to the process shows that the first fcntl
call (during which I have already locked the file) returns an EAGAIN
error, meaning that the file was already locked. The second fnctl call
(on the now unlocked file) does not return an error. So the call is
successfull. But the call from the php code does set the $wouldblock
parameter to a true value.

For me a workaround for now is something like this (no error checking
on flock and a bit of pseudo-coded, but the workaround is the important
part):

for (;;)
{
flock($fd, LOCK_EX|LOCK_NB, $wouldblock);
if (! $wouldblock) break;
fopen("/this/is/no/real/file", "r");
}

The fopen() call sets errno to the file not found error, which makes
the flock() call act like the first time it is called. This is not
great coding, but it does work for me till a real fix is implemented in
PHP.



[2005-04-01 14:42:19] maka3d at yahoo dot com dot br

I expected it to be fixed until 5.0.4.
On freeBSD it doesn't work too :(



[2005-03-09 17:29:56] ian at snork dot net

flock() in today's PHP CVS snapshot
(http://snaps.php.net/php5-latest.tar.bz2) behaves slightly
differently, but still doesn't quite work correctly in non-blocking
mode.

Expected result:
--
$ php5 flock_test.php &  
Got /tmp/test1   
$ php5 flock_test.php &  
Got /tmp/test2   
$ php5 flock_test.php &  
Got /tmp/test3   
$ php5 flock_test.php &  
$
Releasing /tmp/test1
Got /tmp/test1
Releasing /tmp/test2
Releasing /tmp/test3


Actual result:
--
$ php5 flock_test.php &  
Got /tmp/test1   
$ php5 flock_test.php &  
Got /tmp/test2   
$ php5 flock_test.php &  
Got /tmp/test3   
$ php5 flock_test.php &  
$
Releasing /tmp/test1
Releasing /tmp/test2
Releasing /tmp/test3



[2005-02-28 21:06:39] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snap

#31363 [Fbk->Opn]: Non-blocking flock() broken

2005-04-05 Thread ian at snork dot net
 ID:   31363
 User updated by:  ian at snork dot net
 Reported By:  ian at snork dot net
-Status:   Feedback
+Status:   Open
 Bug Type: Filesystem function related
 Operating System: Debian woody (i386)
 PHP Version:  5CVS-2005-03-09
 New Comment:

Aw, shucks. It's been word-wrapped. 
 
Oh well -- send mail if you need an unmolested copy of the 
patch. :)


Previous Comments:


[2005-04-05 17:57:55] [EMAIL PROTECTED]

Please, generate diffs with `diff -upd` and put them somewhere in the
Net.
Thanks you.



[2005-04-05 17:53:57] ian at snork dot net

The cause looks to be two separate bugs; here's a patch to 
fix both. 
 
*** php5-200504050030.orig/ext/standard/file.c  Sun Mar 27 
16:30:05 2005 
--- php5-200504050030/ext/standard/file.c   Tue Apr  5 
15:26:08 2005 
*** 
*** 339,351  
   
/* flock_values contains all possible actions if 
(operation & 4) we won't block on the lock */ 
act = flock_values[act - 1] | (operation & 4 ? 
LOCK_NB : 0); 
!   if (!php_stream_lock(stream, act)) { 
if (operation && errno == EWOULDBLOCK && 
arg3 && PZVAL_IS_REF(arg3)) { 
Z_LVAL_P(arg3) = 1; 
} 
!   RETURN_TRUE; 
} 
!   RETURN_FALSE; 
  } 
   
  /* }}} */ 
--- 339,351  
   
/* flock_values contains all possible actions if 
(operation & 4) we won't block on the lock */ 
act = flock_values[act - 1] | (operation & 4 ? 
LOCK_NB : 0); 
!   if (php_stream_lock(stream, act)) { 
if (operation && errno == EWOULDBLOCK && 
arg3 && PZVAL_IS_REF(arg3)) { 
Z_LVAL_P(arg3) = 1; 
} 
!   RETURN_FALSE; 
} 
!   RETURN_TRUE; 
  } 
   
  /* }}} */ 
*** php5-200504050030.orig/main/streams/plain_wrapper.c 
Thu Oct 28 06:35:19 2004 
--- php5-200504050030/main/streams/plain_wrapper.c  
Tue Apr  5 15:45:51 2005 
*** 
*** 578,584  
return 0; 
} 
   
!   if (!flock(fd, value) || (errno == 
EWOULDBLOCK && value & LOCK_NB)) { 
data->lock_flag = value; 
return 0; 
} else { 
--- 578,584  
return 0; 
} 
   
!   if (!flock(fd, value)) { 
data->lock_flag = value; 
return 0; 
} else {



[2005-04-05 01:55:32] maurice at gitaar dot net

I had the same problem. It seems that errno is not reset to zero in the
flock implementation. Therefore the last errno will be used. In case no
other errno-modifying call is made before retrying the flock() call,
the call will conclude in an EWOULDBLOCK situation (my conclusion after
a very quick scan of the code).

Looking with truss on Solaris to the process shows that the first fcntl
call (during which I have already locked the file) returns an EAGAIN
error, meaning that the file was already locked. The second fnctl call
(on the now unlocked file) does not return an error. So the call is
successfull. But the call from the php code does set the $wouldblock
parameter to a true value.

For me a workaround for now is something like this (no error checking
on flock and a bit of pseudo-coded, but the workaround is the important
part):

for (;;)
{
flock($fd, LOCK_EX|LOCK_NB, $wouldblock);
if (! $wouldblock) break;
fopen("/this/is/no/real/file", "r");
}

The fopen() call sets errno to the file not found error, which makes
the flock() call act like the first time it is called. This is not
great coding, but it does work for me till a real fix is implemented in
PHP.



[2005-04-01 14:42:19] maka3d at yahoo dot com dot br

I expected it to be fixed until 5.0.4.
On freeBSD it doesn't work too :(



[2005-03-09 17:29:56] ian at snork dot net

flock() in today's PHP CVS snapshot
(http://snaps.php.net/php5-latest.tar.bz2) behaves slightly
differently, but still doesn't quite work correctly in non-blocking
mode.

Expected result:
--
$ php5 flock_test.php &  
Got /tmp/test1   
$ php5 flock_test.php &  
Got /tmp/test2   
$ php5 flock_test.php &  
Got /tmp/test3   
$ php5 flock_test.php &  
$
Releasing /tmp/test1
Got /tmp/test1
Releasing /tmp/test2
Releasing /tmp/test3


Actual result:
--
$ php5 flock_test.php &  
Got /tmp/test1   
$ php5 flock_test.php &  
Got /tmp/test2   
$ php5 flock_test.php &  
Got /tmp/test3   
$ php5 flock_test.php &  
$
R

#31363 [Opn->Fbk]: Non-blocking flock() broken

2005-04-05 Thread tony2001
 ID:   31363
 Updated by:   [EMAIL PROTECTED]
 Reported By:  ian at snork dot net
-Status:   Open
+Status:   Feedback
 Bug Type: Filesystem function related
 Operating System: Debian woody (i386)
 PHP Version:  5CVS-2005-03-09
 New Comment:

The URL to the patch would be much better.


Previous Comments:


[2005-04-05 17:59:11] ian at snork dot net

Aw, shucks. It's been word-wrapped. 
 
Oh well -- send mail if you need an unmolested copy of the 
patch. :)



[2005-04-05 17:57:55] [EMAIL PROTECTED]

Please, generate diffs with `diff -upd` and put them somewhere in the
Net.
Thanks you.



[2005-04-05 17:53:57] ian at snork dot net

The cause looks to be two separate bugs; here's a patch to 
fix both. 
 
*** php5-200504050030.orig/ext/standard/file.c  Sun Mar 27 
16:30:05 2005 
--- php5-200504050030/ext/standard/file.c   Tue Apr  5 
15:26:08 2005 
*** 
*** 339,351  
   
/* flock_values contains all possible actions if 
(operation & 4) we won't block on the lock */ 
act = flock_values[act - 1] | (operation & 4 ? 
LOCK_NB : 0); 
!   if (!php_stream_lock(stream, act)) { 
if (operation && errno == EWOULDBLOCK && 
arg3 && PZVAL_IS_REF(arg3)) { 
Z_LVAL_P(arg3) = 1; 
} 
!   RETURN_TRUE; 
} 
!   RETURN_FALSE; 
  } 
   
  /* }}} */ 
--- 339,351  
   
/* flock_values contains all possible actions if 
(operation & 4) we won't block on the lock */ 
act = flock_values[act - 1] | (operation & 4 ? 
LOCK_NB : 0); 
!   if (php_stream_lock(stream, act)) { 
if (operation && errno == EWOULDBLOCK && 
arg3 && PZVAL_IS_REF(arg3)) { 
Z_LVAL_P(arg3) = 1; 
} 
!   RETURN_FALSE; 
} 
!   RETURN_TRUE; 
  } 
   
  /* }}} */ 
*** php5-200504050030.orig/main/streams/plain_wrapper.c 
Thu Oct 28 06:35:19 2004 
--- php5-200504050030/main/streams/plain_wrapper.c  
Tue Apr  5 15:45:51 2005 
*** 
*** 578,584  
return 0; 
} 
   
!   if (!flock(fd, value) || (errno == 
EWOULDBLOCK && value & LOCK_NB)) { 
data->lock_flag = value; 
return 0; 
} else { 
--- 578,584  
return 0; 
} 
   
!   if (!flock(fd, value)) { 
data->lock_flag = value; 
return 0; 
} else {



[2005-04-05 01:55:32] maurice at gitaar dot net

I had the same problem. It seems that errno is not reset to zero in the
flock implementation. Therefore the last errno will be used. In case no
other errno-modifying call is made before retrying the flock() call,
the call will conclude in an EWOULDBLOCK situation (my conclusion after
a very quick scan of the code).

Looking with truss on Solaris to the process shows that the first fcntl
call (during which I have already locked the file) returns an EAGAIN
error, meaning that the file was already locked. The second fnctl call
(on the now unlocked file) does not return an error. So the call is
successfull. But the call from the php code does set the $wouldblock
parameter to a true value.

For me a workaround for now is something like this (no error checking
on flock and a bit of pseudo-coded, but the workaround is the important
part):

for (;;)
{
flock($fd, LOCK_EX|LOCK_NB, $wouldblock);
if (! $wouldblock) break;
fopen("/this/is/no/real/file", "r");
}

The fopen() call sets errno to the file not found error, which makes
the flock() call act like the first time it is called. This is not
great coding, but it does work for me till a real fix is implemented in
PHP.



[2005-04-01 14:42:19] maka3d at yahoo dot com dot br

I expected it to be fixed until 5.0.4.
On freeBSD it doesn't work too :(



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

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


#32592 [NEW]: new sqlite version

2005-04-05 Thread jicrack at hotmail dot com
From: jicrack at hotmail dot com
Operating system: w2000
PHP version:  5.0.4
PHP Bug Type: *General Issues
Bug description:  new sqlite version

Description:

I just want to say that php5.0.3 has an old sqlite library. Actually
exists a Version 3.2.1 with a lot of changes.
Some of my friends are waiting for a new sqlite library.
This will be very useful for our developments.
When we'll enjoy a new sqlite library in php5?
Thanks


-- 
Edit bug report at http://bugs.php.net/?id=32592&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32592&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32592&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32592&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32592&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32592&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32592&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32592&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32592&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32592&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32592&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32592&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32592&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32592&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32592&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32592&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32592&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32592&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32592&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32592&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32592&r=mysqlcfg


#31363 [Fbk->Opn]: Non-blocking flock() broken

2005-04-05 Thread ian at snork dot net
 ID:   31363
 User updated by:  ian at snork dot net
 Reported By:  ian at snork dot net
-Status:   Feedback
+Status:   Open
 Bug Type: Filesystem function related
 Operating System: Debian woody (i386)
 PHP Version:  5CVS-2005-03-09
 New Comment:

My apologies -- I posted just before your message from 
bugs.php.net arrived. :) 
 
http://www.snork.net/flock.diff


Previous Comments:


[2005-04-05 18:01:34] [EMAIL PROTECTED]

The URL to the patch would be much better.



[2005-04-05 17:59:11] ian at snork dot net

Aw, shucks. It's been word-wrapped. 
 
Oh well -- send mail if you need an unmolested copy of the 
patch. :)



[2005-04-05 17:57:55] [EMAIL PROTECTED]

Please, generate diffs with `diff -upd` and put them somewhere in the
Net.
Thanks you.



[2005-04-05 17:53:57] ian at snork dot net

The cause looks to be two separate bugs; here's a patch to 
fix both. 
 
*** php5-200504050030.orig/ext/standard/file.c  Sun Mar 27 
16:30:05 2005 
--- php5-200504050030/ext/standard/file.c   Tue Apr  5 
15:26:08 2005 
*** 
*** 339,351  
   
/* flock_values contains all possible actions if 
(operation & 4) we won't block on the lock */ 
act = flock_values[act - 1] | (operation & 4 ? 
LOCK_NB : 0); 
!   if (!php_stream_lock(stream, act)) { 
if (operation && errno == EWOULDBLOCK && 
arg3 && PZVAL_IS_REF(arg3)) { 
Z_LVAL_P(arg3) = 1; 
} 
!   RETURN_TRUE; 
} 
!   RETURN_FALSE; 
  } 
   
  /* }}} */ 
--- 339,351  
   
/* flock_values contains all possible actions if 
(operation & 4) we won't block on the lock */ 
act = flock_values[act - 1] | (operation & 4 ? 
LOCK_NB : 0); 
!   if (php_stream_lock(stream, act)) { 
if (operation && errno == EWOULDBLOCK && 
arg3 && PZVAL_IS_REF(arg3)) { 
Z_LVAL_P(arg3) = 1; 
} 
!   RETURN_FALSE; 
} 
!   RETURN_TRUE; 
  } 
   
  /* }}} */ 
*** php5-200504050030.orig/main/streams/plain_wrapper.c 
Thu Oct 28 06:35:19 2004 
--- php5-200504050030/main/streams/plain_wrapper.c  
Tue Apr  5 15:45:51 2005 
*** 
*** 578,584  
return 0; 
} 
   
!   if (!flock(fd, value) || (errno == 
EWOULDBLOCK && value & LOCK_NB)) { 
data->lock_flag = value; 
return 0; 
} else { 
--- 578,584  
return 0; 
} 
   
!   if (!flock(fd, value)) { 
data->lock_flag = value; 
return 0; 
} else {



[2005-04-05 01:55:32] maurice at gitaar dot net

I had the same problem. It seems that errno is not reset to zero in the
flock implementation. Therefore the last errno will be used. In case no
other errno-modifying call is made before retrying the flock() call,
the call will conclude in an EWOULDBLOCK situation (my conclusion after
a very quick scan of the code).

Looking with truss on Solaris to the process shows that the first fcntl
call (during which I have already locked the file) returns an EAGAIN
error, meaning that the file was already locked. The second fnctl call
(on the now unlocked file) does not return an error. So the call is
successfull. But the call from the php code does set the $wouldblock
parameter to a true value.

For me a workaround for now is something like this (no error checking
on flock and a bit of pseudo-coded, but the workaround is the important
part):

for (;;)
{
flock($fd, LOCK_EX|LOCK_NB, $wouldblock);
if (! $wouldblock) break;
fopen("/this/is/no/real/file", "r");
}

The fopen() call sets errno to the file not found error, which makes
the flock() call act like the first time it is called. This is not
great coding, but it does work for me till a real fix is implemented in
PHP.



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

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


#32593 [NEW]: odbc with mysql SELECT with placeholders fails

2005-04-05 Thread jake at edge2 dot net
From: jake at edge2 dot net
Operating system: linux (fc3 and rh9)
PHP version:  4.3.10
PHP Bug Type: ODBC related
Bug description:  odbc with mysql SELECT with placeholders fails

Description:

If I use placeholders (?) in a SELECT statement using odbc_prepare() and
odbc_execute(), I get gibberish from the MySQL driver and it works
correctly using the PostgreSQL driver.

If I change the query to "WHERE id=1", it works fine.  UPDATES using
placeholders work fine for MySQL.

I am able to do the same queries in C using the same libraries for
unixODBC and MyODBC (and postgres-odbc) and get correct results.  This may
not be a PHP and/or PHP-odbc problem, but so far, it looks that way.

I get substantially the same results on an FC3 and a RH9 linux box with
the following versions:

FC3:  php-4.3.10-3.2, php-odbc-4.3.10-3.2, unixODBC-2.2.9-1,
MyODBC-2.50.39-19.1, mysql-3.23.58-14

RH9:  php-4.2.2-17, php-odbc-4.2.2-17, unixODBC-2.2.3-6,
MyODBC-2.50.39-11, mysql-3.23.54a-11


Reproduce code:
---
#!/usr/bin/php



Expected result:

I expect to get the firstname and lastname from the database.  The table
is an int id and varchar(20) for the names.

Actual result:
--
Some kind of junk:  "std n_u"

Postgres gives the correct result (firstname and lastname from the
database)

-- 
Edit bug report at http://bugs.php.net/?id=32593&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32593&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32593&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32593&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32593&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32593&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32593&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32593&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32593&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32593&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32593&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32593&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32593&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32593&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32593&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32593&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32593&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32593&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32593&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32593&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32593&r=mysqlcfg


#30096 [Com]: gmmktime does not return the corrent time

2005-04-05 Thread fabian-php at spline dot de
 ID:   30096
 Comment by:   fabian-php at spline dot de
 Reported By:  schmidt_florian at f-24 dot com
 Status:   Assigned
 Bug Type: Date/time related
 Operating System: Linux 2.6.7 (debian unstable)
 PHP Version:  4.3.8
 Assigned To:  derick
 New Comment:

I can reproduce this for debian testing (php 4.3.10) and for gentoo
(php 4.3.10).

The problem apears only the day when switching from dst to no dst. On
that day all input that is between 02:00:00-02:59:59 ist mapped to a
timestamp which is 3600 seconds later (03:00:00-03:50:59).


Here is my script to reproduce the behavoir:

 dst";
$ts=-1;
gm_date_check(01,00,00,03,27,2005);
gm_date_check(02,00,00,03,27,2005);
gm_date_check(03,00,00,03,27,2005);
gm_date_check(04,00,00,03,27,2005);
echo "";
echo "dst --> no dst";
$ts=-1;
gm_date_check(01,00,00,10,30,2005);
gm_date_check(02,00,00,10,30,2005);
gm_date_check(03,00,00,10,30,2005);
gm_date_check(04,00,00,10,30,2005);

function gm_date_check($hour,$minute,$second,$month,$day,$year) {
global $ts,$tsold;
echo "gmmktime($hour,$minute,$second,$month,$day,$year): " ;
$tsold = $ts;
$ts = gmmktime($hour,$minute,$second,$month,$day,$year,0) ;
echo $ts ." | gmdate('r',$ts):".gmdate('r',$ts);
if ($tsold>0) echo " | Diff: " . ($ts - $tsold);
echo "";
}

?>

==OUTPUT==
no dst --> dst
gmmktime(0,0,0,3,27,2005): 885200 | gmdate('r',885200):Sun, 27
Mar 2005 01:00:00 +
gmmktime(1,0,0,3,27,2005): 00 | gmdate('r',00):Sun, 27
Mar 2005 02:00:00 + | Diff: 3600
gmmktime(2,0,0,3,27,2005): 892400 | gmdate('r',892400):Sun, 27
Mar 2005 03:00:00 + | Diff: 3600
gmmktime(3,0,0,3,27,2005): 896000 | gmdate('r',896000):Sun, 27
Mar 2005 04:00:00 + | Diff: 3600
gmmktime(4,0,0,3,27,2005): 899600 | gmdate('r',899600):Sun, 27
Mar 2005 05:00:00 + | Diff: 3600

dst --> no dst
gmmktime(0,0,0,10,30,2005): 1130630400 | gmdate('r',1130630400):Sun, 30
Oct 2005 00:00:00 +
gmmktime(1,0,0,10,30,2005): 1130634000 | gmdate('r',1130634000):Sun, 30
Oct 2005 01:00:00 + | Diff: 3600
gmmktime(2,0,0,10,30,2005): 1130637600 | gmdate('r',1130637600):Sun, 30
Oct 2005 02:00:00 + | Diff: 3600
gmmktime(3,0,0,10,30,2005): 1130641200 | gmdate('r',1130641200):Sun, 30
Oct 2005 03:00:00 + | Diff: 3600
gmmktime(4,0,0,10,30,2005): 1130644800 | gmdate('r',1130644800):Sun, 30
Oct 2005 04:00:00 + | Diff: 3600


Previous Comments:


[2005-04-04 15:48:07] gottwald at quantum-hydrometrie dot de

This is still broken for 4.3.10. gmmktime() is correct when changing
from DST to non-DST, but incorrect when changing from non-DST to DST:

gmmktime(02, 00, 00, 10, 31, 2004): 1099188000
gmmktime(03, 00, 00, 10, 31, 2004): 1099191600
Diff: 3600, correct

gmmktime(02, 00, 00, 03, 27, 2005): 892400
gmmktime(03, 00, 00, 03, 27, 2005): 892400
Diff: 0, broken



[2004-09-16 08:23:23] [EMAIL PROTECTED]

Rasmus, I can reproduce it here. No clue why yet. I guess I have
something to do on the next plane ;-)



[2004-09-15 19:11:24] schmidt_florian at f-24 dot com

the timezone should!! be irrelevant thats the reason i use
gmmktime()... but it dont work?!



[2004-09-15 19:05:31] [EMAIL PROTECTED]

Looks ok on my Debian laptop:

php -r 'echo phpversion()."\n"; echo gmdate("H,i,s, m,d,Y",
gmmktime(02,00,01, 03,28,2004));'
4.3.9RC2-dev
02,00,01, 03,28,2004

Since we are dealing with GMT, your timezone should be irrelevant.



[2004-09-15 17:18:37] [EMAIL PROTECTED]

I'll have a look



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

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


#30096 [Com]: gmmktime does not return the corrent time

2005-04-05 Thread fabian-php at spline dot de
 ID:   30096
 Comment by:   fabian-php at spline dot de
 Reported By:  schmidt_florian at f-24 dot com
 Status:   Assigned
 Bug Type: Date/time related
 Operating System: Linux 2.6.7 (debian unstable)
 PHP Version:  4.3.8
 Assigned To:  derick
 New Comment:

Crap!
I posted a wrong version, where the dst parameter of the gmmktime call
was set to 0 (which shouldn't make a difference according to the
documenation by the way)
To get the output a was talking about one has to remove the 7th
parameter from the gmmktime call.

OUTPUT=
no dst --> dst
gmmktime(1,0,0,3,27,2005): 885200 | gmdate('r',885200):Sun, 27
Mar 2005 01:00:00 +
gmmktime(2,0,0,3,27,2005): 892400 | gmdate('r',892400):Sun, 27
Mar 2005 03:00:00 + | Diff: 7200
gmmktime(3,0,0,3,27,2005): 892400 | gmdate('r',892400):Sun, 27
Mar 2005 03:00:00 + | Diff: 0
gmmktime(4,0,0,3,27,2005): 896000 | gmdate('r',896000):Sun, 27
Mar 2005 04:00:00 + | Diff: 3600

dst --> no dst
gmmktime(1,0,0,10,30,2005): 1130634000 | gmdate('r',1130634000):Sun, 30
Oct 2005 01:00:00 +
gmmktime(2,0,0,10,30,2005): 1130637600 | gmdate('r',1130637600):Sun, 30
Oct 2005 02:00:00 + | Diff: 3600
gmmktime(3,0,0,10,30,2005): 1130641200 | gmdate('r',1130641200):Sun, 30
Oct 2005 03:00:00 + | Diff: 3600
gmmktime(4,0,0,10,30,2005): 1130644800 | gmdate('r',1130644800):Sun, 30
Oct 2005 04:00:00 + | Diff: 3600


Previous Comments:


[2005-04-05 18:46:47] fabian-php at spline dot de

I can reproduce this for debian testing (php 4.3.10) and for gentoo
(php 4.3.10).

The problem apears only the day when switching from dst to no dst. On
that day all input that is between 02:00:00-02:59:59 ist mapped to a
timestamp which is 3600 seconds later (03:00:00-03:50:59).


Here is my script to reproduce the behavoir:

 dst";
$ts=-1;
gm_date_check(01,00,00,03,27,2005);
gm_date_check(02,00,00,03,27,2005);
gm_date_check(03,00,00,03,27,2005);
gm_date_check(04,00,00,03,27,2005);
echo "";
echo "dst --> no dst";
$ts=-1;
gm_date_check(01,00,00,10,30,2005);
gm_date_check(02,00,00,10,30,2005);
gm_date_check(03,00,00,10,30,2005);
gm_date_check(04,00,00,10,30,2005);

function gm_date_check($hour,$minute,$second,$month,$day,$year) {
global $ts,$tsold;
echo "gmmktime($hour,$minute,$second,$month,$day,$year): " ;
$tsold = $ts;
$ts = gmmktime($hour,$minute,$second,$month,$day,$year,0) ;
echo $ts ." | gmdate('r',$ts):".gmdate('r',$ts);
if ($tsold>0) echo " | Diff: " . ($ts - $tsold);
echo "";
}

?>

==OUTPUT==
no dst --> dst
gmmktime(0,0,0,3,27,2005): 885200 | gmdate('r',885200):Sun, 27
Mar 2005 01:00:00 +
gmmktime(1,0,0,3,27,2005): 00 | gmdate('r',00):Sun, 27
Mar 2005 02:00:00 + | Diff: 3600
gmmktime(2,0,0,3,27,2005): 892400 | gmdate('r',892400):Sun, 27
Mar 2005 03:00:00 + | Diff: 3600
gmmktime(3,0,0,3,27,2005): 896000 | gmdate('r',896000):Sun, 27
Mar 2005 04:00:00 + | Diff: 3600
gmmktime(4,0,0,3,27,2005): 899600 | gmdate('r',899600):Sun, 27
Mar 2005 05:00:00 + | Diff: 3600

dst --> no dst
gmmktime(0,0,0,10,30,2005): 1130630400 | gmdate('r',1130630400):Sun, 30
Oct 2005 00:00:00 +
gmmktime(1,0,0,10,30,2005): 1130634000 | gmdate('r',1130634000):Sun, 30
Oct 2005 01:00:00 + | Diff: 3600
gmmktime(2,0,0,10,30,2005): 1130637600 | gmdate('r',1130637600):Sun, 30
Oct 2005 02:00:00 + | Diff: 3600
gmmktime(3,0,0,10,30,2005): 1130641200 | gmdate('r',1130641200):Sun, 30
Oct 2005 03:00:00 + | Diff: 3600
gmmktime(4,0,0,10,30,2005): 1130644800 | gmdate('r',1130644800):Sun, 30
Oct 2005 04:00:00 + | Diff: 3600



[2005-04-04 15:48:07] gottwald at quantum-hydrometrie dot de

This is still broken for 4.3.10. gmmktime() is correct when changing
from DST to non-DST, but incorrect when changing from non-DST to DST:

gmmktime(02, 00, 00, 10, 31, 2004): 1099188000
gmmktime(03, 00, 00, 10, 31, 2004): 1099191600
Diff: 3600, correct

gmmktime(02, 00, 00, 03, 27, 2005): 892400
gmmktime(03, 00, 00, 03, 27, 2005): 892400
Diff: 0, broken



[2004-09-16 08:23:23] [EMAIL PROTECTED]

Rasmus, I can reproduce it here. No clue why yet. I guess I have
something to do on the next plane ;-)



[2004-09-15 19:11:24] schmidt_florian at f-24 dot com

the timezone should!! be irrelevant thats the reason i use
gmmktime()... but it dont work?!



[2004-09-15 19:05:31] [EMAIL PROTECTED]

Looks ok on my Debian laptop:

php -r 'echo phpversion()."\n"; echo gmdate("H,i,s, m,d,Y",
gmmktime(02,

#32594 [Opn]: missing dll in download

2005-04-05 Thread goba
 ID:   32594
 Updated by:   [EMAIL PROTECTED]
 Reported By:  mazdaf at yahoo dot com
 Status:   Open
-Bug Type: Documentation problem
+Bug Type: Other web server
 Operating System: win 2003
 PHP Version:  Irrelevant
 New Comment:

Not a docproblem.


Previous Comments:


[2005-04-05 19:11:46] mazdaf at yahoo dot com

Description:

In the install file, it says
The directory structure extracted from the zip is different for PHP
   versions 4 and 5 and look like as follows:

   Example 2-1. PHP 4 package structure



   +--sapi-- SAPI (server module support) DLLs
   |  |
   |  |-php4activescript.dll
   |  |
   |  |-php4apache.dll
   |  |
   |  |-php4apache2.dll
   |  |
   |  |-..



 ---
but there is no php4activescript.dll file in the 4.3.11 download in the
Windows Binaries/PHP 4.3.11 zip package [7,289Kb] - 31 Mar 2005
download.






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


#32594 [Opn->Csd]: missing dll in download

2005-04-05 Thread vrana
 ID:   32594
 Updated by:   [EMAIL PROTECTED]
 Reported By:  mazdaf at yahoo dot com
-Status:   Open
+Status:   Closed
 Bug Type: Other web server
 Operating System: win 2003
 PHP Version:  Irrelevant
 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:


[2005-04-05 19:13:59] [EMAIL PROTECTED]

Not a docproblem.



[2005-04-05 19:11:46] mazdaf at yahoo dot com

Description:

In the install file, it says
The directory structure extracted from the zip is different for PHP
   versions 4 and 5 and look like as follows:

   Example 2-1. PHP 4 package structure



   +--sapi-- SAPI (server module support) DLLs
   |  |
   |  |-php4activescript.dll
   |  |
   |  |-php4apache.dll
   |  |
   |  |-php4apache2.dll
   |  |
   |  |-..



 ---
but there is no php4activescript.dll file in the 4.3.11 download in the
Windows Binaries/PHP 4.3.11 zip package [7,289Kb] - 31 Mar 2005
download.






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


#30270 [Bgs->Csd]: Remote Hostname Not Found on Win98

2005-04-05 Thread trustpunk at hotmail dot com
 ID:   30270
 User updated by:  trustpunk at hotmail dot com
 Reported By:  trustpunk at hotmail dot com
-Status:   Bogus
+Status:   Closed
 Bug Type: *General Issues
 Operating System: Windows 98
 PHP Version:  4.3.9
 New Comment:

I just wanted to say that this bug is fixed in v4.3.11


Previous Comments:


[2004-10-01 09:43:40] [EMAIL PROTECTED]

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions. 

Thank you for your interest in PHP.

It's either a bug in win98 or some configuration issue, not bug in PHP.



[2004-09-29 09:13:19] trustpunk at hotmail dot com

I want someone to test both codes on a Windows 98 and tell
me if this processes correctly like it did on my Windows XP.



[2004-09-29 08:50:30] trustpunk at hotmail dot com

Description:

I have been testing this script thAT I recently developed 
to search for an ISP/Hostname on my windows XP but when I
tested it on my actual server which is a Win98 , it didn't
want to read any hostnames from a domain or IP Address.

Im just wondering , is this not compatible with Windows 98
because I don't understand why it works on WinXP with the
same exact PHP version which is 4.3.9. I did do a search.



Reproduce code:
---
01. IP Address: Example




02. Domain Address: Example



Expected result:

The first example should turn a IP Address into a hostname.
Now I understand that not all IP's have hostnames but this
IP Address does. When I view this on my WinXP it shows just
perfectly but if im viewing this on my Win98 , it shows my
local hostname only. Same goes for the second example.

Note: This is a remote IP Address so their is no reason for
it to show my local hostname , this is driving me mad. :(






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


#32595 [NEW]: $str{begin,length} Substring operator?

2005-04-05 Thread sb at stephenbrooks dot org
From: sb at stephenbrooks dot org
Operating system: Linux
PHP version:  4.3.9
PHP Bug Type: Feature/Change Request
Bug description:  $str{begin,length} Substring operator?

Description:

Odd, I thought this was actually in PHP5 already, but could find no
mention of it in the documentation.  It's not in the PHP4 I have here
anyway.

The feature would work as in the title: $str{begin,length} would work as
substr($str,begin,length).  Just a notational convenience, but struck me
as a natural (and useful) extension of the $str{n} operator.

Nonessential :)


-- 
Edit bug report at http://bugs.php.net/?id=32595&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32595&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32595&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32595&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32595&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32595&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32595&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32595&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32595&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32595&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32595&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32595&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32595&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32595&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32595&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32595&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32595&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32595&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32595&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32595&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32595&r=mysqlcfg


#32595 [Opn->WFx]: $str{begin,length} Substring operator?

2005-04-05 Thread derick
 ID:   32595
 Updated by:   [EMAIL PROTECTED]
 Reported By:  sb at stephenbrooks dot org
-Status:   Open
+Status:   Wont fix
 Bug Type: Feature/Change Request
 Operating System: Linux
 PHP Version:  4.3.9
 New Comment:

This was discussed already, and not going to happen.


Previous Comments:


[2005-04-05 19:36:25] sb at stephenbrooks dot org

Description:

Odd, I thought this was actually in PHP5 already, but could find no
mention of it in the documentation.  It's not in the PHP4 I have here
anyway.

The feature would work as in the title: $str{begin,length} would work
as substr($str,begin,length).  Just a notational convenience, but
struck me as a natural (and useful) extension of the $str{n} operator.

Nonessential :)






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


#32575 [Bgs]: Accented character 'echo'ed randomly

2005-04-05 Thread john at jcoppens dot com
 ID:   32575
 User updated by:  john at jcoppens dot com
 Reported By:  john at jcoppens dot com
 Status:   Bogus
 Bug Type: *Languages/Translation
 Operating System: linux 2.4.26
 PHP Version:  4.3.10
 New Comment:

Thanks for the reply.

Just so other people finding this description are pointed in the
correct direction, this problem appears to be a bug in Mozilla. PHP
serves the accented characters correctly, the browser randomly changes
them into question marks. Firefox/Opera/Dillo don't have this problem
(apparently). I found this out by tracing the HTTP transfer.


Previous Comments:


[2005-04-05 01:06:52] [EMAIL PROTECTED]

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.





[2005-04-04 21:38:44] john at jcoppens dot com

Description:

I have a very simple web-page script with mainly 'echo' commands.
Randomly the accented characters are replaced
by question-marks. If or not the question mark appears
seems to be depending on the page contents, though at least
in one of the cases, the only thing that changes in the
page is a GIF image. 

All this happens in the same html-session, using the same
script.

I've seen other -similar- reports, though none about 'echo'.
I can't be sure if this is an apache problem or php-related.

Sorry if was already solved... Please indicate.

Reproduce code:
---
echo "Página Índice";

Expected result:

Página Índice

Actual result:
--
Randomly 
Página Índice
P?gina ?ndice






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


#29805 [Asn->Csd]: HTTP Authentication Issues

2005-04-05 Thread thetaphi
 ID:   29805
 Updated by:   [EMAIL PROTECTED]
 Reported By:  michaelw at webcentral dot com dot au
-Status:   Assigned
+Status:   Closed
 Bug Type: iPlanet related
 Operating System: Solaris 9
 PHP Version:  4CVS, 5CVS (2004-12-11)
 Assigned To:  thetaphi
 New Comment:

All SAPIs behave in this way. No need to change this.


Previous Comments:


[2004-10-04 01:02:46] michaelw at webcentral dot com dot au

Hey,

As a workaround, I disabled the if-check, so it sets the variables
regardless of whether its in safe-mode or not. Any information on
whether this will remain as-is in CVS, or .. ?



[2004-09-26 22:42:33] [EMAIL PROTECTED]

Two things you can do at this time, the remove of the safe_mode
security check for NSAPI is under discussion:

a) Remove the "if" clause from nsapi.c:
php_handle_auth_data(pblock_findval("authorization", rq->headers)
TSRMLS_CC);

b) Disable Safe-Mode only for this application. With NSAPI you can do
this in vserver.obj.conf:
* Create a new Style in Server Manager and assign this style to the
PHPMyAdmin directory
* Change the obj.conf in that style () and add the
php4_execute-service as in the "default" object; but add a safe_mode=0
to the end of the line (this is an additional php.ini value)



[2004-09-22 11:23:30] michaelw at webcentral dot com dot au

Ok, the new CVS release works correctly if safe_mode is disabled.
However, if safe_mode is enabled, there does not appear to be any way
to get authentication information. 

This presents a problem for me, at least, as in my environment I need
to run PHPMyAdmin (using HTTP authentication) with safe_mode turned on.


Is there some method for obtaining authentication information whilst
running under safe mode ?



[2004-09-22 00:02:36] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

Snapshots with this patch are available now.



[2004-09-15 23:55:58] [EMAIL PROTECTED]

Sorry, you cannot take the PHP4 latest stable snapshot now, because it
is frozen (release of 4.3.9) and this bug is not critical. After
release of 4.3.9 this is fixed in CVS.



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

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


#30889 [Opn->Asn]: Conflict between __get/__set and ++ operator

2005-04-05 Thread tony2001
 ID:   30889
 Updated by:   [EMAIL PROTECTED]
 Reported By:  m dot gehin at adan dot asso dot fr
-Status:   Open
+Status:   Assigned
-Bug Type: Class/Object related
+Bug Type: Zend Engine 2 problem
 Operating System: winxp
 PHP Version:  5CVS-2005-03-08
-Assigned To:  
+Assigned To:  andi
 New Comment:

Andi, is it supposed to work so or not?
I.e. is it a docu problem or a bug?


Previous Comments:


[2005-03-09 19:02:42] m dot gehin at adan dot asso dot fr

Unfortunately this snapshot doesn't solve the problem

Snapshot version :
Sun, 06 Mar 2005 20:50:26 +0100
Version: 5.1.0-dev
Branch: HEAD
Build: Release_TS



[2005-03-06 18:28:46] [EMAIL PROTECTED]

Please try using this CVS snapshot:

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





[2004-11-25 00:39:59] m dot gehin at adan dot asso dot fr

Description:

When using the ++ operator on a property that is overloaded, the value
inside the class is incremented *BEFORE* the call to the __set()
method.

Reproduce code:
---
class overloaded
{
  private $values;
  function __construct()
  {
$this->values = array('a' => 0);
  }
  function __set($name, $value)
  {
print "set $name = $value ($name was
".$this->values[$name].")";
$this->values[$name] = $value;
  }
  function __get($name)
  {
print "get $name (returns ".$this->values[$name].")";
return $this->values[$name];
  }
}
$test = new overloaded();
$test->a++; // __get(), then __set()

Expected result:

get a (returns 0)
set a = 1 (a was 0)

Actual result:
--
get a (returns 0)
set a = 1 (a was 1)





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


#30787 [Asn->Bgs]: Object converts to reference on method use

2005-04-05 Thread tony2001
 ID:   30787
 Updated by:   [EMAIL PROTECTED]
 Reported By:  php dot net at nanonanonano dot net
-Status:   Assigned
+Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Debian Sarge
 PHP Version:  4.3.9
 Assigned To:  andi
 New Comment:

Duplicate of bug #24485.


Previous Comments:


[2005-02-04 12:52:41] ericvanblokland at gmail dot com

I think this report is a duplicate of 24485
http://bugs.php.net/bug.php?id=24485



[2004-11-27 14:53:41] [EMAIL PROTECTED]

It seems to me, that some magic with refernces is causing this
problem.
Here is simplified reproduce code:
b; }
}

class A {
  var $a;
  function A() { $this->a = new B(); }
}

$c = new A();
$c->a->echoB(); //comment this
var_dump($c);
$e = $c;
$e->a->b="a new copy\n";
var_dump($c);
?>
Comment marked line to see expected result.



[2004-11-15 00:36:21] php dot net at nanonanonano dot net

Description:

If I instantiate an object using 'new' and then copy it, I get a true
copy of the object.

If I then use a method within that object, the next time I copy it, I
only get a reference not an object. 

This behaviour is inconsistent (the behaviour of the = operator depends
on whether a method has been called or not) and annoying (it prevents
creating a prototype object by customising it after it has been
instantiated and then replicating it as needed).

I have read in other similar bug reports that "it's not a bug, it's a
feature", but that response misses three important points:

* it reduces functionality (cannot replicate a proto-object)

* the behaviour is inconsistent and the programmer has no way of
knowing whether the = operator will perform a copy by value or a copy
by reference on member-objects within an object without doing a lot of
code auditing (and one small change elsewhere in the code, might have
significant side-effects)

* It is not documented *anywhere* in the php manual. I know... I've
just wasted my entire weekend trying to find some way of working around
this problem.

Please don't just blow me off on this one as "NOTABUG", please think
about the functionality that is supposed to be here for the poor shmuck
programmer! While I personally believe this is a bug in the way PHP
handles objects (cf. any other OO-language), it is at the very least a
bug against the documentation.


---
For those googling on this problem, the example code has one workaround
(no doubt there are others) for a 'safe' way of touching member
variables that are objects so that they do not get stuffed up and
magically convert to references. For non-const methods, one can copy
the member, run whatever methods are required on the copy, and then
copy it back over the member-object:

function safeAlter($newValue) {
  //another horrible hack: why can't we just do
  //$this->alterB($newvalue);
  $acopy = $this->a;
  $acopy->alterB($newValue);
  $this->a = $acopy;
}

Or you can use serialize() and unserialize() to copy objects to make
sure they are copied by value without any magic references appearing
(horrible and liable to break many other things, but it will probably
work...).

Reproduce code:
---
class BB {
  var $b="original value\n";
  function BB() {}
  function echoB() { echo $this->b; }
}

class AA {
  var $a;
  function AA() { $this->a = new BB(); }
  function unsafeEcho() { $this->a->echoB(); }
  function safeEcho() {
$acopy = $this->a;
$acopy->echoB();
  }
}

$protoA = new AA();
$a2 = $protoA;
$protoA->unsafeEcho();
$a3 = $protoA;
$a3->a->b="a new copy\n";
echo $protoA->a->b;

Expected result:

Objects $a2 and $protoA are completely independent objects as  $a2 has
been created the by copy-by-value assignment operator (=).

Objects $a3 and $protoA should also be different as the code to create
$a3 from $protoA is the same as for $a2.

Changing $a2 should not alter $protoA as $a2 was created from  $protoA
by copy-by-value assignment. Similarly, changing $a3 should not alter
$protoA.

Expected output:
---8<---
original value
original value


Actual result:
--
Objects $a2 and $protoA are completely independent objects as  $a2 has
been created the by copy-by-value assignment operator (=).

Objects $a3 and $protoA are *not* different even though the code to
create $a3 is the same one of the members of $protoA has
mysteriously changed itself into a reference from a value!?

Changing $a2 does not alter $protoA as expected.

Changing $a3 mysteriously alters $protoA as one of the members of
$protoA has mysteriously changed itself into a reference from a
value!?

Actual output:
---8<---
original value
a new copy






-- 
Edit this bug report

#32555 [Asn]: strtotime("tomorrow") can return false

2005-04-05 Thread derick
 ID:   32555
 Updated by:   [EMAIL PROTECTED]
 Reported By:  stickman at gmail dot com
 Status:   Assigned
 Bug Type: Date/time related
 Operating System: FreeBSD 4.9
 PHP Version:  4.3.10
 Assigned To:  derick
 New Comment:

I know about DST and stuff - i was just wondering what tomorrow should
do for 2.30am on the day before DST changes... that's not in the RFC
;-)


Previous Comments:


[2005-04-03 18:17:28] stickman at gmail dot com

Is there some kind of RFC for this? There's one for everything down to
slicing bread.

RFC 3339 - Date and Time on the Internet: Timestamps
The UTC time corresponding to 17:00 on 23rd March 2005 in New York may
depend on administrative decisions about daylight savings time.  This
specification steers well clear of such considerations.)

No wonder they do. Daylight Saving Time is scary. It starts at 1:59am
and hops ahead one hour and one minute to 3am. It's at different times
across the world (12:59am Western Europe, 1:59am US, 2:59am Eastern
Europe, different for every area of Russia). Arizona and Hawaii don't
have it, Indiana sort of has it, and it's on a different day every year
and different days across the world.

Good luck, sir.



[2005-04-03 15:58:28] [EMAIL PROTECTED]

Correct. Although I'm not totally sure what "tomorrow" should do here
then...



[2005-04-03 09:17:15] stickman at gmail dot com

Well duh. I didn't even notice but daylight savings is about that time.
Could it be that "tomorrow" didn't exist for an hour?



[2005-04-03 09:08:42] stickman at gmail dot com

Description:

Early morning on April 2nd, 2005 my website broke. I tracked it down to
strtotime("tomorrow") returning -1 instead of the expected "tomorrow"
timestamp. strtotime("today") worked fine.

Asked a friend to test strtotime("tomorrow") and it worked fine for him
on his server (set to a different time).

Tested strtotime("tomorrow") on another server, also on Pacific time,
and got false again.

Went to bed to deal with it in the morning and the problem had resolved
itself sometime between midnight and 7am.

Reproduce code:
---
#Run this code on April 2nd, sometime after midnight.
echo strtotime("tomorrow");

Expected result:

1112628800 (or thereabouts)

Actual result:
--
-1





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


#32597 [NEW]: default value of session.gc_maxlifetime

2005-04-05 Thread kozlik at kufr dot cz
From: kozlik at kufr dot cz
Operating system: all
PHP version:  5.0.3
PHP Bug Type: Session related
Bug description:  default value of session.gc_maxlifetime

Description:

Default value of session.gc_maxlifetime is set quite short. Only 1440s
which is 24 minutes. Shouldn't it be 24 hours instead of 24 minutes?


-- 
Edit bug report at http://bugs.php.net/?id=32597&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32597&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32597&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32597&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32597&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32597&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32597&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32597&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32597&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32597&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32597&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32597&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32597&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32597&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32597&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32597&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32597&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32597&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32597&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32597&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32597&r=mysqlcfg


#30140 [Ver->Bgs]: Problem with array in static properties

2005-04-05 Thread tony2001
 ID:   30140
 Updated by:   [EMAIL PROTECTED]
 Reported By:  guth at fiifo dot u-psud dot fr
-Status:   Verified
+Status:   Bogus
 Bug Type: Zend Engine 2 problem
 Operating System: *
 PHP Version:  5CVS-2005-03-07
 New Comment:

Yet another duplicate of bug #30934.


Previous Comments:


[2004-09-18 17:02:22] guth at fiifo dot u-psud dot fr

Description:

[ sorry for english ] 
 
There is a problem with static properties initialized as 
an array in classes. 
 
In the following code, if you replace "public static $test 
= array();" by "public static $test;" or if you initialize 
the property with not an array ("public static $test = 
12;" for example), it works as expected. 

Reproduce code:
---
set(array('key' => 'value'));

A::view();
B::view();
?>

Expected result:

array(1) { ["key"]=> string(5) "value" } 
array(1) { ["key"]=> string(5) "value" } 

Actual result:
--
array(1) { ["key"]=> string(5) "value" } 
array(0) { } 





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


#32555 [Com]: strtotime("tomorrow") can return false

2005-04-05 Thread web-php-bugs at sklar dot com
 ID:   32555
 Comment by:   web-php-bugs at sklar dot com
 Reported By:  stickman at gmail dot com
 Status:   Assigned
 Bug Type: Date/time related
 Operating System: FreeBSD 4.9
 PHP Version:  4.3.10
 Assigned To:  derick
 New Comment:

With PHP 4.3.9, 5.0.3, and a recent CVS checkout, the following script
(run in timezone US/Eastern):



produces:

Sat Apr  2 02:30:00 2005
Sun Apr  3 03:30:00 2005

Which seems like a reasonable way for strtotime() to behave when it's
called without a starting timestamp during the period that's less than
24 hours but more than 23 hours before a change to DST in a
DST-respecting locale. That is, report the local time that corresponds
to 86400 seconds after strtotime() is called.


Previous Comments:


[2005-04-05 22:31:29] [EMAIL PROTECTED]

I know about DST and stuff - i was just wondering what tomorrow should
do for 2.30am on the day before DST changes... that's not in the RFC
;-)



[2005-04-03 18:17:28] stickman at gmail dot com

Is there some kind of RFC for this? There's one for everything down to
slicing bread.

RFC 3339 - Date and Time on the Internet: Timestamps
The UTC time corresponding to 17:00 on 23rd March 2005 in New York may
depend on administrative decisions about daylight savings time.  This
specification steers well clear of such considerations.)

No wonder they do. Daylight Saving Time is scary. It starts at 1:59am
and hops ahead one hour and one minute to 3am. It's at different times
across the world (12:59am Western Europe, 1:59am US, 2:59am Eastern
Europe, different for every area of Russia). Arizona and Hawaii don't
have it, Indiana sort of has it, and it's on a different day every year
and different days across the world.

Good luck, sir.



[2005-04-03 15:58:28] [EMAIL PROTECTED]

Correct. Although I'm not totally sure what "tomorrow" should do here
then...



[2005-04-03 09:17:15] stickman at gmail dot com

Well duh. I didn't even notice but daylight savings is about that time.
Could it be that "tomorrow" didn't exist for an hour?



[2005-04-03 09:08:42] stickman at gmail dot com

Description:

Early morning on April 2nd, 2005 my website broke. I tracked it down to
strtotime("tomorrow") returning -1 instead of the expected "tomorrow"
timestamp. strtotime("today") worked fine.

Asked a friend to test strtotime("tomorrow") and it worked fine for him
on his server (set to a different time).

Tested strtotime("tomorrow") on another server, also on Pacific time,
and got false again.

Went to bed to deal with it in the morning and the problem had resolved
itself sometime between midnight and 7am.

Reproduce code:
---
#Run this code on April 2nd, sometime after midnight.
echo strtotime("tomorrow");

Expected result:

1112628800 (or thereabouts)

Actual result:
--
-1





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


#30157 [Asn]: ftell() function don't use stream_tell()

2005-04-05 Thread tony2001
 ID:   30157
 Updated by:   [EMAIL PROTECTED]
 Reported By:  tendencies at free dot fr
 Status:   Assigned
 Bug Type: Filesystem function related
 Operating System: Windows and Linux
 PHP Version:  5CVS-2004-09-19 (dev)
-Assigned To:  wez
+Assigned To:  pollita
 New Comment:

Seems that Wez doesn't have enough time to work on it anymore. 
Sara, plz, take a look at this patch:
http://tony2001.phpclub.net/dev/tmp/userstreamop_tell.diff
The only problem I can see there is that all custom stream wrapper will
have to add appropriate entries too.


Previous Comments:


[2004-09-19 21:01:19] tendencies at free dot fr

Description:

For a test, I use wrapper_register() to register a new wrapper. For
information, I use PHP5 CVS and apache.

I want to create a wrapper and use ftell() to return an integer
different from the length of the string (normal comportement). I
implement the method stream_tell() and call ftell(), but surprise, this
function don't use the method stream_tell().

Reproduce code:
---
fp = fopen($url["host"], $mode);
return true;
}
function stream_write($data){
return fwrite($this->fp, $data);
}
function stream_tell(){
echo "debug message";
return ftell($this->fp);
}
function stream_close(){
return fclose($this->fp);
}
}
stream_wrapper_register("test", "fileWrapper");
$fp = fopen("test://file.txt", "w+");
fwrite($fp, "test");
echo "I test the echo debug in stream_tell() method:";
echo ftell($fp)."\n";
fclose($fp);
?>

Expected result:

Use the code above, I write a "debug message" in the method
stream_tell() but no message is writted in my screen, just this :
I test the echo debug in stream_tell() method:0

I think that it's a bug but if not, all my apologies.






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


#32486 [Fbk->NoF]: odbc_fetch_into returns wrong data

2005-04-05 Thread php-bugs
 ID:   32486
 Updated by:   php-bugs@lists.php.net
 Reported By:  tho at e-dict dot net
-Status:   Feedback
+Status:   No Feedback
 Bug Type: Adabas-D related
 Operating System: Linux
 PHP Version:  4.3.9
 New Comment:

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".


Previous Comments:


[2005-03-29 17:38:24] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip





[2005-03-29 16:58:34] tho at e-dict dot net

Description:

Sometimes after odbc_fetch_into($query, $row) $row contains parts of
data from the previous fetched row. For now I'm not able to reproduce
this behavior reliably, it just happens once in a while. 
What happens is that if the data of the previous row is longer than in
the current, the result contains '$currentdata\0$somepreviousdata',
e.g.
previous row: "[EMAIL PROTECTED]"
current row:  "[EMAIL PROTECTED]"
results in
"[EMAIL PROTECTED]"
IOW the field is as long as the data in the previous row, contains a \0
terminator after the field content and then the rest of the previous
field.
This also happens if a unset($row) is done before calling
odbc_fetch_into()

Reproduce code:
---
N/A






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


#32490 [Fbk->NoF]: constructor of mysqli is wrong named

2005-04-05 Thread php-bugs
 ID:   32490
 Updated by:   php-bugs@lists.php.net
 Reported By:  ladoo at gmx dot at
-Status:   Feedback
+Status:   No Feedback
 Bug Type: MySQLi related
 Operating System: Linux (x86)
 PHP Version:  5.0.3
 New Comment:

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".


Previous Comments:


[2005-03-29 23:41:23] [EMAIL PROTECTED]

Please try using this CVS snapshot:

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





[2005-03-29 21:55:02] ladoo at gmx dot at

Description:

Due to the PHP5 manual the constructor of a class shall be called
__construct and the method named after the class is evaluated only for
compatibility reasons. The constructor of the mysqli class is mysqli,
but it should be __construct.

Reproduce code:
---
$x = new mysqli();
if(method_exists($x, "mysqli")) echo  "mysqli exists";
if(method_exists($x, "__construct")) echo "__construct exists";

Expected result:

__construct exists

Actual result:
--
mysqli exists





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


#32600 [NEW]: PHP sets return-path incorrectly

2005-04-05 Thread freddie at vbulletin dot com
From: freddie at vbulletin dot com
Operating system: Win32
PHP version:  5.0.4
PHP Bug Type: *Mail Related
Bug description:  PHP sets return-path incorrectly

Description:

A new bug has been introduced with the bug fix listed at
http://bugs.php.net/bug.php?id=28976

The above fix attempts to set a reverse-path based on the From: header if
sendmail_from is undefined.

The problem with this is that the From: header is taken verbatim and not
formatted to the RFC 2822 specification.

This results in the email being rejected by the server.

Reproduce code:
---
Example:

$headers .= "From: \"Example User\" <[EMAIL PROTECTED]>";

PHP will then set  the RPath to "\"Example User\" <[EMAIL PROTECTED]>"
when it should be "<[EMAIL PROTECTED]>"

Expected result:

Line 440 win32/sendmail.c:

snprintf(Buffer, MAIL_BUFFER_SIZE, "MAIL FROM:<[EMAIL PROTECTED]>\r\n",
RPath);

Actual result:
--
Line 440 win32/sendmail.c:


snprintf(Buffer, MAIL_BUFFER_SIZE, "MAIL FROM:>\r\n", RPath);

-- 
Edit bug report at http://bugs.php.net/?id=32600&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32600&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32600&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32600&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32600&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32600&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32600&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32600&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32600&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32600&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32600&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32600&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32600&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32600&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32600&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32600&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32600&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32600&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32600&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32600&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32600&r=mysqlcfg


#32601 [NEW]: Related to Bug #18648 Single entry form POST gives incorrect variable content.

2005-04-05 Thread sarah dot lee at seh dot ox dot ac dot uk
From: sarah dot lee at seh dot ox dot ac dot uk
Operating system: Windows XP
PHP version:  4.3.9
PHP Bug Type: Apache related
Bug description:  Related to Bug #18648 Single entry form POST gives incorrect 
variable content.

Description:

This is related to Bug #18648 Single entry form POST gives incorrect
variable content.

My problems seem to be similar to that of other users on that thread, a
form with a single text box doesn't really submit if the enter button is
pressed.

I'm using Apache 1.3 on Windows. In my httpd.conf, I don't have any
InputFilters/OutputFilters, just 

AddType application/x-httpd-php .php

I've tried the other fixes suggested:  doesn't fix it, and nor does .

I seem to be the only one mentioning it with Apache 1.3. Is there anything
that can be done to solve it?

Reproduce code:
---
In an include:


  
  
  

In the PHP script:

if ($submit) {

...

}

Expected result:

I expect the data to be carried to the PHP script, as it would if the
submit button were actually clicked.

Actual result:
--
The page just gets refreshed with the data before any text was entered
into the text box, and enter pressed.

-- 
Edit bug report at http://bugs.php.net/?id=32601&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32601&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32601&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32601&r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=32601&r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=32601&r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=32601&r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=32601&r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=32601&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32601&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=32601&r=notwrong
Not enough info: 
http://bugs.php.net/fix.php?id=32601&r=notenoughinfo
Submitted twice: 
http://bugs.php.net/fix.php?id=32601&r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=32601&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32601&r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=32601&r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=32601&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32601&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32601&r=float
No Zend Extensions:  http://bugs.php.net/fix.php?id=32601&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32601&r=mysqlcfg


#30787 [Bgs]: Object converts to reference on method use

2005-04-05 Thread php dot net at nanonanonano dot net
 ID:   30787
 User updated by:  php dot net at nanonanonano dot net
 Reported By:  php dot net at nanonanonano dot net
 Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Debian Sarge
 PHP Version:  4.3.9
 Assigned To:  andi
 New Comment:

How is this now "bogus", when it has been confirmed by several people
and has been fixed in PHP5?

It is customary to explain with a comment when changing the status of a
bug...


Previous Comments:


[2005-04-05 22:23:47] [EMAIL PROTECTED]

Duplicate of bug #24485.



[2005-02-04 12:52:41] ericvanblokland at gmail dot com

I think this report is a duplicate of 24485
http://bugs.php.net/bug.php?id=24485



[2004-11-27 14:53:41] [EMAIL PROTECTED]

It seems to me, that some magic with refernces is causing this
problem.
Here is simplified reproduce code:
b; }
}

class A {
  var $a;
  function A() { $this->a = new B(); }
}

$c = new A();
$c->a->echoB(); //comment this
var_dump($c);
$e = $c;
$e->a->b="a new copy\n";
var_dump($c);
?>
Comment marked line to see expected result.



[2004-11-15 00:36:21] php dot net at nanonanonano dot net

Description:

If I instantiate an object using 'new' and then copy it, I get a true
copy of the object.

If I then use a method within that object, the next time I copy it, I
only get a reference not an object. 

This behaviour is inconsistent (the behaviour of the = operator depends
on whether a method has been called or not) and annoying (it prevents
creating a prototype object by customising it after it has been
instantiated and then replicating it as needed).

I have read in other similar bug reports that "it's not a bug, it's a
feature", but that response misses three important points:

* it reduces functionality (cannot replicate a proto-object)

* the behaviour is inconsistent and the programmer has no way of
knowing whether the = operator will perform a copy by value or a copy
by reference on member-objects within an object without doing a lot of
code auditing (and one small change elsewhere in the code, might have
significant side-effects)

* It is not documented *anywhere* in the php manual. I know... I've
just wasted my entire weekend trying to find some way of working around
this problem.

Please don't just blow me off on this one as "NOTABUG", please think
about the functionality that is supposed to be here for the poor shmuck
programmer! While I personally believe this is a bug in the way PHP
handles objects (cf. any other OO-language), it is at the very least a
bug against the documentation.


---
For those googling on this problem, the example code has one workaround
(no doubt there are others) for a 'safe' way of touching member
variables that are objects so that they do not get stuffed up and
magically convert to references. For non-const methods, one can copy
the member, run whatever methods are required on the copy, and then
copy it back over the member-object:

function safeAlter($newValue) {
  //another horrible hack: why can't we just do
  //$this->alterB($newvalue);
  $acopy = $this->a;
  $acopy->alterB($newValue);
  $this->a = $acopy;
}

Or you can use serialize() and unserialize() to copy objects to make
sure they are copied by value without any magic references appearing
(horrible and liable to break many other things, but it will probably
work...).

Reproduce code:
---
class BB {
  var $b="original value\n";
  function BB() {}
  function echoB() { echo $this->b; }
}

class AA {
  var $a;
  function AA() { $this->a = new BB(); }
  function unsafeEcho() { $this->a->echoB(); }
  function safeEcho() {
$acopy = $this->a;
$acopy->echoB();
  }
}

$protoA = new AA();
$a2 = $protoA;
$protoA->unsafeEcho();
$a3 = $protoA;
$a3->a->b="a new copy\n";
echo $protoA->a->b;

Expected result:

Objects $a2 and $protoA are completely independent objects as  $a2 has
been created the by copy-by-value assignment operator (=).

Objects $a3 and $protoA should also be different as the code to create
$a3 from $protoA is the same as for $a2.

Changing $a2 should not alter $protoA as $a2 was created from  $protoA
by copy-by-value assignment. Similarly, changing $a3 should not alter
$protoA.

Expected output:
---8<---
original value
original value


Actual result:
--
Objects $a2 and $protoA are completely independent objects as  $a2 has
been created the by copy-by-value assignment operator (=).

Objects $a3 and $protoA are *not* different even though the code to
create $a3 is the same one of the members of $protoA has
mysteriously changed itself into a reference from a value!?

Changing $a2 does not alter $protoA as expected.

Changin

#32086 [Asn]: strtotime don't work in DST

2005-04-05 Thread marcus at corp dot grupos dot com dot br
 ID:   32086
 User updated by:  marcus at corp dot grupos dot com dot br
 Reported By:  marcus at corp dot grupos dot com dot br
 Status:   Assigned
 Bug Type: Date/time related
-Operating System: FreeBSD 4.11-STABLE
+Operating System: FreeBSD 4.x
-PHP Version:  4.3.10
+PHP Version:  4.x, 5.x
 Assigned To:  derick
 New Comment:

Any idea to fix?

Regards


Previous Comments:


[2005-02-23 22:01:34] marcus at corp dot grupos dot com dot br

Description:

If timestamp don't exist, FreeBSD mktime() return -1 is correct. This
case occurs when use strtotime and have Daylight Save Time in
timezone.

Example:
If DST save 1 hour and begin on 2004/11/02 00:00, timestamp between
00:00 and 01:00 don't exists.

I fix with this patch, but I find that it is not the best skill.

-- begin patch --
--- ext/standard/parsedate.c.orig   Tue Dec 14 15:55:22 2004
+++ ext/standard/parsedate.cMon Feb 14 14:43:08 2005
@@ -2211,9 +2211,9 @@
   date.yyHaveTime = 0;
   date.yyHaveZone = 0;

-  if (yyparse ((void *)&date)
-  || date.yyHaveTime > 1 || date.yyHaveZone > 1
- || date.yyHaveDate > 1 || date.yyHaveDay > 1)
+  if (yyparse ((void *)&date))
+//  || date.yyHaveTime > 1 || date.yyHaveZone > 1
+//   || date.yyHaveDate > 1 || date.yyHaveDay > 1)
 return -1;

   tm.tm_year = ToYear (date.yyYear) - TM_YEAR_ORIGIN +
date.yyRelYear;
@@ -2272,7 +2272,28 @@
}

   if (Start == (time_t) -1)
-   return Start;
+   {
+   tm = tm0;
+   while((Start = mktime(&tm)) == -1 && tm.tm_year > 68 &&
tm.tm_year < 138)
+   {
+   if (tm.tm_isdst == 0)
+   {
+   tm.tm_isdst = -1;
+   if (tm.tm_min < 59) {
+   tm.tm_min += 1;
+   } else {
+   tm.tm_min = 0;
+   if (tm.tm_hour < 23) {
+   tm.tm_hour += 1;
+   } else {
+   tm.tm_hour = 0;
+   tm.tm_mday += 1;
+   }
+   }
+   }
+   }
+   return Start;
+   }
 }

   if (date.yyHaveDay && !date.yyHaveDate)
-- end patch --

Reproduce code:
---


America/Sao_Paulo DST begin on 2004/11/02 00:00 and terminate on
2005/02/20 00:00

Expected result:

1099278000
1099364400
1108778400
1108864800

Actual result:
--
1099278000
-1
1108778400
1108864800





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


#32422 [Fbk->Opn]: Access Violation on calling PEAR Date::before

2005-04-05 Thread rob at wildlime dot com
 ID:   32422
 User updated by:  rob at wildlime dot com
 Reported By:  rob at wildlime dot com
-Status:   Feedback
+Status:   Open
 Bug Type: Reproducible crash
 Operating System: Windows XP SP2
 PHP Version:  4.3.10
 New Comment:

sorry for the delay...

using PHP/5.1.0-dev
 - no extensions loaded
 - PEAR installed (default packages and Date)

Got the same access violation.

stack trace:
ntdll!RtlpCoalesceFreeBlocks+0x21
ntdll!RtlFreeHeap+0x2e9
msvcrt!free+0xc3
msvcrt!__crtsetenv+0x193
msvcrt!_putenv_lk+0x42
msvcrt!_putenv+0x20
WARNING: Stack unwind information not available. Following frames may
be wrong.
php5ts!php_get_inf+0x1083


Previous Comments:


[2005-03-31 08:16:01] [EMAIL PROTECTED]

Using extensions from different PHP version will not work of course..
but does the PEAR crap work any better?




[2005-03-31 01:41:01] rob at wildlime dot com

The access violation on starting Apache goes away if I disable all the
extensions I was previously using (mysql, curl, openssl)

I have tested this using php.ini-recommended, the only change being
setting the extension dir from ./ to c:\php\ext



[2005-03-31 01:30:15] rob at wildlime dot com

Using PHP/5.1.0-dev

access violation immediately on starting Apache

stack trace:
php5ts!zend_do_inherit_interfaces+0x14e

(yes, that's all)

I haven't installed PEAR yet...



[2005-03-30 08:54:10] [EMAIL PROTECTED]

Please try using this CVS snapshot:

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

(yes, it's PHP5, but I'd like to know if this happens with it too..)



[2005-03-30 01:49:22] rob at wildlime dot com

Using PHP/4.3.11RC2-dev

(btw, is it intentional that pear installs to c:\php\pear\pear?)

Same result - frequent access violation.

stack trace:
ntdll!RtlpCoalesceFreeBlocks+0x21
ntdll!RtlFreeHeap+0x2e9
msvcrt!free+0xc3
msvcrt!__crtsetenv+0x193
msvcrt!_putenv_lk+0x42
msvcrt!_putenv+0x20
WARNING: Stack unwind information not available. Following frames may
be wrong.
php4ts!php_get_inf+0xfae



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

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


#32422 [Opn]: Access Violation on calling PEAR Date::before

2005-04-05 Thread rob at wildlime dot com
 ID:   32422
 User updated by:  rob at wildlime dot com
 Reported By:  rob at wildlime dot com
 Status:   Open
 Bug Type: Reproducible crash
 Operating System: Windows XP SP2
 PHP Version:  4.3.10
 New Comment:

btw, the extensions loaded before were the ones packaged with PHP5, not
old 4.3.10 ones!


Previous Comments:


[2005-04-06 04:21:17] rob at wildlime dot com

sorry for the delay...

using PHP/5.1.0-dev
 - no extensions loaded
 - PEAR installed (default packages and Date)

Got the same access violation.

stack trace:
ntdll!RtlpCoalesceFreeBlocks+0x21
ntdll!RtlFreeHeap+0x2e9
msvcrt!free+0xc3
msvcrt!__crtsetenv+0x193
msvcrt!_putenv_lk+0x42
msvcrt!_putenv+0x20
WARNING: Stack unwind information not available. Following frames may
be wrong.
php5ts!php_get_inf+0x1083



[2005-03-31 08:16:01] [EMAIL PROTECTED]

Using extensions from different PHP version will not work of course..
but does the PEAR crap work any better?




[2005-03-31 01:41:01] rob at wildlime dot com

The access violation on starting Apache goes away if I disable all the
extensions I was previously using (mysql, curl, openssl)

I have tested this using php.ini-recommended, the only change being
setting the extension dir from ./ to c:\php\ext



[2005-03-31 01:30:15] rob at wildlime dot com

Using PHP/5.1.0-dev

access violation immediately on starting Apache

stack trace:
php5ts!zend_do_inherit_interfaces+0x14e

(yes, that's all)

I haven't installed PEAR yet...



[2005-03-30 08:54:10] [EMAIL PROTECTED]

Please try using this CVS snapshot:

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

(yes, it's PHP5, but I'd like to know if this happens with it too..)



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

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


#30787 [Bgs]: Object converts to reference on method use

2005-04-05 Thread tony2001
 ID:   30787
 Updated by:   [EMAIL PROTECTED]
 Reported By:  php dot net at nanonanonano dot net
 Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Debian Sarge
 PHP Version:  4.3.9
 Assigned To:  andi
 New Comment:

This is the very same problem that is already described in bug #24485.
What else should I add ?


Previous Comments:


[2005-04-06 02:05:20] php dot net at nanonanonano dot net

How is this now "bogus", when it has been confirmed by several people
and has been fixed in PHP5?

It is customary to explain with a comment when changing the status of a
bug...



[2005-04-05 22:23:47] [EMAIL PROTECTED]

Duplicate of bug #24485.



[2005-02-04 12:52:41] ericvanblokland at gmail dot com

I think this report is a duplicate of 24485
http://bugs.php.net/bug.php?id=24485



[2004-11-27 14:53:41] [EMAIL PROTECTED]

It seems to me, that some magic with refernces is causing this
problem.
Here is simplified reproduce code:
b; }
}

class A {
  var $a;
  function A() { $this->a = new B(); }
}

$c = new A();
$c->a->echoB(); //comment this
var_dump($c);
$e = $c;
$e->a->b="a new copy\n";
var_dump($c);
?>
Comment marked line to see expected result.



[2004-11-15 00:36:21] php dot net at nanonanonano dot net

Description:

If I instantiate an object using 'new' and then copy it, I get a true
copy of the object.

If I then use a method within that object, the next time I copy it, I
only get a reference not an object. 

This behaviour is inconsistent (the behaviour of the = operator depends
on whether a method has been called or not) and annoying (it prevents
creating a prototype object by customising it after it has been
instantiated and then replicating it as needed).

I have read in other similar bug reports that "it's not a bug, it's a
feature", but that response misses three important points:

* it reduces functionality (cannot replicate a proto-object)

* the behaviour is inconsistent and the programmer has no way of
knowing whether the = operator will perform a copy by value or a copy
by reference on member-objects within an object without doing a lot of
code auditing (and one small change elsewhere in the code, might have
significant side-effects)

* It is not documented *anywhere* in the php manual. I know... I've
just wasted my entire weekend trying to find some way of working around
this problem.

Please don't just blow me off on this one as "NOTABUG", please think
about the functionality that is supposed to be here for the poor shmuck
programmer! While I personally believe this is a bug in the way PHP
handles objects (cf. any other OO-language), it is at the very least a
bug against the documentation.


---
For those googling on this problem, the example code has one workaround
(no doubt there are others) for a 'safe' way of touching member
variables that are objects so that they do not get stuffed up and
magically convert to references. For non-const methods, one can copy
the member, run whatever methods are required on the copy, and then
copy it back over the member-object:

function safeAlter($newValue) {
  //another horrible hack: why can't we just do
  //$this->alterB($newvalue);
  $acopy = $this->a;
  $acopy->alterB($newValue);
  $this->a = $acopy;
}

Or you can use serialize() and unserialize() to copy objects to make
sure they are copied by value without any magic references appearing
(horrible and liable to break many other things, but it will probably
work...).

Reproduce code:
---
class BB {
  var $b="original value\n";
  function BB() {}
  function echoB() { echo $this->b; }
}

class AA {
  var $a;
  function AA() { $this->a = new BB(); }
  function unsafeEcho() { $this->a->echoB(); }
  function safeEcho() {
$acopy = $this->a;
$acopy->echoB();
  }
}

$protoA = new AA();
$a2 = $protoA;
$protoA->unsafeEcho();
$a3 = $protoA;
$a3->a->b="a new copy\n";
echo $protoA->a->b;

Expected result:

Objects $a2 and $protoA are completely independent objects as  $a2 has
been created the by copy-by-value assignment operator (=).

Objects $a3 and $protoA should also be different as the code to create
$a3 from $protoA is the same as for $a2.

Changing $a2 should not alter $protoA as $a2 was created from  $protoA
by copy-by-value assignment. Similarly, changing $a3 should not alter
$protoA.

Expected output:
---8<---
original value
original value


Actual result:
--
Objects $a2 and $protoA are completely independent objects as  $a2 has
been created the by copy-by-value assignment operator (=).

Objects $a3 and $protoA are *not* d

#32602 [NEW]: System DoS - 100% CPU load - Infinite loop

2005-04-05 Thread ruhland at telmat dot fr
From: ruhland at telmat dot fr
Operating system: linux
PHP version:  5.0.4
PHP Bug Type: Apache2 related
Bug description:  System DoS - 100% CPU load - Infinite loop

Description:

We are using Apache 2.0.53 as intranet server and proxy server.
When loading PHP 5.0.4 as Apache module, some Apache childs, after few
minutes, randomly, and take 100% cpu load. This also occurs with PHP
4.3.10 and other PHP 5.0.X libraries.

This appears even while only using proxy without intranet PHP pages.

Tracing this processes with strace give nothing. (No syscalls)

Here, results of backtrace

Actual result:
--
(gdb) bt full
#0  0x406e993f in execute (op_array=0x824de24) at /root/sources/php-
5.0.4/Zend/zend_execute.c:1406
execute_data = {opline = 0x825f2a4, function_state = 
{function_symbol_table = 0x140, function = 0x824de24, reserved =
{0x403e0d24, 
0x403e0d05,
  0x82554e4, 0x824ddf4}}, fbc = 0x0, fbc_constructor = 0x406a98e0,
op_array 
= 0x824de24, object = 0x0, Ts = 0xbfffc190,
  original_in_execution = 1 '\001', calling_scope = 0xbfffd300, 
prev_execute_data = 0xbfffd300}
#1  0x406ee195 in zend_include_or_eval_handler (execute_data=0xbfffd300, 
opline=0x82520b8, op_array=0x825f2a4)
at /root/sources/php-5.0.4/Zend/zend_execute.c:3581
new_op_array = (zend_op_array *) 0x824de24
original_return_value = (zval **) 0xbfffd37c
inc_filename = (zval *) 0x0
tmp_inc_filename = {value = {lval = 136633720, dval = 
2.1895018180807644e-314, str = {val = 0x824dd78 "[EMAIL PROTECTED]", len =
1}, ht 
= 0x824dd78,
obj = {handle = 136633720, handlers = 0x1}}, refcount = 0, type = 172
'¬', 
is_ref = 223 'ß'}
failure_retval = 0 '\0'
#2  0x406e9942 in execute (op_array=0x824dcf4) at /root/sources/php-
5.0.4/Zend/zend_execute.c:1406
execute_data = {opline = 0x82520b8, function_state = 
{function_symbol_table = 0xb630, function = 0x824de24, reserved =
{0x0, 
0x0, 0x0, 0x0}},
  fbc = 0x0, fbc_constructor = 0xb630, op_array = 0x824dcf4, object =
0x0, 
Ts = 0xbfffd2e0, original_in_execution = 0 '\0',
  calling_scope = 0xb630, prev_execute_data = 0x0}
#3  0x406cd08b in zend_execute_scripts (type=8, retval=0x0, file_count=3)

at /root/sources/php-5.0.4/Zend/zend.c:1069
files = 0xbfffd434 ""
i = 1
file_handle = (zend_file_handle *) 0xb630
orig_op_array = (zend_op_array *) 0x0
local_retval = (zval *) 0x0
#4  0x4069c3b8 in php_execute_script (primary_file=0xb630) 
at /root/sources/php-5.0.4/main/main.c:1632
prepend_file_p = (zend_file_handle *) 0x0
append_file_p = (zend_file_handle *) 0xb630
prepend_file = {type = 0 '\0', filename = 0x0, opened_path = 0x0,

handle = {fd = 0, fp = 0x0, stream = {handle = 0x0, reader = 0, closer =
0,
  interactive = 0}}, free_filename = 0 '\0'}
append_file = {type = 0 '\0', filename = 0x0, opened_path = 0x0,
handle 
= {fd = 0, fp = 0x0, stream = {handle = 0x0, reader = 0, closer = 0,
  interactive = 0}}, free_filename = 0 '\0'}
old_cwd = 0xbfffd440 "/"
old_primary_file_path = 0x0
retval = 0
#5  0x406f3320 in php_handler (r=0x8239e28) at /root/sources/php-
5.0.4/sapi/apache2handler/sapi_apache2.c:555
ctx = (php_struct *) 0x8241e58
brigade = (apr_bucket_brigade *) 0x8241ed0
bucket = (apr_bucket *) 0x825f2a4
rv = 136704676
parent_req = (request_rec *) 0x0
#6  0x08067c06 in ap_run_handler (r=0x8239e28) at config.c:153
pHook = (ap_LINK_handler_t *) 0x825f2a4
n = 10
rv = 136704676
#7  0x080681d8 in ap_invoke_handler (r=0x8239e28) at config.c:364
handler = 0x8142cf8 "application/x-httpd-php"
result = 136583672
old_handler = 0x0
#8  0x08065696 in ap_internal_redirect (new_uri=0x81430c8 "/error.php3?
error=502", r=0x8238840) at http_request.c:462
new = (request_rec *) 0x8239e28
access_status = 136704676
#9  0x0806512a in ap_process_request (r=0x8238840) at http_request.c:262
access_status = 136646948
#10 0x08060cb9 in ap_process_http_connection (c=0x8232800) at
http_core.c:251
r = (request_rec *) 0x8238840
csd_set = 0
csd = (apr_socket_t *) 0x0
#11 0x08070d96 in ap_run_process_connection (c=0x8232800) at
connection.c:43
pHook = (ap_LINK_process_connection_t *) 0x3
n = 0
rv = 3
#12 0x08066574 in child_main (child_num_arg=3) at prefork.c:610
ptrans = (apr_pool_t *) 0x82326f0
allocator = (apr_allocator_t *) 0x8230660
---Type  to continue, or q  to quit---
current_conn = (conn_rec *) 0x8232800
status = 136521728
i = 136646948
lr = (ap_listen_rec *) 0x8232800
curr_pollfd = 136646948
last_pollfd = 2
pollset = (apr_pollfd_t *) 0x82307b8
offset = 3
csd = (void *) 0x8232728
sbh = (ap_sb_handle_t *) 0x8230760
rv = 3
bucket_alloc = (

#32589 [Csd->Opn]: imap_mail_compose doesn´t work properly

2005-04-05 Thread svoboda at svoon dot net
 ID:   32589
 User updated by:  svoboda at svoon dot net
 Reported By:  svoboda at svoon dot net
-Status:   Closed
+Status:   Open
 Bug Type: IMAP related
 Operating System: debian
 PHP Version:  4.3.11
 New Comment:

Hello,
I have compiled PHP snapshot 200504051630, but imap_mail_compose
doesn't still work.


Previous Comments:


[2005-04-05 16:49:22] [EMAIL PROTECTED]

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.





[2005-04-05 14:59:05] svoboda at svoon dot net

Description:

when use charset field in part array, fction exit with segmentation
fault.

Reproduce code:
---
$m_envelope["To"] = "[EMAIL PROTECTED]";
$m_part1["type"] = TYPEMULTIPART;
$m_part1["subtype"] = "mixed";
$m_part2["type"] = TYPETEXT;
$m_part2["subtype"] = "plain";
$m_part2["description"] = "text_message";

$m_part2["charset"] = "ISO-8859-2";

$m_part2["contents.data"] = "hello";
$m_body[1] = $m_part1;
$m_body[2] = $m_part2;
echo nl2br(imap_mail_compose($m_envelope, $m_body));







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


#32589 [Opn->Fbk]: imap_mail_compose doesn´t work properly

2005-04-05 Thread tony2001
 ID:   32589
 Updated by:   [EMAIL PROTECTED]
 Reported By:  svoboda at svoon dot net
-Status:   Open
+Status:   Feedback
 Bug Type: IMAP related
 Operating System: debian
 PHP Version:  4.3.11
 New Comment:

Because it's fixed in the next snapshot.
Please try it and tell us the results.


Previous Comments:


[2005-04-06 08:12:00] svoboda at svoon dot net

Hello,
I have compiled PHP snapshot 200504051630, but imap_mail_compose
doesn't still work.



[2005-04-05 16:49:22] [EMAIL PROTECTED]

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.





[2005-04-05 14:59:05] svoboda at svoon dot net

Description:

when use charset field in part array, fction exit with segmentation
fault.

Reproduce code:
---
$m_envelope["To"] = "[EMAIL PROTECTED]";
$m_part1["type"] = TYPEMULTIPART;
$m_part1["subtype"] = "mixed";
$m_part2["type"] = TYPETEXT;
$m_part2["subtype"] = "plain";
$m_part2["description"] = "text_message";

$m_part2["charset"] = "ISO-8859-2";

$m_part2["contents.data"] = "hello";
$m_body[1] = $m_part1;
$m_body[2] = $m_part2;
echo nl2br(imap_mail_compose($m_envelope, $m_body));







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