Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:40051 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 71104 invoked from network); 21 Aug 2008 13:20:08 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Aug 2008 13:20:08 -0000 Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.25.124.163 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 212.25.124.163 il-gw1.zend.com Windows 2000 SP4, XP SP1 Received: from [212.25.124.163] ([212.25.124.163:38904] helo=il-gw1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 69/91-06543-88B6DA84 for ; Thu, 21 Aug 2008 09:20:08 -0400 Received: from [10.1.10.24] ([10.1.10.24]) by il-gw1.zend.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 21 Aug 2008 16:21:02 +0300 Message-ID: <48AD6B7C.4040705@zend.com> Date: Thu, 21 Aug 2008 17:19:56 +0400 User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: Lukas Kahwe Smith CC: Greg Beaver , Stanislav Malyshev , internals Mailing List References: <4855D62C.2010902@chiaraquartet.net> <487E5AE4.2050405@zend.com> <487EA069.3080500@chiaraquartet.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 21 Aug 2008 13:21:03.0362 (UTC) FILETIME=[C2B58620:01C90390] Subject: Re: [PHP-DEV] potential shutdown order issue From: dmitry@zend.com (Dmitry Stogov) I missed the problem. How can I reproduce it? Thanks. Dmitry. Lukas Kahwe Smith wrote: > > On 17.07.2008, at 03:29, Greg Beaver wrote: > >> Stanislav Malyshev wrote: >>> Hi! >>> >>>> zend_destroy_rsrc_list(&EG(regular_list)). On the next line, >>>> zend_post_deactivate_modules() is called, which steps through the >>>> module >>>> list and unloads all the dynamically loaded modules. If one of these >>> >>> dl() is really troublesome... >>> >>>> I think this issue could be fixed by moving the >>>> zend_destroy_rsrc_list(&EG(regular_list)) call after the module >>>> shutdown. I've attached a patch demonstrating the principle (this >>>> fixes >>>> the hashtable destroyed message and I don't get anything bad like a >>>> segfault). >>> >>> But many resource dtors may need some action from modules they belong >>> to. If modules are already past shutdown, that may be a problem. >>> If we must spend time on supporting dl(), then I'd propose to fix >>> module dtor so that it wouldn't try to access EG(regular_list) - if >>> it happens as you described, it doesn't need it anyway. >> Hi, >> >> This has nothing to do with dl(). mysqli was loaded in php.ini via >> extension=mysqli.so >> >> I can't test the proposed fix until August, but it sounds like it >> would also fix the issue without messing with shutdown. > > > @Dmitry/Stas .. could you guys look into this issue? > @Greg: can you provide any further context information? > > regards, > Lukas Kahwe Smith > mls@pooteeweet.org > > >