Anonymous | Login | Signup for a new account | 12-17-2024 11:58 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0001624 | [Quercus] | major | always | 02-24-07 04:31 | 03-20-07 14:58 | ||||
Reporter | romaz | View Status | public | ||||||
Assigned To | nam | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product Version | 3.1.0 | ||||||
Summary | 0001624: StackOverflowError when assigning a value to an instance variable from __set() | ||||||||
Description | If you try to access an object property from inside the "field interceptor" __set() method, you go in a infinite loop. | ||||||||
Additional Information |
Code to reproduce bug: class Overloaded { function __set( $var, $value ) { $this->$var = $value; } } $o = new Overloaded(); $o->foo = 0; Significative portion of the stacktrace (looping): at com.caucho.quercus.program.Function.call(Function.java:264) at com.caucho.quercus.program.AbstractFunction.callMethod(AbstractFunction.java:208) at com.caucho.quercus.program.AbstractFunction.callMethod(AbstractFunction.java:394) at com.caucho.quercus.env.ObjectExtValue.putField(ObjectExtValue.java:307) at com.caucho.quercus.expr.ThisFieldExpr.evalAssign(ThisFieldExpr.java:130) at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:79) at com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:63) at com.caucho.quercus.program.Function.callImpl(Function.java:316) |
||||||||
Attached Files | |||||||||
|
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
30 total queries executed. 26 unique queries executed. |