Number of recursive calls in VO

Public support forum for peer to peer support with related to the Visual Objects and Vulcan.NET products
Post Reply
Gorazd
Posts: 2
Joined: Wed Jul 26, 2023 9:59 am

Number of recursive calls in VO

Post by Gorazd »

Please help, since I am totaly stuck with the following. Any suggestion from the VO gurus would be appreciated!

Since I am having problem with "Kid Stack Size Limit Exceeded" I did a simple test.
I wrote a function Recursion_test() which I called recursively. The function gets called 664 times and then throws error "Kid Stack Size Limit Exceeded".
Given the fact that there are no additional objects instanciated and no additional variables initialized I expected the error would be corrected by assigning proper value to SetKidStackSize(), but this was not the case. It seems there is another limitation set in CAVO which I do not know how to remove.

This is the function:
FUNCTION Recursion_test(nLevel)
Default(@nLevel,1)
nLevel:=nLevel+1
Recursion_test(nLevel)
RETURN

And these are values when error occurs:
Memory(MEMORY_STACKKID) 678, SetKidStackSize(0) is set to 8192
Memory(MEMORY_REGISTERKID) 65, SetMaxRegisteredKids(0) is set to 10000
Memory(MEMORY_REGISTERAXIT) 222, SetMaxRegisteredAxitMethods(0) is set to 64000
MEMORY_STACK_SIZE 1069056, MEMORY_STACK_FREE 1035688
MEMORY_REGISTEREXIT_COUNT 3

As you can see none of the parameters is over the limit.

So the question is: how to rise the number of recursive calls in VO?

Gorazd
User avatar
robert
Posts: 4225
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

Number of recursive calls in VO

Post by robert »

Gorazd,
There is no easy way to fix this.
The best way is to avoid recursion like this.
And VO is dead, so you will have to live with this limitation in VO.

In X# I can get a bit further (36000 iteration).

Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
Gorazd
Posts: 2
Joined: Wed Jul 26, 2023 9:59 am

Number of recursive calls in VO

Post by Gorazd »

Well, I was hoping for better reply :-)
Anyway, thanks for the information.
Gorazd
Post Reply