Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:51807 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 21342 invoked from network); 3 Apr 2011 13:46:47 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Apr 2011 13:46:47 -0000 Authentication-Results: pb1.pair.com smtp.mail=patrick.allaert@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=patrick.allaert@gmail.com; sender-id=pass; domainkeys=bad Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.215.170 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: patrick.allaert@gmail.com X-Host-Fingerprint: 209.85.215.170 mail-ey0-f170.google.com Received: from [209.85.215.170] ([209.85.215.170:37253] helo=mail-ey0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 03/30-18667-54A789D4 for ; Sun, 03 Apr 2011 09:46:46 -0400 Received: by eyf5 with SMTP id 5so1416860eyf.29 for ; Sun, 03 Apr 2011 06:46:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=/QnQpaK88q7UXLzOl/a3QiIeTGJyyTmzEGebJr0FgAY=; b=xyWMr8qSbR58rdNowtUufp/prALbZx8JSJJUoa8eUIcUg0ZGTMSZB9LCOYrGbOzO+7 HwqAmdMIzLHJLc7YEkex47R5jUwfgSQ9npOPZ6Bv7JuSMUXVFw6qrYSLT0CbMO3jsKZ6 QB9m20m2lAcK5elj7Z1S2ZCbk+6TP7almQFuU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=kpjBIywZXPo2D3ihsxc/Fhivt/7mLic6zdf8wTwX65X5LxzuVGsRb1zBmnasjdggGs CHT8Aa8vbSzvtnej84pnVSWAzX8hNvtUr49NejRDq0WnwCpyInDGKMyRD0t/XEgV1fzh 7daKIYU1Ac+g01vhxJNaNw+TImX+zqlWGFoMQ= MIME-Version: 1.0 Received: by 10.213.11.18 with SMTP id r18mr1143593ebr.81.1301838402486; Sun, 03 Apr 2011 06:46:42 -0700 (PDT) Received: by 10.213.31.205 with HTTP; Sun, 3 Apr 2011 06:46:42 -0700 (PDT) In-Reply-To: <4D985602.2080703@nouvo.com> References: <4D95B6AB.30608@templeet.org> <4D960169.3000400@templeet.org> <4D9849EA.9010805@nouvo.com> <4D985602.2080703@nouvo.com> Date: Sun, 3 Apr 2011 13:46:42 +0000 Message-ID: To: Pascal COURTOIS Cc: internals@lists.php.net Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] how to find a memory corruption in php ? From: patrick.allaert@gmail.com (Patrick ALLAERT) 2011/4/3 Pascal COURTOIS : > Le 03/04/2011 12:46, Pierre Joye a =C3=A9crit : > >> USE_ZEND_ALLOC=3D0 valgrind php --leak-check=3Dfull sapi/cli/php ... (or >> httpd if you use apache or only reproducible there) >> >> That will tell you if there are actual leaks. > > =C2=A0it IS leaking: > > =3D=3D9772=3D=3D Memcheck, a memory error detector > =3D=3D9772=3D=3D Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward= et al. > =3D=3D9772=3D=3D Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -= h for copyright info > =3D=3D9772=3D=3D Command: /home/courtois/php-5.3.6/sapi/cgi/php-cgi > =3D=3D9772=3D=3D > /var/www/dev4.sociatomdev.com/chroot/htdocs/templeet/fetch.php(215) : War= ning - Cannot modify header information - headers already sent by (output s= tarted at /var/www/dev4.sociatomdev.com/chroot/htdocs/templeet/fetch.php:58= 0) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D HEAP SUMMARY: > =3D=3D9772=3D=3D =C2=A0 =C2=A0 in use at exit: 60,706 bytes in 1,591 bloc= ks > =3D=3D9772=3D=3D =C2=A0 total heap usage: 1,822,108 allocs, 1,820,517 fre= es, 303,318,634 bytes allocated > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 21 (20 direct, 1 indirect) bytes in 1 blocks are definit= ely lost in loss record 27 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845A07A: zend_assign_to_variable_refer= ence (zend_execute.c:413) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84E558E: ZEND_ASSIGN_REF_SPEC_CV_VAR_H= ANDLER (zend_vm_execute.h:27383) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845CE46: execute (zend_vm_execute.h:10= 7) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8430173: zend_execute_scripts (zend.c:= 1194) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 21 (20 direct, 1 indirect) bytes in 1 blocks are definit= ely lost in loss record 28 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845B3E4: zend_assign_to_variable (zend= _execute.c:714) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84D40A3: ZEND_ASSIGN_SPEC_CV_CONST_HAN= DLER (zend_vm_execute.h:24059) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845CE46: execute (zend_vm_execute.h:10= 7) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8430173: zend_execute_scripts (zend.c:= 1194) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 39 bytes in 3 blocks are possibly lost in loss record 46= of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F685: _estrndup (zend_alloc.c:2525) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F588F: zend_scan_escape_string (zend= _language_scanner.l:740) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F74AC: lex_scan (zend_language_scann= er.l:2037) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x841CEEE: zendlex (zend_compile.c:4954) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83EF882: zendparse (zend_language_pars= er.c:3280) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F517F: compile_file (zend_language_s= canner.l:364) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8265A34: phar_compile_file (phar.c:339= 3) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83AEE26: xc_check_initial_compile_file= (xcache.c:929) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84300D3: zend_execute_scripts (zend.c:= 1186) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 40 bytes in 2 blocks are definitely lost in loss record = 54 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84CCA39: zend_send_by_var_helper_SPEC_= CV (zend_vm_execute.h:22135) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84CD161: ZEND_SEND_VAR_SPEC_CV_HANDLER= (zend_vm_execute.h:22242) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845CE46: execute (zend_vm_execute.h:10= 7) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8430173: zend_execute_scripts (zend.c:= 1194) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 54 (20 direct, 34 indirect) bytes in 1 blocks are defini= tely lost in loss record 65 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845AAC6: zend_assign_to_object (zend_e= xecute.c:558) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84D38B9: ZEND_ASSIGN_OBJ_SPEC_CV_CONST= _HANDLER (zend_vm_execute.h:23966) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845CE46: execute (zend_vm_execute.h:10= 7) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8430173: zend_execute_scripts (zend.c:= 1194) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 75 bytes in 12 blocks are possibly lost in loss record 7= 3 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F685: _estrndup (zend_alloc.c:2525) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F588F: zend_scan_escape_string (zend= _language_scanner.l:740) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F9834: lex_scan (zend_language_scann= er.l:1870) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x841CEEE: zendlex (zend_compile.c:4954) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83EF882: zendparse (zend_language_pars= er.c:3280) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F517F: compile_file (zend_language_s= canner.l:364) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8265A34: phar_compile_file (phar.c:339= 3) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83AEE26: xc_check_initial_compile_file= (xcache.c:929) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84300D3: zend_execute_scripts (zend.c:= 1186) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 85 bytes in 11 blocks are possibly lost in loss record 7= 7 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F685: _estrndup (zend_alloc.c:2525) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8402183: lex_scan (zend_language_scann= er.l:1036) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x841CEEE: zendlex (zend_compile.c:4954) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83EF882: zendparse (zend_language_pars= er.c:3280) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F517F: compile_file (zend_language_s= canner.l:364) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8265A34: phar_compile_file (phar.c:339= 3) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83AEE26: xc_check_initial_compile_file= (xcache.c:929) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84300D3: zend_execute_scripts (zend.c:= 1186) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 92 (80 direct, 12 indirect) bytes in 4 blocks are defini= tely lost in loss record 82 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845D63A: zend_do_fcall_common_helper_S= PEC (zend_vm_execute.h:300) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84612E1: ZEND_DO_FCALL_SPEC_CONST_HAND= LER (zend_vm_execute.h:1606) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845CE46: execute (zend_vm_execute.h:10= 7) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8430173: zend_execute_scripts (zend.c:= 1194) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 100 bytes in 7 blocks are possibly lost in loss record 8= 4 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x842CCDE: zend_str_tolower_dup (zend_op= erators.c:1884) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8414252: zend_do_begin_dynamic_functio= n_call (zend_compile.c:1683) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8413D94: zend_do_begin_function_call (= zend_compile.c:1575) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F2378: zendparse (zend_language_pars= er.c:4652) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F517F: compile_file (zend_language_s= canner.l:364) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8265A34: phar_compile_file (phar.c:339= 3) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83AEE26: xc_check_initial_compile_file= (xcache.c:929) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84300D3: zend_execute_scripts (zend.c:= 1186) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 100 bytes in 12 blocks are possibly lost in loss record = 85 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F685: _estrndup (zend_alloc.c:2525) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83FA90D: lex_scan (zend_language_scann= er.l:1672) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x841CEEE: zendlex (zend_compile.c:4954) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83EF882: zendparse (zend_language_pars= er.c:3280) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F517F: compile_file (zend_language_s= canner.l:364) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8265A34: phar_compile_file (phar.c:339= 3) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83AEE26: xc_check_initial_compile_file= (xcache.c:929) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84300D3: zend_execute_scripts (zend.c:= 1186) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 122 bytes in 9 blocks are possibly lost in loss record 9= 0 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F685: _estrndup (zend_alloc.c:2525) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F820E: lex_scan (zend_language_scann= er.l:1695) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x841CEEE: zendlex (zend_compile.c:4954) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83EF882: zendparse (zend_language_pars= er.c:3280) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F517F: compile_file (zend_language_s= canner.l:364) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8265A34: phar_compile_file (phar.c:339= 3) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83AEE26: xc_check_initial_compile_file= (xcache.c:929) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84300D3: zend_execute_scripts (zend.c:= 1186) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 182 bytes in 14 blocks are possibly lost in loss record = 100 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F685: _estrndup (zend_alloc.c:2525) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F9637: lex_scan (zend_language_scann= er.l:1817) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x841CEEE: zendlex (zend_compile.c:4954) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83EF882: zendparse (zend_language_pars= er.c:3280) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F517F: compile_file (zend_language_s= canner.l:364) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8265A34: phar_compile_file (phar.c:339= 3) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83AEE26: xc_check_initial_compile_file= (xcache.c:929) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84300D3: zend_execute_scripts (zend.c:= 1186) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 322 bytes in 34 blocks are possibly lost in loss record = 112 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x842CCDE: zend_str_tolower_dup (zend_op= erators.c:1884) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8413D39: zend_do_begin_function_call (= zend_compile.c:1571) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F2378: zendparse (zend_language_pars= er.c:4652) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F517F: compile_file (zend_language_s= canner.l:364) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8265A34: phar_compile_file (phar.c:339= 3) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83AEE26: xc_check_initial_compile_file= (xcache.c:929) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84300D3: zend_execute_scripts (zend.c:= 1186) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 482 (144 direct, 338 indirect) bytes in 1 blocks are def= initely lost in loss record 116 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F5086: compile_file (zend_language_s= canner.l:334) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8265A34: phar_compile_file (phar.c:339= 3) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83AEE26: xc_check_initial_compile_file= (xcache.c:929) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84300D3: zend_execute_scripts (zend.c:= 1186) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 613 (60 direct, 553 indirect) bytes in 3 blocks are defi= nitely lost in loss record 117 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84CCFF2: ZEND_SEND_REF_SPEC_CV_HANDLER= (zend_vm_execute.h:22226) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845CE46: execute (zend_vm_execute.h:10= 7) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8430173: zend_execute_scripts (zend.c:= 1194) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 679 (120 direct, 559 indirect) bytes in 6 blocks are def= initely lost in loss record 121 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845B497: zend_assign_to_variable (zend= _execute.c:724) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84DB447: ZEND_ASSIGN_SPEC_CV_TMP_HANDL= ER (zend_vm_execute.h:25697) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845CE46: execute (zend_vm_execute.h:10= 7) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8430173: zend_execute_scripts (zend.c:= 1194) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 14,467 (88 direct, 14,379 indirect) bytes in 2 blocks ar= e definitely lost in loss record 135 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4023F50: malloc (vg_replace_malloc.c:2= 36) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F2D1: _emalloc (zend_alloc.c:2370) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8423FFC: zend_rebuild_symbol_table (ze= nd_execute_API.c:1699) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845B588: zend_get_target_symbol_table = (zend_execute.c:766) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x846082C: zend_fetch_var_address_helper= _SPEC_CONST (zend_vm_execute.h:1340) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8460EA0: ZEND_FETCH_R_SPEC_CONST_HANDL= ER (zend_vm_execute.h:1424) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x845CE46: execute (zend_vm_execute.h:10= 7) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8430173: zend_execute_scripts (zend.c:= 1194) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D 17,328 bytes in 1 blocks are possibly lost in loss recor= d 136 of 136 > =3D=3D9772=3D=3D =C2=A0 =C2=A0at 0x4024046: realloc (vg_replace_malloc.c:= 525) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x840F392: _erealloc (zend_alloc.c:2391) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8425C72: pass_two (zend_opcode.c:380) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83F51DB: compile_file (zend_language_s= canner.l:376) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x8265A34: phar_compile_file (phar.c:339= 3) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83AEE26: xc_check_initial_compile_file= (xcache.c:929) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84300D3: zend_execute_scripts (zend.c:= 1186) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x83C70C8: php_execute_script (main.c:22= 68) > =3D=3D9772=3D=3D =C2=A0 =C2=A0by 0x84F4A3A: main (cgi_main.c:2109) > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D LEAK SUMMARY: > =3D=3D9772=3D=3D =C2=A0 =C2=A0definitely lost: 592 bytes in 21 blocks > =3D=3D9772=3D=3D =C2=A0 =C2=A0indirectly lost: 15,877 bytes in 524 blocks > =3D=3D9772=3D=3D =C2=A0 =C2=A0 =C2=A0possibly lost: 18,353 bytes in 103 b= locks > =3D=3D9772=3D=3D =C2=A0 =C2=A0still reachable: 25,884 bytes in 943 blocks > =3D=3D9772=3D=3D =C2=A0 =C2=A0 =C2=A0 =C2=A0 suppressed: 0 bytes in 0 blo= cks > =3D=3D9772=3D=3D Reachable blocks (those to which a pointer was found) ar= e not shown. > =3D=3D9772=3D=3D To see them, rerun with: --leak-check=3Dfull --show-reac= hable=3Dyes > =3D=3D9772=3D=3D > =3D=3D9772=3D=3D For counts of detected and suppressed errors, rerun with= : -v > =3D=3D9772=3D=3D ERROR SUMMARY: 18 errors from 18 contexts (suppressed: 3= 8 from 11) Sounds like "now" is a good time to fill in a bug report at http://bugs.php.net/ :) Don't forget to add valgrind's output. Patrick