Re: [patch] Zend/zend_objects_API.c - bug #29980 (segfault while executing __destruct())

From: Date: Fri, 10 Sep 2004 16:23:41 +0000
Subject: Re: [patch] Zend/zend_objects_API.c - bug #29980 (segfault while executing __destruct())
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-12717@lists.php.net to get a copy of this message
* Thus wrote Antony Dovgal: > And the last one, the most questionable patch. > > ATM ZE2 calls destructor at the end of the request and no matter > is there were a fatal error (which should probably stop executing > the script). In some cases it leads to nasty segfaults (me and > report's author can reproduce it, but others can't. weird..). I'm not sure if this has anything to do with it but the destructor is being called before the constructor actually finishes, I would think the state of the object itself isn't stable. I can stop the segfault happening if I cause the fatal error after the object is created. > > Some persons (hello, Andrey =)) think that this could be a useful > feature, but for me it's just an inconsistency. IMO destructors > should not be called after fatal errors, because they can cause > even more harm. Might want to add me to that list :) A use I can see is if the object manages a buffer of some sort and the destructor ensures that it is flushed, a bypass of the destructor would cause the buffer to get lost. Curt -- First, let me assure you that this is not one of those shady pyramid schemes you've been hearing about. No, sir. Our model is the trapezoid!

« previous php.internals (#12717) next »