Hi!

> Honestly, I am not sure. Every report that I've seen has it happening at
> shutdown. Could very well be a coincidence.  

Well, if we don't know why or if it's shutdown only, disabling on
shutdown wouldn't do much good.

> I have a patch which prevents the
> segfault: 
> https://github.com/ircmaxell/php-src/compare/invalidate_object_on_dtor
> 
> However, that's not really fixing the situation either, as the zval is
> still getting nuked (but only partially).

If there's a memory overwrite or use-after-free is going on, this patch
is not a complete solution - it relies on the fact that "bad" data will
be always out of range of "good" data. I see no way to ensure that - so
if there's an overwrite that writes garbage inside the object there will
be situations where the garbage looks exactly like a valid object ID and
it will still crash, but it would be significantly harder to reproduce.
So I think before patching it we need to get to the root cause and
figure out why it happens and what causes it, instead of partially
fixing the symptoms.

> And no, I'm withdrawing the original concept of disabling the GC during
> shutdown. The current patch I have works, but it's still just a bandaid
> on a gunshot wound, and I'm going to try to figure out what's actually
> overwriting the zval..

That'd be great, if you have any script that reproduces - always or at
least frequently - the problem, please post it.

-- 
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

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

Reply via email to