ZF-5382: Multiple calls seem to break Zend/Amf/Parse/Deserializer.php


An AIR application I am working on makes a single call to two separate services. I get the following error:

PHP Fatal error: Uncaught exception 'Zend_Amf_Exception' with message 'Unable to parse null body data Unsupported type marker: 36' in /var/www/lib/Zend/Amf/Request.php:174 Stack trace:

0 /var/www/lib/Zend/Amf/Request.php(125): Zend_Amf_Request->readBody()

1 /var/www/lib/Zend/Amf/Request.php(93): Zend_Amf_Request->readMessage(Object(Zend_Amf_Parse_InputStream))

2 /var/www/lib/Zend/Amf/Request/Http.php(64): Zend_Amf_Request->initialize('????????null??/...')

3 /var/www/lib/Zend/Amf/Server.php(365): Zend_Amf_Request_Http->__construct()

4 /var/www/lib/Zend/Amf/Server.php(313): Zend_Amf_Server->getRequest()

5 /var/www/index.php(26): Zend_Amf_Server->handle()

6 {main}

thrown in /var/www/lib/Zend/Amf/Request.php on line 174

I'm using the Cairngorm framework, and the following two events, which result in requests to Zend AMF, cause this error to occur:

new DataSetEvent(DataSetEvent.GET_ALL).dispatch(); new SPIChartEvent().dispatch();

If I comment out either line so that only one request is sent at a time, the issue does not appear. Similarly, if I change the RemoteObject in my service locator from this:

to this:

the issue is again avoided. I am guessing that Flash is pipelining the calls into a single request and Zend's parser isn't expecting this. Not sure, I'm not an expert in AMF, just my guess.


Patrick can you please submit the smallest code example possible. I can not reproduce this issue.

This is solved by my patch in ZF-6393 If it's absolutely needed, I can provide a testcase...

Issue is dependent on ZF-6393

resolved by ZF-6393