Zend Framework

Multiple calls seem to break Zend/Amf/Parse/Deserializer.php

Details

  • Type: Sub-task Sub-task
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.7.2
  • Fix Version/s: 1.8.4
  • Component/s: Zend_Amf
  • Labels:
    None

Description

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:

<mx:RemoteObject id="DataSetService" destination="zend" source="DataSetService" showBusyCursor="true" />

to this:

<mx:RemoteObject id="DataSetService" destination="zend" source="DataSetService" showBusyCursor="true" concurrency="single" />

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.

Issue Links

Activity

Hide
Wade Arnold added a comment -

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

Show
Wade Arnold added a comment - Patrick can you please submit the smallest code example possible. I can not reproduce this issue.
Hide
Stefan Klug added a comment -

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

Show
Stefan Klug added a comment - This is solved by my patch in ZF-6393 If it's absolutely needed, I can provide a testcase...
Hide
Wade Arnold added a comment -

Issue is dependent on ZF-6393

Show
Wade Arnold added a comment - Issue is dependent on ZF-6393
Hide
Wade Arnold added a comment -

resolved by ZF-6393

Show
Wade Arnold added a comment - resolved by ZF-6393

People

Vote (1)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: