Hello

I'm working to a project since a long time, I did recently shifted from 4.6
to Apache Flex 10.
I got this issue and it seems to happen in a non deterministic fashion.
I can trigger it in several different ways, the 2 last calls only are the
same every time (System Manager:2130 and SystemManager:1753). It's like
something gets broken and then the next time I use the PopUpManager, it
crashes.
I'm starting to believe this is a bug inside Apache Flex, it's been weeks
this bug is around, it's very hard to reproduce and I have no step-to.

RangeError: Error #2006: The supplied index is out of bounds.
        at flash.display::DisplayObjectContainer/addChildAt()
        at
mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::rawChildren_addChildAt()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:2130]
        at
mx.managers::SystemManager/addChildAt()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:1753]
        at
mx.managers::SystemManager/addChild()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:1736]
        at
mx.managers::PopUpManagerImpl/addPopUp()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\PopUpManagerImpl.as:344]
        at
mx.managers::PopUpManager$/addPopUp()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\PopUpManager.as:193]
        at
mx.controls::Menu/show()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\Menu.as:1648]
        at
outgame.components::IAccount/openMenu()[D:\Faeria\FaeriaClient\src\outgame\components\IAccount.as:156]
        at
outgame.components::IAccount/toggleMenu()[D:\Faeria\FaeriaClient\src\outgame\components\IAccount.as:118]

This is the code that produced that error stack:
private function openMenu():void {
        if(_isMenuOpened)
            return;
        APPLICATION.youContainer.height = CONTAINER_HEIGHT_OPENED;
        APPLICATION.opponentContainer.height = CONTAINER_HEIGHT_OPENED;
        // rebuilding menuData
        _menuData.removeAll();
        if (_account != DATA_TABLE.you[0]) {
            if (!_account.hasPrivateChatWithYou)
                addMenuAction(resource_manager.getString("ui",
"icard.startChat"), null,
                        FrontController.startPrivateChat, _account, false);
            if (!APPLICATION.opponentContainer.contains(this)) {
                addMenuAction(resource_manager.getString("ui",
"icard.gameInvite"), null, FRONT_CONTROLLER.gameInvite, this.data);
                addMenuAction(resource_manager.getString("ui",
"icard.tradeInvite"), null, FRONT_CONTROLLER.tradeInvite, this.data);
            }
        } else {
            if (APPLICATION.youContainer.contains(this))
                addMenuAction(resource_manager.getString("ui",
"icard.signOut"), null, FRONT_CONTROLLER.closeConnection, null);
            if (GAME != null)
                addMenuAction(resource_manager.getString("ui",
"icard.surrender"), null, GameComponent.surrender);
        }
        if (!APPLICATION.bottomBar.isAccountProfileOpened(Account(data)))
            addMenuAction(resource_manager.getString("ui",
"icard.viewProfile"), null, FrontController.openProfileWindow, this.data);

        // displaying
        _menu.width = width;
        _menu.show(0, MENU_OFFSET_Y);
        menuContainer.addElement(_menu);
        _isMenuOpened = true;
    }



And the _menu is created in a init() function, called only once, during the
component's creationComplete.

        _menu = Menu.createMenu(menuContainer, _menuData, false);

I'm extremely interested by clues regarding this issue. I'm running a stress
test for Faƫria: Strategy Card Game, the game uses this code. It's a
client/server architecture (AS3/Java), http://faeria.net.

Cheers
Jiem



--
View this message in context: 
http://apache-flex-users.2333346.n4.nabble.com/SystemManager-seems-to-call-addChildAt-out-of-bounds-tp2701.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.

Reply via email to