A dynamic allocation failure in SASĀ® 9.4 TS1M2 causes a system abend 378 when system option FILEMSGS is set


In SAS 9.4 TS1M2, you might see the following error in your SAS log:

ERROR: System abend 378 occurred outside of the SAS environment.

This occurs if all of the following are true:

  1. You are executing SAS 9.4 TS1M2
  2. Your SAS session has the SAS system option FILEMSGS in effect
  3. Any failure occurs during Dynamic Allocation (DYNALLOC) of a file

The DYNALLOC service allocates resources for use within SAS during an active SAS session. For example, you might receive this failure if you reference a data set that does not exist and you specify DISP=SHR or DISP=OLD. A FILENAME statement that causes a DYNALLOC failure might stop responding. The SASLOG shows the error message but the job remains in the initiator and you must cancel it to clear it from the initiator.

Some of the SAS features that perform dynamic allocation are as follows:

Note that SAS dynamically allocates these data sets only when you use the physical data set name. If you reference Ddnames from your job's JCL, the files are not allocated via DYNALLOC.

To circumvent this problem, set the SAS system option NOFILEMSGS.