#31214 [Opn-Fbk]: overloading using __call() initially OK, fails on any subsequent method call

2004-12-21 Thread iliaa
 ID:   31214
 Updated by:   [EMAIL PROTECTED]
 Reported By:  ebypdx at comcast dot net
-Status:   Open
+Status:   Feedback
 Bug Type: Class/Object related
 Operating System: Solaris 5.8
 PHP Version:  4.3.10
 New Comment:

leave bug @ feedback until further information is known.


Previous Comments:


[2004-12-21 17:33:51] ebypdx at comcast dot net

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.



[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.



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 [Opn-Fbk]: overloading using __call() initially OK, fails on any subsequent method call

2004-12-20 Thread alan_k
 ID:   31214
 Updated by:   [EMAIL PROTECTED]
 Reported By:  ebypdx at comcast dot net
-Status:   Open
+Status:   Feedback
 Bug Type: Class/Object related
 Operating System: Solaris 5.8
 PHP Version:  4.3.10


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


#31214 [Opn-Fbk]: overloading using __call() initially OK, fails on any subsequent method call

2004-12-20 Thread iliaa
 ID:   31214
 Updated by:   [EMAIL PROTECTED]
 Reported By:  ebypdx at comcast dot net
-Status:   Open
+Status:   Feedback
 Bug Type: Class/Object related
 Operating System: Solaris 5.8
 PHP Version:  4.3.10
 New Comment:

Try the patch listed in bug report #31106


Previous Comments:


[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.



[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