My Oracle Support Banner

E1: JAS: Infinite Loop Detection within Application ER (Doc ID 1905029.1)

Last updated on MAY 20, 2024

Applies to:

JD Edwards EnterpriseOne Tools - Version 9.1 and later
Information in this document applies to any platform.

Symptoms

System wise symptom:

Server Manager: Runtime Metrics > Java Environment > Java Memory Usage:

Note:

  • Eventually heap memory will use up all resources in your JVM as a result garbage collector is not able to relieve memory usage.
  • If infinite looping is detected other than Application Server layer, you shall experience 100% usage of CPU
  • In case you are experiencing error reported here in your custom application, refer to <Document 1255264.1> - E1: FDA: "INFINITE LOOP DETECTION WITHIN APPLICATION ER" Error Received when Running Custom Application

 

e1root_yyyymmdd.log represents error as below:

Example 1 (User abandon transaction in adding a new purchase order with Order Template on)

USERID reaches the threshold(10000) for the memory cached row on form
*** INFINITE LOOP DETECTION WITHIN APPLICATION ER:****
Form Name :P4310_W4310A_VERSIONID
On Event: Button clicked, at ER Line = 17
While Statement: VA[276] != LI[String] = 1
On Control-ID: 547 

 

Example 2 (User abandon transaction on Multiple Location form)

USERID reaches the threshold(10000) for the memory cached row on form
*** INFINITE LOOP DETECTION WITHIN APPLICATION ER:****
Form Name :P42053_W42053B_VERSIONID
On Event: Button clicked, at ER Line = 4
While Statement: VA[65] != LI[String] = 1

On Control-ID: 5

 

Example 3 (User abandon transaction on Voucher Match screen)

*** INFINITE LOOP DETECTION WITHIN APPLICATION ER:****
Form Name :P4314_W4314A_VERSIONID
On Event: Button clicked, at ER Line = 322
While Statement: VA[168] != LI[String] = 0
On Control-ID: 470

 

Example 4 (User abandoned transaction on Work with Routings screen)

*** INFINITE LOOP DETECTION WITHIN APPLICATION ER:****
Form Name :P3112_W3112E_VERSIONID
On Event: Button clicked, at ER Line = 12
While Statement: VA[266] != LI[String] = 6
On Control-ID: 13

 

Example 5 (User abandoned transaction on Purchase Order Receipt)

*** INFINITE LOOP DETECTION WITHIN APPLICATION ER:****
Form Name :P4312_W4312A_HFE0001
On Event: Button clicked, at ER Line = 6
While Statement: VA[652] == LI[] = null || VA[652] == LI[String] =
On Control-ID: 598

 

Note:

  • This type of issue can be coming from other applications with similar reason because two forms in EnterpriseOne commonly communicate with each other through Cache
  • It is important to understand parameters in JAS.INI and not to abandon any user cache in application server
  • Information written here is extreme example
  • From above example, actual user ID and Version ID are represented as USERID and VERSIONID respectively
  • "Long Loop Warning Threshold" parameter affects the first message "USERID reaches the threshold(10000) for the memory cached row on form"
  • Below application can be written in e1root_*.log (which is a victim of thread starvation)
    • P03B102 - Standard Receipt Entry
    • P30201 - Bill of Material Where Used
    • P3411 - MRP/MPS Detail Message Revisions
    • P4015 - Order Template Revisions
    • P42101 - Sales Order Entry
    • P512000 - Job Status Inquiry-User Defined Columns

 

Changes

User Session timeout was increased from 20 minutes to 40 minutes and user did not interface with open application for same amount of time. As a result, JAS is relieving all resources by clicking Close/Cancel button in a specific form.

JAS.INI parameters which are related with this issue;

JAS.INI

[CACHE]
UserSession=2400000

[OWWEB]
fetchRowsThreshold=10000
LongLoopWarnIterationNum=10000

 

Entry in Server Manager Section INI Entry Default Value Description
User Session Cache Timeout CACHE UserSession 12000000 Time out setting for user session within the cache. These intervals are in milliseconds. For example, 60000ms =  1 minute.
Grid Row Cache Threshold OWWEB fetchRowsThreshold 10000 Log a warning message when the count of grid rows to be cached into memory (Java Heap) reaches this threshold value.
Long Loop Warning Threshold OWWEB LongLoopWarnIterationNum 10000 Log a warning message when number of iterations in an event rule (ER) while loop is equal to the value of this setting. If this warning appears in the log, it may be an indication of a logic problem in event rule logic.

 

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.