Error E000006 FATAL memory file syslib.c in P/I Output Manager

print
Product Feature: Scripting


 

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