# PHP 4.3.2RC3 released.

- Thread: https://externals.io/message/1549
- Original archive: https://news-web.php.net/php.internals/1549
- Started by Jani Taskinen on 2003-05-15T23:28:07+00:00
- Messages: 7
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #1549 — Jani Taskinen — 2003-05-15T23:28:07+00:00

URL: https://externals.io/message/1549#1549

This is the third and final release candidate of the upcoming
    maintenance release of PHP 4.3.2.
    
    Please download and test it as much as possible on real-life
    applications to uncover any remaining issues.

    Sources: 
      
      http://downloads.php.net/jani/php-4.3.2RC3.tar.bz2
      http://downloads.php.net/jani/php-4.3.2RC3.tar.gz

    Windows binaries: 
        
      http://downloads.php.net/jani/php-4.3.2RC3-Win32.zip

    md5sums:

      a454d1fd9aa4ca24848c53bb7160de22  php-4.3.2RC3-Win32.zip
      f910021c6d931b68c53d5b511655bb13  php-4.3.2RC3.tar.bz2
      c8ead30bdc146319719b65034c0ee44a  php-4.3.2RC3.tar.gz
    
    List of additions/changes/fixes can be found here:
 
      http://cvs.php.net/diff.php/php4/NEWS?r1=1.1247.2.35.4.1&r2=1.1247.2.200&tr2=1.1403&ty=h

---

## #1553 — walt boring — 2003-05-16T01:08:45+00:00

URL: https://externals.io/message/1549#1553 · In reply to: #1549

Howdy,
  It seems the patch to fix the `set_error_handler()` didn't make it in 
the RC3 build.

set_error_handler( array(&$this, "errorhandler")) is broken.

This bug is also described in http://bugs.php.net/?id=23619 
<http://bugs.php.net/?id=23619&edit=2>
but it seems that the only intelligent response from sniper@php.net 
<mailto:sniper@php.net> seems to be
"this patch is bogus" and fails to explain himself at all.  This is not 
very productive, and is not helping to solve the issue.

  I have tried it in php 4.3.1 and php 4.3.2 RC2 and RC3.  It doesn't 
work.  I have provided a very simple php script which shows the 
problem.  the TestError::error() method is never called, and it should 
be.  You can comment the TestError error handler out, and use the 
global_error() function and see it working.

It is a very simple bug.  `set_error_handler()` assumes that the param 
passed in is a string, and tries to test the string the length, which is 
bogus in the case of it being an array.  Z_STRLEN_PP of an array?


<?php
ini_set("error_reporting" , E_ALL);
ini_set("display_errors", true);

// This handler works
function global_error($errno, $errstr, $errfile, $errline) {
    echo("global_error HANDLER CALLED (".$errstr.")\n");
}

class TestError {
    function TestError() {

        //This set_error_handler does not work.
        //it returns `TRUE` (which is wrong, because it never is set)
        $res = set_error_handler(array(&$this, "error"));
        echo("set_error_handler::error done retcode =" . 
var_export($res, true) . "\n");
    }

    //This handler FAILS to be called.
    function error($errno, $errstr, $errfile, $errline) {
        echo("TestError::error HANDLER CALLED (".$errstr.")\n");
    }

    function runTest() {
        $bar = $foo;   
    }
}

$t = new TestError();
//uncomment and use this handler to see it working.
//$res = set_error_handler("global_error");
//echo("set_error_handler::global_error done retcode =" . 
var_export($res, true) . "\n");
$t->runTest();
?>




The TestError::error handler fails to ever be called without the patch I 
provided, because
 `set_error_handler()` on line 894
...
    if (Z_STRLEN_PP(error_handler)==0) { /* unset user-defined handler */
        FREE_ZVAL(EG(user_error_handler));
        EG(user_error_handler) = NULL;
        RETURN_TRUE;
    }
...
it assumes error_handler zval is a string.  It is an array.  Clearly 
doing a Z_STRLEN_PP on an array is completely wrong, and causes this to 
fall through.  Why are we returning `TRUE` in this case anyways, and isn't 
this error case handled in the `is_callable()` check anyway?  This code is 
broken, and will never work in its current state.

It should include a test to make sure its a string before trying to see 
what the string length is!


    if (Z_TYPE_PP(error_handler) == IS_STRING && 
Z_STRLEN_PP(error_handler)==0) { /* unset user-defined handler */
        FREE_ZVAL(EG(user_error_handler));
        EG(user_error_handler) = NULL;
        RETURN_TRUE;
    }

This prevents the test of the string length unless its actually a 
string!  go figure.


Walt

---

## #1554 — Jani Taskinen — 2003-05-16T01:35:48+00:00

URL: https://externals.io/message/1549#1554 · In reply to: #1553

Disclaimer: It worked fine for me. :)
    (I have huge configure line, I'm trying to figure out currently
    what caused it to work, even when it shouldn't..)
    
    Simple ./configure --disable-all produced a php binary that
    shows the symptom described in the bug report.

    The last patch is ok, that part of the code in zend_builtin_functions.c
    seems to have been forgotten there by Andrei, who added support
    of object methods for `set_error_handler()`.
    
    --Jani

    p.s. This is not critical bug, the fix will be in next release, 4.3.3
         along with couple of dozen other fixes that didn't make it into 4.3.2.
         



>Howdy,
>  It seems the patch to fix the `set_error_handler()` didn't make it in 
>the RC3 build.
>
>set_error_handler( array(&$this, "errorhandler")) is broken.
>
>This bug is also described in http://bugs.php.net/?id=23619 
><http://bugs.php.net/?id=23619&edit=2>
>but it seems that the only intelligent response from sniper@php.net 
><mailto:sniper@php.net> seems to be
>"this patch is bogus" and fails to explain himself at all.  This is not 
>very productive, and is not helping to solve the issue.
>
>  I have tried it in php 4.3.1 and php 4.3.2 RC2 and RC3.  It doesn't 
>work.  I have provided a very simple php script which shows the 
>problem.  the TestError::error() method is never called, and it should 
>be.  You can comment the TestError error handler out, and use the 
>global_error() function and see it working.
>
>It is a very simple bug.  `set_error_handler()` assumes that the param 
>passed in is a string, and tries to test the string the length, which is 
>bogus in the case of it being an array.  Z_STRLEN_PP of an array?
>
>
><?php
>ini_set("error_reporting" , E_ALL);
>ini_set("display_errors", true);
>
>// This handler works
>function global_error($errno, $errstr, $errfile, $errline) {
>    echo("global_error HANDLER CALLED (".$errstr.")\n");
>}
>
>class TestError {
>    function TestError() {
>
>        //This set_error_handler does not work.
>        //it returns `TRUE` (which is wrong, because it never is set)
>        $res = set_error_handler(array(&$this, "error"));
>        echo("set_error_handler::error done retcode =" . 
>var_export($res, true) . "\n");
>    }
>
>    //This handler FAILS to be called.
>    function error($errno, $errstr, $errfile, $errline) {
>        echo("TestError::error HANDLER CALLED (".$errstr.")\n");
>    }
>
>    function runTest() {
>        $bar = $foo;   
>    }
>}
>
>$t = new TestError();
>//uncomment and use this handler to see it working.
>//$res = set_error_handler("global_error");
>//echo("set_error_handler::global_error done retcode =" . 
>var_export($res, true) . "\n");
>$t->runTest();
>?>
>
>
>
>
>The TestError::error handler fails to ever be called without the patch I 
>provided, because
>set_error_handler() on line 894
>...
>    if (Z_STRLEN_PP(error_handler)==0) { /* unset user-defined handler */
>        FREE_ZVAL(EG(user_error_handler));
>        EG(user_error_handler) = NULL;
>        RETURN_TRUE;
>    }
>...
>it assumes error_handler zval is a string.  It is an array.  Clearly 
>doing a Z_STRLEN_PP on an array is completely wrong, and causes this to 
>fall through.  Why are we returning `TRUE` in this case anyways, and isn't 
>this error case handled in the `is_callable()` check anyway?  This code is 
>broken, and will never work in its current state.
>
>It should include a test to make sure its a string before trying to see 
>what the string length is!
>
>
>    if (Z_TYPE_PP(error_handler) == IS_STRING && 
>Z_STRLEN_PP(error_handler)==0) { /* unset user-defined handler */
>        FREE_ZVAL(EG(user_error_handler));
>        EG(user_error_handler) = NULL;
>        RETURN_TRUE;
>    }
>
>This prevents the test of the string length unless its actually a 
>string!  go figure.
>
>
>Walt
>
>
>

-- 
<- For Sale!

---

## #1557 — Sebastian Bergmann — 2003-05-16T05:01:45+00:00

URL: https://externals.io/message/1549#1557 · In reply to: #1549

Jani Taskinen wrote:
> Please download and test it as much as possible on real-life
> applications to uncover any remaining issues.

  Woke up, updated and built the PHP_4_3 branch on my laptop, did a final
  check for a presentation I'm going to give later today -- and it
  segfaults with PHPUnit's HTML GUI.

  Gotta run now, so no backtrace. I hopefully find the time tonight to
  investigate.

-- 
  Sebastian Bergmann
  http://sebastian-bergmann.de/                 http://phpOpenTracker.de/

  Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/

---

## #1561 — Uwe Schindler — 2003-05-16T09:03:59+00:00

URL: https://externals.io/message/1549#1561 · In reply to: #1549

The following problem occurs now:


[16/May/2003:11:01:26] failure (19685): Configuration initialization 
failed: Error running init function load-modules: dlopen of 
/pangaea/webserver/bin/libphp4.so failed (ld.so.1: ns-httpd: fatal: 
relocation error: file /pangaea/webserver/bin/libphp4.so: symbol 
zend_is_auto_global: referenced symbol not found)


I am using the NSAPI module. Not good. All my CVS checkouts before 
worked... Could it be that the linking does not work correct?

Uwe

At 02:28 16.05.2003 +0300, you wrote:
>     This is the third and final release candidate of the upcoming
>     maintenance release of PHP 4.3.2.
>
>     Please download and test it as much as possible on real-life
>     applications to uncover any remaining issues.
>
>     Sources:
>
>       http://downloads.php.net/jani/php-4.3.2RC3.tar.bz2
>       http://downloads.php.net/jani/php-4.3.2RC3.tar.gz
>
>     Windows binaries:
>
>       http://downloads.php.net/jani/php-4.3.2RC3-Win32.zip
>
>     md5sums:
>
>       a454d1fd9aa4ca24848c53bb7160de22  php-4.3.2RC3-Win32.zip
>       f910021c6d931b68c53d5b511655bb13  php-4.3.2RC3.tar.bz2
>       c8ead30bdc146319719b65034c0ee44a  php-4.3.2RC3.tar.gz
>
>     List of additions/changes/fixes can be found here:
>
> 
>http://cvs.php.net/diff.php/php4/NEWS?r1=1.1247.2.35.4.1&r2=1.1247.2.200&tr2=1.1403&ty=h
>
>
>
>
>--
>
>

-----
Uwe Schindler
Addr 1: Bamberger Str. 24a, D-96049 Bamberg
Addr 2: Drausnickstr. 153, D-91052 Erlangen
http://www.thetaphi.de - http:///www.schindlers-software.de
eMails: uwe@thetaphi.de (private); info@schindlers-software.de (company)
Tel./Fax: +49 700 PCLATEIN (+49 700 72528346)

Schindlers Software - Home of Schindlers PC-LATEIN 3.10
DIE Software zum Lateinlernen!

---

## #1562 — Uwe Schindler — 2003-05-16T09:11:37+00:00

URL: https://externals.io/message/1549#1562 · In reply to: #1549

Sorry was a problem with a replaced .c file in ext/standard (was the php5 
version).

Sorry works fine now :)

At 11:03 16.05.2003 +0200, Uwe Schindler wrote:
>The following problem occurs now:
>
>
>
>[16/May/2003:11:01:26] failure (19685): Configuration initialization 
>failed: Error running init function load-modules: dlopen of 
>/pangaea/webserver/bin/libphp4.so failed (ld.so.1: ns-httpd: fatal: 
>relocation error: file /pangaea/webserver/bin/libphp4.so: symbol 
>zend_is_auto_global: referenced symbol not found)
>
>
>
>I am using the NSAPI module. Not good. All my CVS checkouts before 
>worked... Could it be that the linking does not work correct?
>
>Uwe
>
>At 02:28 16.05.2003 +0300, you wrote:
> > […]
>
>-----
>Uwe Schindler
>Addr 1: Bamberger Str. 24a, D-96049 Bamberg
>Addr 2: Drausnickstr. 153, D-91052 Erlangen
>http://www.thetaphi.de - http:///www.schindlers-software.de
>eMails: uwe@thetaphi.de (private); info@schindlers-software.de (company)
>Tel./Fax: +49 700 PCLATEIN (+49 700 72528346)
>
>Schindlers Software - Home of Schindlers PC-LATEIN 3.10
>DIE Software zum Lateinlernen!

-----
Uwe Schindler
Addr 1: Bamberger Str. 24a, D-96049 Bamberg
Addr 2: Drausnickstr. 153, D-91052 Erlangen
http://www.thetaphi.de - http:///www.schindlers-software.de
eMails: uwe@thetaphi.de (private); info@schindlers-software.de (company)
Tel./Fax: +49 700 PCLATEIN (+49 700 72528346)

Schindlers Software - Home of Schindlers PC-LATEIN 3.10
DIE Software zum Lateinlernen!

---

## #1627 — Sebastian Bergmann — 2003-05-17T07:23:28+00:00

URL: https://externals.io/message/1549#1627

Sebastian Bergmann wrote:
> Gotta run now, so no backtrace. I hopefully find the time tonight to
> investigate.

  For some reason I cannot get a backtrace, but

    1.) When using SAPI/CLI to execute the script in question I get

sb@wopr-mobile:/home/httpd/htdocs/phpOpenTracker/test/ > php
phpOpenTracker.php
[Sat May 17 09:20:04 2003]  Script:  'phpOpenTracker.php'
---------------------------------------
/usr/src/php4/Zend/zend_language_scanner.l(217) : Block 0xBFFF83E4 status:
Beginning:      Overrun (magic=0x0822667C, expected=0x7312F8DC)
       End:      Unknown
---------------------------------------
[Sat May 17 09:20:04 2003]  Script:  'phpOpenTracker.php'
---------------------------------------
/usr/src/php4/Zend/zend_execute_API.c(291) : Block 0x08398168 status:
/usr/src/php4/Zend/zend_variables.c(44) : Actual location (location was
relayed)
Beginning:      Cached (allocated on
/usr/src/php4/Zend/zend_operators.c:1056, 73 bytes)
       End:      OK
---------------------------------------

    2.) Valgrind tells the following:

==20004== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux.
==20004== Copyright (C) 2002, and GNU GPL'd, by Julian Seward.
==20004== Using valgrind-1.9.6, a program instrumentation system for
x86-linux.
==20004== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward.
==20004==
==20004== My PID = 20004, parent PID = 25872.  Prog and args are:
==20004==    php
==20004==    phpOpenTracker.php
==20004==
==20004== Startup, with flags:
==20004==    --suppressions=/usr/lib/valgrind/default.supp
==20004==    --logfile=valgrind
==20004==    -v
==20004== Reading suppressions file: /usr/lib/valgrind/default.supp
==20004== Estimated CPU clock rate is 828 MHz
==20004==
==20004== Reading syms from /usr/local/bin/php
==20004== Reading syms from /lib/ld-2.3.1.so
==20004==    object doesn't have any debug info
==20004== Reading syms from /usr/lib/valgrind/vgskin_memcheck.so
==20004==    object doesn't have any debug info
==20004== Reading syms from /usr/lib/valgrind/valgrind.so
==20004==    object doesn't have any debug info
==20004== Reading syms from /lib/libcrypt-2.3.1.so
==20004==    object doesn't have any debug info
==20004== Reading syms from /usr/lib/libz.so.1.1.4
==20004==    object doesn't have any debug info
==20004== Reading syms from /usr/lib/libfreetype.so.6.3.3
==20004==    object doesn't have any debug info
==20004== Reading syms from /usr/X11R6/lib/libX11.so.6.2
==20004==    object doesn't have any debug info
==20004== Reading syms from /usr/X11R6/lib/libXpm.so.4.11
==20004==    object doesn't have any debug info
==20004== Reading syms from /usr/lib/libpng.so.3.1.2.5
==20004==    object doesn't have any debug info
==20004== Reading syms from /usr/lib/libjpeg.so.62.0.0
==20004==    object doesn't have any debug info
==20004== Reading syms from /lib/libresolv-2.3.1.so
==20004==    object doesn't have any debug info
==20004== Reading syms from /lib/libm-2.3.1.so
==20004==    object doesn't have any debug info
==20004== Reading syms from /lib/libdl-2.3.1.so
==20004==    object doesn't have any debug info
==20004== Reading syms from /lib/libnsl-2.3.1.so
==20004==    object doesn't have any debug info
==20004== Reading syms from /lib/libc-2.3.1.so
==20004==    object doesn't have any debug info
==20004== Reading syms from /lib/libnss_files-2.3.1.so
==20004==    object doesn't have any debug info
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x816D5C5: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:216)
==20004==    by 0x81739B4: zend_parse_ini_file
(/usr/src/php4/Zend/zend_ini_parser.y:166)
==20004==    by 0x80C7E95: zif_parse_ini_file
(/usr/src/php4/ext/standard/basic_functions.c:2894)
==20004==    by 0x819DFD1: execute (/usr/src/php4/Zend/zend_execute.c:1606)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x8175E2E: _efree (/usr/src/php4/Zend/zend_alloc.c:241)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==    by 0x81739B4: zend_parse_ini_file
(/usr/src/php4/Zend/zend_ini_parser.y:166)
==20004==    by 0x80C7E95: zif_parse_ini_file
(/usr/src/php4/ext/standard/basic_functions.c:2894)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x8176B0F: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:637)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==    by 0x81739B4: zend_parse_ini_file
(/usr/src/php4/Zend/zend_ini_parser.y:166)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x8176B1B: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:637)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==    by 0x81739B4: zend_parse_ini_file
(/usr/src/php4/Zend/zend_ini_parser.y:166)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x8176B28: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:637)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==    by 0x81739B4: zend_parse_ini_file
(/usr/src/php4/Zend/zend_ini_parser.y:166)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x8176B3F: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:637)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==    by 0x81739B4: zend_parse_ini_file
(/usr/src/php4/Zend/zend_ini_parser.y:166)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x4048F268: _IO_vfprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x404AA1AB: _IO_vsprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x8176A01: zend_debug_alloc_output
(/usr/src/php4/Zend/zend_alloc.c:600)
==20004==    by 0x8176AD1: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:630)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x4048EB29: _IO_vfprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x404AA1AB: _IO_vsprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x8176A01: zend_debug_alloc_output
(/usr/src/php4/Zend/zend_alloc.c:600)
==20004==    by 0x8176AD1: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:630)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x4048EB87: _IO_vfprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x404AA1AB: _IO_vsprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x8176A01: zend_debug_alloc_output
(/usr/src/php4/Zend/zend_alloc.c:600)
==20004==    by 0x8176AD1: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:630)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x4048EC15: _IO_vfprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x404AA1AB: _IO_vsprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x8176A01: zend_debug_alloc_output
(/usr/src/php4/Zend/zend_alloc.c:600)
==20004==    by 0x8176AD1: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:630)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x8176B0F: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:637)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x8176B1B: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:637)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x8176B28: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:637)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x8176B3F: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:637)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x8176C7C: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:665)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x4048F268: _IO_vfprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x404AA1AB: _IO_vsprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x8176A01: zend_debug_alloc_output
(/usr/src/php4/Zend/zend_alloc.c:600)
==20004==    by 0x8176C8F: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:665)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x4048EB87: _IO_vfprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x404AA1AB: _IO_vsprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x8176A01: zend_debug_alloc_output
(/usr/src/php4/Zend/zend_alloc.c:600)
==20004==    by 0x8176C8F: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:665)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x4048EC15: _IO_vfprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x404AA1AB: _IO_vsprintf_internal (in /lib/libc-2.3.1.so)
==20004==    by 0x8176A01: zend_debug_alloc_output
(/usr/src/php4/Zend/zend_alloc.c:600)
==20004==    by 0x8176C8F: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:665)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x8176CE2: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:675)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==    by 0x816D5F6: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:217)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x4016212A: memcpy (in /usr/lib/valgrind/valgrind.so)
==20004==    by 0x8176CFE: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:675)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x40162174: memcpy (in /usr/lib/valgrind/valgrind.so)
==20004==    by 0x8176CFE: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:675)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x4016217F: memcpy (in /usr/lib/valgrind/valgrind.so)
==20004==    by 0x8176CFE: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:675)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x40162186: memcpy (in /usr/lib/valgrind/valgrind.so)
==20004==    by 0x8176CFE: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:675)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x4016218D: memcpy (in /usr/lib/valgrind/valgrind.so)
==20004==    by 0x8176CFE: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:675)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==
==20004== Use of uninitialised value of size 4
==20004==    at 0x40162194: memcpy (in /usr/lib/valgrind/valgrind.so)
==20004==    by 0x8176CFE: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:675)
==20004==    by 0x8176CC0: _mem_block_check
(/usr/src/php4/Zend/zend_alloc.c:667)
==20004==    by 0x8175E76: _efree (/usr/src/php4/Zend/zend_alloc.c:243)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x816D608: zend_file_handle_dtor
(/usr/src/php4/Zend/zend_language_scanner.l:220)
==20004==    by 0x81739B4: zend_parse_ini_file
(/usr/src/php4/Zend/zend_ini_parser.y:166)
==20004==    by 0x80C7E95: zif_parse_ini_file
(/usr/src/php4/ext/standard/basic_functions.c:2894)
==20004==    by 0x819DFD1: execute (/usr/src/php4/Zend/zend_execute.c:1606)
==20004==
==20004== Conditional jump or move depends on uninitialised value(s)
==20004==    at 0x40162037: strlen (in /usr/lib/valgrind/valgrind.so)
==20004==    by 0x8151792: xbuf_format_converter
(/usr/src/php4/main/spprintf.c:438)
==20004==    by 0x8151D4F: vspprintf (/usr/src/php4/main/spprintf.c:622)
==20004==    by 0x814D33D: php_error_cb (/usr/src/php4/main/main.c:604)
==20004==
==20004== Invalid read of size 1
==20004==    at 0x4054D2F4: __GI__dl_close (in /lib/libc-2.3.1.so)
==20004==    by 0x4054DEEB: do_dlclose (in /lib/libc-2.3.1.so)
==20004==    by 0x4000ADF5: _dl_catch_error_internal (in /lib/ld-2.3.1.so)
==20004==    by 0x4054DDFD: dlerror_run (in /lib/libc-2.3.1.so)
==20004==    Address 0x1E7 is not stack'd, malloc'd or free'd

  Maybe this helps, maybe it doesn't,
Sebastian

-- 
  Sebastian Bergmann
  http://sebastian-bergmann.de/                 http://phpOpenTracker.de/

  Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/
