Hi,
We have started getting an Oracle ‘Bad depth indicator’ error when calling ‘Error_Sys.Record_General’ function from a custom event.
We have reported this to IFS support who in turn have raised this with Oracle support. Please see the long response from them below. In short they have concluded that it is intermittent and that they don’t know how to re create it. They have given us a workaround which is to re compile the affected packages.
Has anyone else seen this error?
“
This was the full error stack we extracted when you were getting the error within purchase order lines.
ORA-64610: bad depth indicator
ORA-06512: at line 16
ORA-06512: at "IFSAPP.FND_EVENT_ACTION_API", line 2186
ORA-06512: at "IFSAPP.FND_EVENT_ACTION_API", line 2304
ORA-06512: at "IFSAPP.ERROR_SYS", line 128
ORA-06512: at "SYS.UTL_CALL_STACK", line 99
ORA-06512: at "IFSAPP.ERROR_SYS", line 113
ORA-06512: at "IFSAPP.ERROR_SYS", line 119
ORA-06512: at "IFSAPP.ERROR_SYS", line 337
ORA-06512: at line 3
ORA-06512: at "IFSAPP.FND_EVENT_ACTION_API", line 2300
ORA-06512: at "IFSAPP.FND_EVENT_ACTION_API", line 2309
ORA-06512: at "IFSAPP.FND_EVENT_ACTION_API", line 2159
ORA-06512: at "IFSAPP.FND_EVENT_ACTION_API", line 2192
ORA-06512: at "IFSAPP.EVENT_SYS", line 199
ORA-06512: at "IFSAPP.EVENT_SYS", line 199
ORA-06512: at "IFSAPP.PURCH_ORDER_LINE_NEW_EVI", line 10
ORA-04088: error during execution of trigger 'IFSAPP.PURCH_ORDER_LINE_NEW_EVI'
ORA-06512: at "IFSAPP.PURCHASE_ORDER_LINE_PART_API", line 1415678042
ORA-06512: at "IFSAPP.PURCHASE_ORDER_LINE_PART_API", line 21289
ORA-06512: at "IFSAPP.PURCHASE_ORDER_LINE_PART_API", line 21493
ORA-06512: at "IFSAPP.PURCHASE_ORDER_LINE_PART_API", line 17332
ORA-06512: at "IFSAPP.PURCHASE_ORDER_LINE_PART_API", line 17351
ORA-06512: at "IFSAPP.PURCHASE_ORDER_LINE_PART_API", line 17362
ORA-06512: at line 10
Error_sys package (which is IFS code) uses 3 methods in Utl_Call_Stack dictionary package (which is Oracle code) namely UTL_Call_Stack.Unit_Line, UTL_Call_Stack.Subprogram & Utl_Call_Stack.Dynamic_Depth to format error texts in IFS application. ORA-64610 error is thrown when one of the above Utl_Call_Stack procedures try to access a non-existent stack position.
As highlighted in red, the error stack shows a 10 digit number as the line number. PURCHASE_ORDER_LINE_PART_API has nearly 30000 lines of code so line number 1415678042 in the above stack shown by Oracle is incorrect. This incorrect value on line number changes when executed from a different Oracle session but it is still either a 9 or 10 digit number according to what we have seen so far. It seems that sometimes metadata related to these errors are getting saved into unreachable memory locations(Stack) in Oracle database. That seems to be the root cause for this error.
Showing this 9 or 10 digit number in error stack seems to be having some dynamic behavior. The issue seems to disappeared when the package is recreated. It seems that recreating affected IFS package is solved the issue as it recreates packages in different memory locations. Adding debug info seems to be doing this without dropping and recreating the package and that was why we suggested you to try it.
If you can see the same error for any other package or in other databases, could you please try the same step and let us know the results? And please feel free to raise if you have any questions.
“
Best answer by Sandun Madola
View original