ID:               36884
 Comment by:       kutovoy at gmail dot com
 Reported By:      guenther dot unterrainer at gknsintermetals dot com
 Status:           No Feedback
 Bug Type:         Apache related
 Operating System: SLES9 SP3 x86-64
 PHP Version:      4.4.2
 New Comment:

The same errors on big arrays of objects. on PHP 4.4.2, I'm now trying
to figure out working version of PHP.

*** glibc detected *** free(): invalid pointer: 0x08925b00 ***
[Wed Oct 11 09:26:06 2006] [notice] child pid 2610 exit signal Aborted
(6)
[Wed Oct 11 09:28:38 2006] [error] [client 194.247.xxx.yyy] File does
not exist: /xxx/htdocs/yyy/favicon.ico
[Wed Oct 11 10:58:43 2006] [notice] child pid 4059 exit signal
Segmentation fault (11)

and similar with *** glibc detected *** corrupted double-linked list:


Previous Comments:
------------------------------------------------------------------------

[2006-10-05 21:14:55] ndickerson at gmi-mr dot com

I have also encountered this bug on php 4.3.10 using php xmlrpc
libraries(phpxmlrpc.sourceforge.net) and processing an array of 20,000
records using the library, which happens to create a large number of
objects.

*** glibc detected *** double free or corruption (!prev): 0x0fbf24b8
***

is followed by some

*** glibc detected *** corrupted double-linked list: 0x006f4858 ***

There are also some other errors that I have lost that occur in the
place of the double free or corruption error..

This works fine when it is not processing as many objects.

------------------------------------------------------------------------

[2006-10-05 16:53:12] egon at inf dot ufpr dot br

The above code works fine in 5.1. It crashes on PHP 4.3.4, 4.4.2 and
4.4.4 on both linux/windows.

------------------------------------------------------------------------

[2006-10-04 22:35:04] egon at inf dot ufpr dot br

By the way, I've got several types of erros, it appears to be random:


[Wed Oct 04 17:51:18 2006] [notice] child pid 12451 exit signal
Segmentation fault (11)

*** glibc detected *** free(): invalid next size (fast): 0x08202798
***
[Wed Oct 04 17:58:35 2006] [notice] child pid 12693 exit signal Aborted
(6)


77*** glibc detected *** corrupted double-linked list: 0xb7b7d358 ***
[Wed Oct 04 19:21:51 2006] [notice] child pid 12731 exit signal Aborted
(6)

------------------------------------------------------------------------

[2006-10-04 22:31:30] egon at inf dot ufpr dot br

Man, this was very difficult to track down. I spent some hours locating
to problem and trying to isolate it. To me it has nothing to do with
databases or acceletators. Apparently it has to do with a lot of
classes in an array. I'm using
PHP 4.4.2-1build1 on Ubuntu 6.06.
You need to have some high limit on php.ini's memory_limit (to me 512M
was enough). The 'magical' number 16000 on the code above can be
lowered to 3000 to crash my 1GRam machine but I had to increase it to
16000 to crash my 2GRam server.
I have a production server down now because of this, any suggestions?
Downgrading perhaps?
We will be glad to cooperate with more info.
Thanks,


<?php
class Field {
        var $name,$type,$value, $length, $allownull, $description,
$long_description, $validation, $accepted_values, $default_value;
        function Field($name, $type, $length, $allownull, $description,
$default=NULL,$long_description=NULL) {
                $this->name=$name;
                $this->type=$type;
                $this->length=$length;
                $this->allownull=$allownull;
                $this->description=$description;
                $this->long_description=$long_description;
                $this->default_value=$default;
                $this->validation=NULL;
                $this->accepted_values=NULL;
        }
}
class DBObject {
        function DBObject($conn=NULL) {
                $this->setupFields();
                $this->conn=$conn;
                $this->orderby=array();
        }
        function addField($name, $type, $length, $allownull,
$description, $default=NULL,$long_description=NULL) {
                $this->field[$name]["obj"]=new Field($name, $type,
$length, $allownull, $description, $default,$long_description);
        }
}
class SomeTable extends DBObject {
        function setupFields() {
                for ($i=0;$i<26;$i++)
                        $this->addField("field$i", "string", 11, false,
"Some field");
        }
}
function crashMe() {
        $x=new SomeTable(NULL);
        $arr=array();
        for($i=0;$i<16000;$i++) {
                $m=new SomeTable(NULL);
                $arr[]=$m;
        }
        return $arr;
}
crashMe();
echo "I've not crashed?";
?>

------------------------------------------------------------------------

[2006-09-14 17:40:07] albertof at barrahome dot org

I got the same error:

*** glibc detected *** free(): invalid pointer: 0x09586360 ***
*** glibc detected *** free(): invalid pointer: 0x099f2360 ***
*** glibc detected *** free(): invalid pointer: 0x0a0f1360 ***


[EMAIL PROTECTED] [/usr/local/apache/conf]# php -v
PHP 4.4.4 (cli) (built: Sep 14 2006 14:21:20)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
    with Zend Extension Manager v1.0.10, Copyright (c) 2003-2006, by
Zend Technologies
    with Zend Optimizer v3.0.0, Copyright (c) 1998-2006, by Zend
Technologies
*** glibc detected *** corrupted double-linked list: 0x09328b90 ***
Aborted (core dumped)
[EMAIL PROTECTED] [/usr/local/apache/conf]#

I solve disabling the Zend Optimizer module.

------------------------------------------------------------------------

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

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

Reply via email to