That's pretty vague, we'll need so more information first.
At a minimum please provide:
1. Version of Navision
2. Size of the database -- cache properties
3. Modifications done?
4. Access to a developers license?
5. How does it hang? What does Task Manager say about usage?
Hi,
You should make debugger active. (Tools -> Debbuger -> Active) and than Navision will stop on the error place. Then try to understand where is the problem.
andrejm, The ryanch says that it hangs. So he won't see any error.
I guess he could follow your advice and turn on both options of debugger active and stop on trigger and hit F5 and see if he can find an infintely loop or the last place before it hangs.
Ahmed Rashed Amini
Independent Consultant/Developer
andrejm, The ryanch says that it hangs. So he won't see any error.
I guess he could follow your advice and turn on both options of debugger active and stop on trigger and hit F5 and see if he can find an infintely loop or the last place before it hangs.
If Navision goes into a infinite loop, it would pop out a memory error.
It may be just a long process? Ryanch, have you try to let it "hang" for longer period of time?
An endless recursion is when you have two functions calling each other. This causes a memory error because each functions local variables/parameters have to allocate memory on the call stack, eventually causing the problem.
An infinite loop is a loop that never terminates for example:
while TRUE do begin
end ;
There isn't any mem allocation in that example, so there isn't ever a problem
An endless recursion is when you have two functions calling each other. This causes a memory error because each functions local variables/parameters have to allocate memory on the call stack, eventually causing the problem.
An infinite loop is a loop that never terminates for example:
while TRUE do begin
end ;
Hmm.. but if in the repeat or while do loop, do you do some processing, wouldn't you get a memory error? :-k
Yes, that's true the endless loop will give a memory error -- you have to watch out for overflows.
But again, you can avoid doing things like that in your endless loops, and therefore avoid the memory error.
You CANT avoid a memory error with a circular reference in functions. This is because there is a small memory overhead with every function call... even without parameters, local variables, etc.
The problem was that we were checking multiple dimensions to close with and this would result in too many closing entries per G/L account hence the time spent per account. Actually the system was working in the background. The longest time we left it to run was overnight and this didnt make sense to us. Anyway thanx guys for your brilliant ideas.
Comments
At a minimum please provide:
1. Version of Navision
2. Size of the database -- cache properties
3. Modifications done?
4. Access to a developers license?
5. How does it hang? What does Task Manager say about usage?
Can anyone think of anything else?
You should make debugger active. (Tools -> Debbuger -> Active) and than Navision will stop on the error place. Then try to understand where is the problem.
I guess he could follow your advice and turn on both options of debugger active and stop on trigger and hit F5 and see if he can find an infintely loop or the last place before it hangs.
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
If Navision goes into a infinite loop, it would pop out a memory error.
It may be just a long process? Ryanch, have you try to let it "hang" for longer period of time?
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Isn't that what I said? :?:
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book
An endless recursion is when you have two functions calling each other. This causes a memory error because each functions local variables/parameters have to allocate memory on the call stack, eventually causing the problem.
An infinite loop is a loop that never terminates for example:
There isn't any mem allocation in that example, so there isn't ever a problem
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book
When I think about it, there are some diabolical ways you could make it happen, but you would have to be delibrately trying to cause the memory error.
I can't think of anything standard that would cause it, even in the while true structure.
endless recursion 1: And now you just have to call xyz...
endless recursion 2: And now you just have to call xyz or abc...
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
But again, you can avoid doing things like that in your endless loops, and therefore avoid the memory error.
You CANT avoid a memory error with a circular reference in functions. This is because there is a small memory overhead with every function call... even without parameters, local variables, etc.