Kbase P170180: Returning an extent variable from a function or method can trigger errors depending on the number of
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  14/09/2010 |
|
Status: Unverified
SYMPTOM(s):
Returning an extent variable from a function or method can trigger errors depending on the number of elements in the extent.
Defining a user defined function or method that returns an EXTENT value.
One of the following errors may be seen when calling the function/method:
SYSTEM ERROR: -s exceeded. Raising STOP condition and attempting to write stack trace to file 'procore'. Consider increasing -s startup parameter. (5635)
SYSTEM ERROR: sizditm -- invalid type. (51)
If error 51 is seen, the error will also crash.
FACT(s) (Environment):
OpenEdge 10.2B
All Supported Operating Systems
CAUSE:
Bug# OE00199058
CAUSE:
The return value of a method or function is placed in the stack memory, specified by the -s startup parameter. If this value is too large, the error 5635 should occur.
The bug is hit when the error 51 occurs instead.
FIX:
Upgrade to OpenEdge 10.2B02 or later
The bug fix in the service pack will stop the "SYSTEM ERROR: sizditm -- invalid type. (51)"
To avoid the error 5635 at all times:
Pass the extent as an output parameter extent instead of as the return value. Doing so will avoid using the stack space (-s) to hold the extent value.
This will also work around the error 51 in releases before OpenEdge 10.2B02.