#31214 [Fbk-Opn]: overloading using __call() initially OK, fails on any subsequent method call
ID: 31214 User updated by: ebypdx at comcast dot net Reported By: ebypdx at comcast dot net -Status: Feedback +Status: Open Bug Type: Class/Object related Operating System: Solaris 5.8 PHP Version: 4.3.10 New Comment: thanks very much for the feedback, if our sysadmins have time to apply that patch i'll post back the results. for now we've rolled back a version. Previous Comments: [2004-12-21 03:58:03] [EMAIL PROTECTED] Try the patch listed in bug report #31106 [2004-12-21 03:04:38] [EMAIL PROTECTED] in Zend/zend_execute.c about line 997: remove this line PZVAL_UNLOCK(T-EA.data.overloaded_element.object); about line 1579: remove this line EX(object).ptr-refcount++; you have to copy paste the whole link for it to work / rather than just pressing on it. [2004-12-21 02:45:16] ebypdx at comcast dot net i believe we aren't using any of those extensions. i will double-check with the sysadmin team. can you give me a tip on how to revert that change? when i follow the link to cvsweb from report 31106 i get a malformed query page. [2004-12-21 02:35:50] [EMAIL PROTECTED] a) make sure you are not using any Zend extension eg. Optimizer/xdebug/apc etc. have a look at this report http://bugs.php.net/?id=31106 see if reverting the mentioned change to zend_execute fixes this. [2004-12-21 02:28:35] ebypdx at comcast dot net I've also seen it fail out with a different fatal error call to undefined function. i can't determine how to make it do this instead of giving call on a non-object. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/31214 -- Edit this bug report at http://bugs.php.net/?id=31214edit=1
#31214 [NEW]: overloading using __call() initially OK, fails on any subsequent method call
From: ebypdx at comcast dot net Operating system: Solaris 5.8 PHP version: 4.3.10 PHP Bug Type: Class/Object related Bug description: overloading using __call() initially OK, fails on any subsequent method call Description: in the most simple case, create a class with no methods except __call() and overload it. start calling methods on an instance of that class. the first method call will hit __call() and finish correctly. any subsequent method calls will fail to hit __call(), resulting instead in a fatal error. if this is indeed a bug... i realize due to the experimental nature of overloading in 4.3, that this may never work again. my deepest thanks to anybody who can address this. Reproduce code: --- ?php class BaseOverloader { function BaseOverloader() {} function __call($method, $args, $returnValue) { echo Call to .get_class($this).-$method br/; $returnValue = return; return true; } } overload(BaseOverloader); $c = new BaseOverloader(); $c-firstCall(); $c-secondCall(); ? Expected result: Call to BaseOverloader-firstcall Call to BaseOverloader-secondcall Actual result: -- Call to baseoverloader-firstcall Fatal error: Call to a member function on a non-object in /export/vol01/opt/web/neby/partner.newedgenetworks.com/overloaded.php on line 13 -- Edit bug report at http://bugs.php.net/?id=31214edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=31214r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=31214r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=31214r=trysnapshot51 Fixed in CVS:http://bugs.php.net/fix.php?id=31214r=fixedcvs Fixed in release:http://bugs.php.net/fix.php?id=31214r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=31214r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=31214r=needscript Try newer version: http://bugs.php.net/fix.php?id=31214r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=31214r=support Expected behavior: http://bugs.php.net/fix.php?id=31214r=notwrong Not enough info: http://bugs.php.net/fix.php?id=31214r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=31214r=submittedtwice register_globals:http://bugs.php.net/fix.php?id=31214r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=31214r=php3 Daylight Savings:http://bugs.php.net/fix.php?id=31214r=dst IIS Stability: http://bugs.php.net/fix.php?id=31214r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=31214r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=31214r=float No Zend Extensions: http://bugs.php.net/fix.php?id=31214r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=31214r=mysqlcfg
#31214 [Opn]: overloading using __call() initially OK, fails on any subsequent method call
ID: 31214 User updated by: ebypdx at comcast dot net Reported By: ebypdx at comcast dot net Status: Open Bug Type: Class/Object related Operating System: Solaris 5.8 PHP Version: 4.3.10 New Comment: I've also seen it fail out with a different fatal error call to undefined function. i can't determine how to make it do this instead of giving call on a non-object. Previous Comments: [2004-12-21 02:26:26] ebypdx at comcast dot net Description: in the most simple case, create a class with no methods except __call() and overload it. start calling methods on an instance of that class. the first method call will hit __call() and finish correctly. any subsequent method calls will fail to hit __call(), resulting instead in a fatal error. if this is indeed a bug... i realize due to the experimental nature of overloading in 4.3, that this may never work again. my deepest thanks to anybody who can address this. Reproduce code: --- ?php class BaseOverloader { function BaseOverloader() {} function __call($method, $args, $returnValue) { echo Call to .get_class($this).-$method br/; $returnValue = return; return true; } } overload(BaseOverloader); $c = new BaseOverloader(); $c-firstCall(); $c-secondCall(); ? Expected result: Call to BaseOverloader-firstcall Call to BaseOverloader-secondcall Actual result: -- Call to baseoverloader-firstcall Fatal error: Call to a member function on a non-object in /export/vol01/opt/web/neby/partner.newedgenetworks.com/overloaded.php on line 13 -- Edit this bug report at http://bugs.php.net/?id=31214edit=1
#31214 [Fbk-Opn]: overloading using __call() initially OK, fails on any subsequent method call
ID: 31214 User updated by: ebypdx at comcast dot net Reported By: ebypdx at comcast dot net -Status: Feedback +Status: Open Bug Type: Class/Object related Operating System: Solaris 5.8 PHP Version: 4.3.10 New Comment: i believe we aren't using any of those extensions. i will double-check with the sysadmin team. can you give me a tip on how to revert that change? when i follow the link to cvsweb from report 31106 i get a malformed query page. Previous Comments: [2004-12-21 02:35:50] [EMAIL PROTECTED] a) make sure you are not using any Zend extension eg. Optimizer/xdebug/apc etc. have a look at this report http://bugs.php.net/?id=31106 see if reverting the mentioned change to zend_execute fixes this. [2004-12-21 02:28:35] ebypdx at comcast dot net I've also seen it fail out with a different fatal error call to undefined function. i can't determine how to make it do this instead of giving call on a non-object. [2004-12-21 02:26:26] ebypdx at comcast dot net Description: in the most simple case, create a class with no methods except __call() and overload it. start calling methods on an instance of that class. the first method call will hit __call() and finish correctly. any subsequent method calls will fail to hit __call(), resulting instead in a fatal error. if this is indeed a bug... i realize due to the experimental nature of overloading in 4.3, that this may never work again. my deepest thanks to anybody who can address this. Reproduce code: --- ?php class BaseOverloader { function BaseOverloader() {} function __call($method, $args, $returnValue) { echo Call to .get_class($this).-$method br/; $returnValue = return; return true; } } overload(BaseOverloader); $c = new BaseOverloader(); $c-firstCall(); $c-secondCall(); ? Expected result: Call to BaseOverloader-firstcall Call to BaseOverloader-secondcall Actual result: -- Call to baseoverloader-firstcall Fatal error: Call to a member function on a non-object in /export/vol01/opt/web/neby/partner.newedgenetworks.com/overloaded.php on line 13 -- Edit this bug report at http://bugs.php.net/?id=31214edit=1