Tuesday, November 23, 2010

Error #2006: The supplied index is out of bounds.

Дано: Flex, GlobalDispatcher и объект с кучей элементов в списке (одно из полей объекта типа ArrayCollection)

Делаем dispatchEvent(evt) и плавно получаем ошибку:

[RPC Fault faultString="Error #2006: The supplied index is out of bounds." faultCode="InvokeFailed" faultDetail="null"]
 at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::invoke()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:394]
 at mx.rpc.remoting::Operation/http://www.adobe.com/2006/flex/mx/internal::invoke()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\remoting\Operation.as:287]
 at mx.rpc.remoting::Operation/send()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\remoting\Operation.as:254]
 at com.asfusion.mate.actions.builders::RemoteObjectInvoker/run()[/Users/Nahuel 1/Documents/Flex Builder 3/Mate_trunk/src/com/asfusion/mate/actions/builders/RemoteObjectInvoker.as:236]
 at com.asfusion.mate.actions::AbstractAction/trigger()[/Users/Nahuel 1/Documents/Flex Builder 3/Mate_trunk/src/com/asfusion/mate/actions/AbstractAction.as:61]
 at com.asfusion.mate.actionLists::AbstractHandlers/runSequence()[/Users/Nahuel 1/Documents/Flex Builder 3/Mate_trunk/src/com/asfusion/mate/actionLists/AbstractHandlers.as:333]
 at com.asfusion.mate.actionLists::EventHandlers/fireEvent()[/Users/Nahuel 1/Documents/Flex Builder 3/Mate_trunk/src/com/asfusion/mate/actionLists/EventHandlers.as:257]
 at flash.events::EventDispatcher/dispatchEventFunction()
 at flash.events::EventDispatcher/dispatchEvent()
 at mx.core::UIComponent/dispatchEvent()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:12266]

-------------
Оказалось, что для решения этой проблемы надо отключить Network Monitor...

вобщем ситуация видимо такая, что большой объект начинает вытаскиваться в NetworkMonitor и в этот момент уничтожается... Но это всё не точно.

2 comments:

  1. It seems that all I had to do was turn off the network monitor and this error message went away.

    ReplyDelete
    Replies
    1. Hi Tim,
      You are right, turning off the network monitor helped more than once in such situations.
      I don't know what exactly is happening under the hood, but one of the possibilities - large objects got destroyed before they properly sent to the network monitor.
      I got this idea because the only case when we saw the problem was with very large objects.

      Delete