The SAS® Stored Process Server might hang or experience slow performance when executing a SAS® Stored Process that creates graphics output


The SAS® Stored Process Server might hang or experiences slow performance when executing a SAS® Stored Process that creates graphics output. The problem seems to occur most often on UNIX platforms, but it can occur on other platforms too.

In most cases where the SAS Stored Process Server hangs, one or more of the following messages are written to the Object Spawner log file after the server becomes unresponsive:

 
   ERROR:  The tcpSockWriteVector call failed. The system error is 
   'Broken pipe'. 
 
   ERROR:  Bridge protocol engine socket access method failed to send 
   vector to socket, error 32 (Broken pipe). 
 
   ERROR:  The Balance algorithm timed out before a server could be 
   found. 
 
   WARNING:  The load balancing instance ldblCompRefDirectConnection 
   call failed. 
 
   WARNING:  Unable to redirect the client request. 

The workaround is to specify GOPTIONS NOCHARACTERS FTEXT=<SAS-font> in the SAS Stored Process code that produces the graphics output. Specifying OPTIONS NOCHARACTERS turns off hardware font calls, and the FTEXT= option specifies which SAS® software font to use for rendering text on the graph. For example, the following GOPTIONS statement specifies the SWISSL font:

 
   goptions nocharacters ftext=swissl; 


You might also be able to reduce the occurrence of hanging server situations by reducing the session time-out value in SAS Stored Processes that produce graphics with ODS. Reducing the value for session time-out caused sessions that were created implicitly for graphics replay to expire earlier than the 15-minute default setting. The following example sets the session time-out to 30 seconds:


   rc=stpsrvset('session timeout',30);