ID:               20665
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Won\'t fix
 Bug Type:         Apache related
 Operating System: BSD/OS 4.2
 PHP Version:      4.3.0RC1
 New Comment:

When PHP recieves the signal it stops the current execution and
immidiately goes to the shutdown code. The result is that there are
some non-freed buffers, who's memory you see the shutdown code free and
report as memory leaks. These are not actual leaks and they can be
safely ignored.


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

[2002-12-03 04:38:39] [EMAIL PROTECTED]

Just ran into the same 'Unable to allocate 129bytes' error with a
totally different script. This is actually a bug in spprintf. The
129bytes are the allocation for the 'Maximum executions time of %d
second%s execeeded' error message.

Relaying to new bug.
RC2 will be installed later today, to check the memory leaks.
Updated summary

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

[2002-11-30 03:36:43] [EMAIL PROTECTED]

Traced the segfaults to an infinite loop in one script in a situation
that shouldn't normally occur (iow sloppy coding :).
I used squid in accellerator mode, to find out which script it was (For
reference: grep for 'HTTP/1.[01]" 503' and use emulate_httpd_log On).
It would really be nice, if emalloc failures could report some more
info than 'oops, I failed'.

The memleaks are still there on SIGHUP and are unrelated. Will try RC2
this weekend.

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

[2002-11-28 09:00:07] [EMAIL PROTECTED]

CFLAGS='-O0' \
./configure \
        --prefix=/phpct \
        --with-apache=../apache_1.3.27 \
        --enable-cli \
        --disable-cgi \
        --enable-debug \
        --enable-magic-quotes \
        --disable-short-tags \
        --with-zlib \
        --with-zlib-dir=/usr \
        --enable-calendar \
        --enable-ftp \
        --with-mhash=/weblib/local \
        --enable-shmop \
        --enable-sysvmsg \
        --enable-sysvsem \
        --enable-sysvshm

waiting for a coredump.. :)

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

[2002-11-28 08:17:25] [EMAIL PROTECTED]

As a security procution Apache does not write core files, in order to
make it do so you must tell it where to write core files using:
CoreDumpDirectory /tmp.
In debug builds Zend will segfault if emalloc() fails to allocate
memory.
Also, could you please include the list of extensions you've compiled
your PHP with (put config.nice online somewhere?).

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

[2002-11-28 06:34:38] [EMAIL PROTECTED]

Yes, it does put out the scriptname, with the mem leaks -it's always
the same script, which is nothing more than a static file which echo's
the current timestamp into 8 different places for banners - that's why
it doesn't make sence.

However - when an emalloc call fails, it doesn't output the scriptname
nor the c file, which called the emalloc.

It only happens a few times a day, so the cause could be the memory
leaks or it could be a script which isn't requested too much.

I see a SIGSEV afterwards, but no core dump and it's not like I can
startup Apache from gdb and request a certain file to reproduce it,
since I have no idea where to look.

I will recheck settings to make it dump core.

What's also strange is that these leaks only get reported on a SIGHUP.
Through the entire error log, there are no other leak reports. This
would suggest something in the SIGCHILD and therefore the shutdown
handler.

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

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

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

Reply via email to