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