Issue
Customer is trying to process a set of postscript files via a upstream workflow and the VIPEXEC is getting a fatal error. The job processes for a very long time before failing with the following messages:
I000000 VIPEXEC - getMem in file EXECACHE.c line 96 wanted 591363863 bytes
E000004 VIPEXEC - Call getMem - rc 12 - line 96 - file EXECACHE.c
E000006 VIPEXEC - FATAL - memory - line 5158 file syslib.c
E000012 VIPEXEC - Unrecoverable error - process terminated
Jobs with a smaller number of pages (~500) complete without error. A large job of 9000+ pages fails. If the job is run without the Output Enhancement script, the job completes without error.
Cause
The script has a function that updates profile options at the beginning of each mailpiece. When the profile option is updated, the job ticket and modifier are written. Each mailpiece adds 2 more entries to the update and is appended to the previous update, not overwritten, causing the file to grow exponentially. Eventually VIPEXEC runs out of memory.
The entries are as such:
Entry 1 -
HOSTTEXT1=123
HOSTTEXT2=456
Entry 2 -
HOSTTEXT1=123
HOSTTEXT2=456
HOSTTEXT1=123
HOSTTEXT2=456
Entry 3 -
HOSTTEXT1=123
HOSTTEXT2=456
HOSTTEXT1=123
HOSTTEXT2=456
HOSTTEXT1=123
HOSTTEXT2=456
Resolution
In the section of the script where the profile options are updated, add a test for ENDOFJOB so the options are only written once.
Before:
[OBJECT_PROFILE_OPTIONS] OBJECT REGION SCAN270 // SET PROFILE OPTIONS
BEGINWINDOWX 0 BEGINWINDOWY 0
ACTION
[PROFILEOPTION_HOSTINFO1]
AND [PROFILEOPTION_HOSTINFO2]
ENDWINDOWX MAX ENDWINDOWY MAX;
After:
[OBJECT_PROFILE_OPTIONS] OBJECT REGION SCAN270 // SET PROFILE OPTIONS
BEGINWINDOWX 0 BEGINWINDOWY 0
TEST
ENDOFJOB
ACTION
[PROFILEOPTION_HOSTINFO1]
AND [PROFILEOPTION_HOSTINFO2]
ENDWINDOWX MAX ENDWINDOWY MAX;
UPDATED: May 07, 2018