eugene.litvinov Posted July 12, 2011 Share Posted July 12, 2011 Has Unigine limit to recursive calls? We have game dialog, represented as xml-tree, that contain more than 38 nesting levels (If we have less than 38 levels - it's ok, if more - Unigine is crashed). In game logic this xml parses and for all xml-nodes creates class instance, and this dialog presents in script via tree. So, question is, what length of call stack we can use in Unigine script? Thanks. Link to comment
Guest mrred Posted July 13, 2011 Share Posted July 13, 2011 Has Unigine limit to recursive calls? We have game dialog, represented as xml-tree, that contain more than 38 nesting levels (If we have less than 38 levels - it's ok, if more - Unigine is crashed). In game logic this xml parses and for all xml-nodes creates class instance, and this dialog presents in script via tree. So, question is, what length of call stack we can use in Unigine script? Thanks. Please, sent to support@unigine.com a minimal code for reproduction of this issue. Link to comment
eugene.litvinov Posted July 13, 2011 Author Share Posted July 13, 2011 test scene:source.zip Link to comment
Guest mrred Posted July 14, 2011 Share Posted July 14, 2011 At the present moment the call stack length equals 1024. It will be expanded in 3 times in next SDK release (second half of July). Link to comment
eugene.litvinov Posted August 1, 2011 Author Share Posted August 1, 2011 test scene isn't working still (in newest release) Link to comment
manguste Posted August 19, 2011 Share Posted August 19, 2011 Works fine under Linux. This seems to be a Windows-specific issue with stack overflow. Our CTO will look into it and sort it out. Link to comment
pavel.mihaylov Posted August 31, 2011 Share Posted August 31, 2011 Is there any progress in solving this problem? Link to comment
manguste Posted September 5, 2011 Share Posted September 5, 2011 The problem lies in the fact that it's not a script stack overflow, but instead Windows stack overflow. What happens is a user class constructor calls another user class constructor and then again and again, recursively until the system cannot handle it. The most rational variant for solving this problem is to try to avoid such recursion in your code. On our side, developers are still trying to figure out what can be done. Link to comment
Recommended Posts