Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000618 [Quercus] minor always 01-02-06 02:56 04-06-06 14:08
Reporter bago View Status public  
Assigned To ferg
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 3.0.19 Product Version
  Product Build
Summary 0000618: QRE: ArrayValue is not a valid key
Description See the reproducing code below.

com.caucho.quercus.QuercusRuntimeException: com.caucho.quercus.env.ArrayValueImpl@13e3940
is not a valid key
    at com.caucho.quercus.env.Value.toKey(Value.java:207)
    at com.caucho.quercus.env.Var.toKey(Var.java:205)
    at com.caucho.quercus.env.ArrayValueImpl.get(ArrayValueImpl.java:380)
    at com.caucho.quercus.env.ArrayValueWrapper.get(ArrayValueWrapper.java:140)
    at com.caucho.quercus.env.Var.get(Var.java:401)
    at _quercus._index__php.execute(C:/Programmi/Java/resin-3.0.16/webapps/ROOT/index.php:26)
    at com.caucho.quercus.page.PhpPage.executeTop(PhpPage.java:124)
    at com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:195)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:267)
    at com.caucho.server.port.TcpConnection.run(TcpConnection.java:388)
    at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
    at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
    at java.lang.Thread.run(Thread.java:595)
Steps To Reproduce <?php
class test {
function test() {return 'foo'; }
}

$methods = array('bar'=>'test');
$testobj = new test();
print($testobj->$methods['bar']());
?>

Original php will print 'foo', Quercus throws an exception!

Additional Information If I change the code to:

...
$temp = $methods['bar'];
print($testobj->$temp());

it works in quercus too.
Attached Files

- Relationships

- Notes
(0001034)
ferg
04-06-06 14:08

php/09e0
 

- Issue History
Date Modified Username Field Change
01-02-06 02:56 bago New Issue
04-06-06 14:08 ferg Note Added: 0001034
04-06-06 14:08 ferg Assigned To  => ferg
04-06-06 14:08 ferg Status new => closed
04-06-06 14:08 ferg Resolution open => fixed
04-06-06 14:08 ferg Fixed in Version  => 3.0.19
04-06-06 14:08 ferg View Status @0@ => public


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed.
26 unique queries executed.
Powered by Mantis Bugtracker