Page 1 of 1
System stack overflow, process terminated
Posted: Mon Dec 14, 2020 10:00 am
by Palczan
Hello Everyone,
I have a problem with my TM1 process. When I want to put value to the cube with CellPutN, I can't to do it. I try remove the rule, and when I do this, the process is working correctly. Unfortunately I need this rules, and I can't remove it. Do you know, how resolve this problem? Must I remove the rules in prolog process and add this rules on the process epilog? Do you come in contact with this?
Best regards
Kamil
Re: System stack overflow, process terminated
Posted: Mon Dec 14, 2020 10:18 am
by Elessar
Hello,
"System stack overflow, process terminated" - this is from tm1server.log?
Which rule do you mean? Source or target cube? If second, do you really mean "rule", or do you mean a feeder?
When you put the value manually - does the same error appear?
This error usually means that you have a loop in your rule. This can rarely lead to server crash, so I recommend you to fix the source of stack overflow.
Re: System stack overflow, process terminated
Posted: Mon Dec 14, 2020 10:53 am
by Palczan
Hello,
Exactly, this statement is from tm1server.log . The full statement is ERROR 2 TM1.Process Process "X": : System stack overflow, process terminated
I have two Cubes. First Cube have a data whereas second Cubes doesn't have this data. I build a process and i forward data between this Cubes. I do it with CellPutN function, and this function doesn't work correctly when I turn on rules in second cube. when i destroy the rules in second cubes, the process is working.
I find one solution. I destroy a rules from second cube in the process prolog, and i add the rules on process epilog. this process forward data between cubes.
I look for different solution for this problem
Re: System stack overflow, process terminated
Posted: Mon Dec 14, 2020 12:29 pm
by Elessar
The root problem is somewhere in the rule, not in your process. Try to localize it using
log2 search: comment out all the rule strings, then uncomment 1/2 of rule (if error appears, go to 1/4, otherwise comment it and uncomment another 1/2), 1/4 of rule and so on.
When you put the value manually - does the same error appear in tm1server.log?
Re: System stack overflow, process terminated
Posted: Mon Dec 14, 2020 12:57 pm
by Palczan
Now I conduct your solutions and i have a few conclusion.
1). I don't know what I can to do, because when I comment rules the proces work correctly,
2). When I put manually value the problem isn't happened.
3). When I uncomment rules the proces work correctly but this work last a few minutes. When i change the date the solution doesn't work.
Upgrade
I check a feeders and when I comment the Feeders process work correctly. Now i check this part of code.
Re: System stack overflow, process terminated
Posted: Mon Dec 14, 2020 1:26 pm
by Steve Rowe
Hi Kamil,
Suggest you post your rule sheet.
You either have a circular reference or more unlikley you are blowing the rule or feeder stack (I say unlikely as you need to be needing some fairly advanced techniques to blowing a rule or feeder stack).
For commenting out the rules. The suggestion was to comment out one rule at a time until the problem disappears, this will tell you which rule is the problem.
Common types of circular references.
#Simple
['a']=N:['a'];
#Consolidation
['a']=N:['b']; but a is a child of b
#Dependancy chain
['a']=N:['c'];
['c']=N:['a'];
Make sure you have a clear idea of how the areas of the cube overlap.
HTH
Re: System stack overflow, process terminated
Posted: Mon Dec 14, 2020 1:29 pm
by Steve Rowe
Re it being a feeder issue.
Are you feeding the next element in a long dimension? Normally feeding the next month in along a month and year time dimension?
Long thread discussing this issue here.
viewtopic.php?t=12480
Re: System stack overflow, process terminated
Posted: Mon Dec 14, 2020 1:54 pm
by Palczan
Hey Steve,
Now I find the failure line and you are right. I'm feeding the next element in a long dimension. I have a time dimension with days. The items in dimension are days and every element have next and previous days atribute. In feeder code i add line with dimix +1.
Re: System stack overflow, process terminated
Posted: Mon Dec 14, 2020 2:09 pm
by Steve Rowe
So I suggest you review the linked post for breaking up the flow of feeders.
Note also using dimix to get the next element in a dimension I would regard as bad practice, you are much better off using a manually populated Next attribute which you can be sure will always be correct.
When you use Dimix you are joining up the behaviour of your business rules to your dimensions structure. It is quite easy to change the indexes of a dimension when editting without even realising you are doing so. Doing so in this case would change the behavour of your feeders without generating any kind of error.
After the next server restart you may then suddenly notice that your model has stopped working without any clue why.
Re: System stack overflow, process terminated
Posted: Mon Dec 14, 2020 2:14 pm
by Palczan
Okey, I apply your method.
thank you for your answer, now I changing the dimix to attrs/}ElementAttributes.
Best Regards
Kamil