Stack overflow from UserList and/or RoomList

Everything about the SmartFoxBits UI Components for SmartFoxServer 2X. Post your questions, suggestions and bug reports.

Moderators: Lapo, Bax

Post Reply
shaka
Posts: 45
Joined: 30 May 2011, 19:39

Stack overflow from UserList and/or RoomList

Post by shaka »

Hi all,

I'm getting the same error as this topic http://forums.smartfoxserver.com/viewtopic.php?t=7600 , only that it's in SFS2X Bits.

This hasn't happened when I didn't use custom login - now that I've implemented custom login in my app, my scene which contains ChatBox, RoomList, and UserList spits out the stack overflow shown in the first post.

The stack overflow is also interfering with the other elements in the scene, making them unusable (notably Text Inputs and Buttons)

I don't know how to change the width manually (the solution in the post above me)

Can someone help me out?

Also, console output below. I think the problem has to do with both UserList and RoomList because it occurs twice. The stack overflow occurs again when either of those are updated.

Code: Select all

Error: Error #1023: Stack overflow occurred.
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
Error: Error #1023: Stack overflow occurred.
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
	at fl.controls::SelectableList/drawLayout()
	at fl.controls::List/draw()
	at fl.core::UIComponent/drawNow()
	at fl.containers::BaseScrollPane/get verticalPageScrollSize()
	at fl.containers::BaseScrollPane/drawLayout()
User avatar
Bax
Site Admin
Posts: 4626
Joined: 29 Mar 2005, 09:50
Location: Italy
Contact:

Post by Bax »

The problem seems to be caused by the Flash List component used by the RoomList and UserList SmartFoxBits.
Maybe the reason is that they receive events before they are actually added to the stage? (and so their width is still null?)

Also I think this hardly has to do with custom login itself. Maybe you made other changes to your application?
Paolo Bax
The SmartFoxServer Team
shaka
Posts: 45
Joined: 30 May 2011, 19:39

Post by shaka »

Hi bax, thanks for your help. I fixed the problem, I think this is why it happened:

The stack overflow was caused by my extension having a ZoneJoinEventHandler, which is already handled by the smartfoxbits. However, I still need a LoginEventHandler. Anyways, it works now, so thanks!
Bathory
Posts: 58
Joined: 17 Sep 2011, 21:47

Re: Stack overflow from UserList and/or RoomList

Post by Bathory »

Hello,

I also use the SFS2X Bits + custom login and got the same error. However I needed to keep the ZoneJoinEventHandler in my extension for some reason. The problem seems to occur when you set a default room (property) to your roomlist component and still have ZoneJoinEventHandler try to join the user to a room. So commenting or removing those lines solved it for me:

Room lobby = getParentExtension().getParentZone().getRoomByName("Room X");

if (lobby == null)
throw new SFSException("The Room X was not found! ...");

getApi().joinRoom(theUser, lobby);
Post Reply