Possible Causes of Memory Violation in P4314

Goal


This document describes message/pop-up window "Memory Violation" while running Voucher Match (P4314).

Below error is coming in B9 when Windows determines Memory Violation against ActiveConsole.exe which is service/process for EnterpriseOne in Windows client


Below error message may come in B7


Since Memory Violation is determined by Operating System (Windows) the way it handles memory can be different.

In HTML client, Grid control will be collapsed in getting Memory Violation.

Solution


Possibly you may see below message in small pop-up windows if you run P4314 in Windows client,

Your JD Edwards EnterpriseOne system has experienced a fatal system error and is unstable. Please exit EnterpriseOne


Or,

DLG_MSGB.CPP190
The system may become unstable.Please debug the Application using the Event Rule Debugger.


Or, in jde.log,

library.c647
LIB0000219 - RegOpenKeyEx failed with the Windows error number 5 (Access is denied.)


Or,

gridcols.cpp5023
Sequencing is out of order in tab name (Format1) starting with Alias (JELN) - Sort Sequence: 6

Dlg_msgb.cpp170
An ER line caused a memory violation.
ER Debugger will stop at the ER line.
Application:P4314 Event :Post Button Clicked




Or, in jdedebug.log

The system may become unstable.Please debug the Application using the Event Rule Debugger.
Application:P4314 Event :Button Clicked [T:1004 F:D:\b9\system\jdeuser\jdedlg\DLG_MSGB.CPP Ln:191 Lv:LEVEL1]


Note that Memory Violation in UBE are very much different from Memory Violation in Interactive Application. In UBE memory violation error message will be issued when called BSFN (1st level BSFN) failed to RETURN at the end of routine. So if the error is coming from a certain UBE, capture jdedebug.log which traces BSFN through Call Object Kernel and analyze it

Whereas Memory Violation in Interactive application is related with Data Structure (or Structured Data), which are:

Note:




Then common way to violate Memory is,


Above violation can come,

Most of issue are coming from corrupted data of F98950 - User Override file which can be result of Tools Release upgrade or kill application not through EnterpriseOne tool sets. Possible reason for this is that the specification of a certain Grid Column in User Override data can be different from specification of a certain DD. Usually this will cause JDE Grid to assign string to math numeric columns in general.

Example of Memory Error (when 1st column contains Horizontal Tab Special Character),

String Math Numeric String
Input Value Oracle'\t' Corporation 9999.9999 Memory Error
Actual assignment Oracle Corporation 99999999

: In assigning 2nd column it will hit Memory Violation as String memory is assigned to Math Numeric memory

Case Study 1:

In case the you are on below tools release (Number appears here is SAR)::

: This issue can come when a certain interactive application has at least 3 different forms and form data structures are not handled properly. Applications, P0411Z1, P03B11 and P4314 may have problem in running applications in Windows Client.

Case Study 2:

In processing Progress Payment you may experience Memory Violation or Collapse of ActiveConsole.exe if you do not have a <Bug 10929228>: SUBCONTRACT DATE CHANGE - SAR: 8137685