Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23904 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 67273 invoked by uid 1010); 4 Jun 2006 03:09:09 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 67257 invoked from network); 4 Jun 2006 03:09:09 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Jun 2006 03:09:09 -0000 X-PHP-List-Original-Sender: steph@zend.com X-Host-Fingerprint: 192.38.9.232 gw2.emini.dk Linux 2.4/2.6 Received: from ([192.38.9.232:12620] helo=gw2.emini.dk) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 47/77-49656-4DE42844 for ; Sat, 03 Jun 2006 23:09:09 -0400 Received: from foxbox (unknown [84.228.79.24]) by gw2.emini.dk (Postfix) with ESMTP id E9A7CB4E44 for ; Sun, 4 Jun 2006 05:09:02 +0200 (CEST) Message-ID: <04ff01c68783$ed250650$6602a8c0@foxbox> Reply-To: "Steph Fox" To: "internals" Date: Sun, 4 Jun 2006 05:06:50 +0200 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_04FC_01C68794.AFE29710" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Subject: Fw: [PHP-DEV] More diagnostics - win32/shared extension shutdown crash [WAS: the most bizarre thing...] From: steph@zend.com ("Steph Fox") ------=_NextPart_000_04FC_01C68794.AFE29710 Content-Type: text/plain; format=flowed; charset="Windows-1252"; reply-type=response Content-Transfer-Encoding: 7bit erm, _with_ attached output! ----- Original Message ----- From: "Steph Fox" To: "Dmitry Stogov" ; "Andi Gutmans" Cc: "internals" Sent: Sunday, June 04, 2006 5:02 AM Subject: [PHP-DEV] More diagnostics - win32/shared extension shutdown crash [WAS: the most bizarre thing...] > OK people, I'm finally getting somewhere with this one now. More > diagnostics: > > In debug mode, the Tidy extension crashes with an assert failure at > exactly the same point PHP-GTK release version dies - during the call to > zend_hash_destroy(compiler_globals->class_table) from > compiler_globals_dtor(), the second time the dtor's called. > > By this time GLOBALS_CLASS_TABLE no longer exists, which is why my > original patch for this works. (That table _does_ exist the first time > compiler_globals_dtor() is called, and I wasn't able to 'watch' the dtor > being called during shutdown until now.) > > That assert failure comes from dbgheap.c: > > /* > * If this ASSERT fails, a bad pointer has been passed in. It may > be > * totally bogus, or it may have been allocated from another heap. > * The pointer MUST come from the 'local' heap. > */ > _ASSERTE(_CrtIsValidHeapPointer(pUserData)); > > Running Tidy in release mode with a few of my own debugging lines gives > the attached output. See where that single call to > zend_hash_destroy(compiler_globals->class_table) triggers 330 further > calls to zend_hash_destroy() for Tidy? It gets through 307 of a potential > 1446 calls before crashing there for PHP-GTK. That 307 happens to be the > exact same number it gets through for Tidy in debug mode before the assert > failure. I'd guess 307 debug lines is as much as my console can print > between loading the CG class table into zend_hash_destroy and actually > crashing :) > > It's quite likely I've got some win32 debug flags mixed up somewhere in > the PHP-GTK build system - I'm getting the same results for 'release' > PHP-GTK as for 'debug' Tidy, except of course without the helpful message. > But the underlying problem looks like being that we pass an invalid > pointer to zend_hash_destroy() from the compiler globals destructor during > shutdown, when *any* shared extension declaring its own internal classes > is loaded. > > The same isn't true regarding internal functions... > > Can anyone back this 'true-on-my-box' theory? - I only have two extensions > handy to test this with at present. > > You're looking for a crash on shutdown under CLI win32 debug, for > ini-loaded extensions declaring their own classes. Currently those > extensions also need to have "ts_free_id(extname#_globals_id);" in their > MSHUTDOWN function, or you'll see the wrong crash. > > - Steph > > > > ----- Original Message ----- > From: "Steph Fox" > To: "Dmitry Stogov" > Cc: "internals" > Sent: Friday, June 02, 2006 8:41 AM > Subject: [PHP-DEV] [PATCH] the most bizarre thing... > > >> Dmitry, have you _any_ idea why this might fix my CG table-freeing crash? >> >> It still gets past the != check, so presumably it still does the same >> destroy-and-free - but it works now?! >> >> - Steph > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php ------=_NextPart_000_04FC_01C68794.AFE29710 Content-Type: text/plain; format=flowed; name="tidy.output.txt"; reply-type=response Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="tidy.output.txt" /* zend_hash_destroy: HashTable has 0 elements */=0A= /* GLOBAL_CLASS_TABLE: nNumOfElements is 0 */=0A= /* compiler_globals->class_table: nNumOfElements is 0 */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 5 elements */=0A= /* zend_hash_destroy: HashTable has 5 elements */=0A= PHP 5.2.0-dev (cli) (built: Jun 3 2006 23:36:12) =0A= Copyright (c) 1997-2006 The PHP Group=0A= Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 39 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 31 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* tidy: Module shutdown */=0A= /* ts_free_id: Freeing resource id 25 */=0A= /* tidy: calling DL_UNLOAD */=0A= /* libxml: Module shutdown */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* standard: Module shutdown */=0A= /* ts_free_id: Freeing resource id 16 */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 5 elements */=0A= /* ts_free_id: Freeing resource id 17 */=0A= /* ts_free_id: Freeing resource id 22 */=0A= /* pcre: Module shutdown */=0A= /* ts_free_id: Freeing resource id 14 */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* iconv: Module shutdown */=0A= /* date: Module shutdown */=0A= /* zend_hash_destroy: HashTable has 595 elements */=0A= /* zend_hash_destroy: HashTable has 66 elements */=0A= /* GLOBAL_CLASS_TABLE destroyed */=0A= /* zend_hash_destroy: HashTable has 8 elements */=0A= /* GLOBAL_CLASS_TABLE freed */=0A= /* zend_hash_destroy: HashTable has 442 elements */=0A= /* zend_hash_destroy: HashTable has 10 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 3 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* ts_free_id: Freeing resource id 1 */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* tsrm_shutdown: Freeing resource id 2 */=0A= /* tsrm_shutdown: Freeing resource id 3 */=0A= /* tsrm_shutdown: Freeing resource id 4 */=0A= /* tsrm_shutdown: Freeing resource id 5 */=0A= /* tsrm_shutdown: Freeing resource id 6 */=0A= /* GLOBAL_CLASS_TABLE does not exist */=0A= /* compiler_globals->class_table: nNumOfElements is 66 */=0A= /* zend_hash_destroy: HashTable has 66 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 5 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 4 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 7 elements */=0A= /* zend_hash_destroy: HashTable has 7 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 10 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 19 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 13 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 30 elements */=0A= /* zend_hash_destroy: HashTable has 7 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 40 elements */=0A= /* zend_hash_destroy: HashTable has 3 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 40 elements */=0A= /* zend_hash_destroy: HashTable has 3 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 15 elements */=0A= /* zend_hash_destroy: HashTable has 4 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 12 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 7 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 18 elements */=0A= /* zend_hash_destroy: HashTable has 4 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 7 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 8 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 10 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 10 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 16 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 18 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 7 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 10 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 7 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 8 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 10 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 5 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 20 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 22 elements */=0A= /* zend_hash_destroy: HashTable has 2 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 24 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 25 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 31 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 35 elements */=0A= /* zend_hash_destroy: HashTable has 8 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 52 elements */=0A= /* zend_hash_destroy: HashTable has 4 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 52 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 6 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 1 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 3 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 3 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 3 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 18 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* zend_hash_destroy: HashTable has 9 elements */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* tsrm_shutdown: Freeing resource id 7 */=0A= /* zend_hash_destroy: HashTable has 103 elements */=0A= /* zend_hash_destroy: HashTable has 442 elements */=0A= /* tsrm_shutdown: Freeing resource id 8 */=0A= /* tsrm_shutdown: Freeing resource id 9 */=0A= /* tsrm_shutdown: Freeing resource id 10 */=0A= /* tsrm_shutdown: Freeing resource id 11 */=0A= /* tsrm_shutdown: Freeing resource id 12 */=0A= /* tsrm_shutdown: Freeing resource id 13 */=0A= /* tsrm_shutdown: Freeing resource id 15 */=0A= /* tsrm_shutdown: Freeing resource id 18 */=0A= /* zend_hash_destroy: HashTable has 0 elements */=0A= /* tsrm_shutdown: Freeing resource id 19 */=0A= /* tsrm_shutdown: Freeing resource id 20 */=0A= /* tsrm_shutdown: Freeing resource id 21 */=0A= /* tsrm_shutdown: Freeing resource id 23 */=0A= /* tsrm_shutdown: Freeing resource id 24 */=0A= ------=_NextPart_000_04FC_01C68794.AFE29710--