On Mon, Oct 28, 2002 at 05:49:44PM -0800, Zeev Suraski wrote:
> At 07:35 28/10/2002, Thies C. Arntzen wrote:
> >On Mon, Oct 28, 2002 at 05:24:38PM +0200, Stanislav Malyshev wrote:
> >> TCA>>     but zval_ptr_dtor (used in assert.c-OnChangeCallback) checks
> >> TCA>>     against EG(uninitialized_zval_ptr) - so calling zval_ptr_dtor
> >> TCA>>     anytime before init_executor will cause an UMR.
> >>
> >> Actually, zval_ptr_dtor calls zval_dtor, which does much more EG(...)
> >> games than just EG(uninitialized_zval_ptr). So I guess calling
> >> zval_ptr_dtor before init_executor is unwise indeed...
> >
> >    yep - but can we simply move init_executor a bit "up"?
> 
> Probably not.  Can you simply fix the OnChange callback? :)  NULL up the 
> ASSERTG(callback) on time?

    it is(!) nulled in the globals_ctor. the problem is that the
    OnChange gets called quite a few times (tested in cli-mode).
    and the 2nd call will dtor the "empty" value set by the 1st
    call.

    also i don't really think that assert.c is the deal here, the
    real problem is that we might use parts of the engine "too"
    early in many places in the code that i haven't spotted so
    far. (and it's a _very_ hard to find thing - i found it using
    valgrind)

    re,
    tc

> 
> Zeev

-- 
Thies C. Arntzen   -   Looking for all sorts of freelance work  -   just ask..
                  http://www.amazon.de/exec/obidos/wishlist/AB9DY62QWDSZ

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to