I have written a user exit program that when you press the F7 it will compile your program source interactively. However if I then subsequently add or delete a line of code the SEU program crashes and I get sent a "Error found on STRSEU command" and when I look into the joblog I see the following errors: Tried to refer to all or part of an object that no longer exists. Application error. MCH3402 unmonitored by QRNS4SEU at statement 0000000033, instruction X'0000'. The requested heap space operation is invalid. The pointer parameter passed to free or realloc is not valid. However; if I change my F7 to compile my source in batch there is no error. I am returning a value of 1 for outrecs and a '4' for the return code when returning back to SEU. I have tried other return codes like 1,2 and 3 but with the same result. If I change the F7 to execute any other common as400 command I do not have any problems.
Software/Hardware used:
AS400
ASKED:
October 19, 2010 12:10 PM
UPDATED:
November 8, 2010 8:17 AM
I’m not at all sure how RCLRSC would help. I can’t quite see that it should be run.
I wouldn’t be surprised if a compiler used the same method to bring program source into memory for compilation as SEU does for editting. They could easily clobber each others’ memory work spaces.
First thing I would try is to break the call to the compiler out into a separate program. My SEU exit program would call the new program to do compiles. The new program would run in a different activation group, either a named AG or *NEW.
It might not solve the problem, but it might produce enough of a different error to help see the problem.
Tom