Consultor Eletrônico



Kbase P97779: Batch job using sockets crashes with error 5487
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/29/2009
Status: Verified

SYMPTOM(s):

4GL code creates and deletes sockets correctly

Batch job runs fine for approximately 2 weeks before crashing

Fatal transport failure <error_code>. (5487)

Fatal transport failure -22. (5487)

Error 22 resolves to ACCEPT_FAILED but this is a Progress translation of an error code received from the socket operation

Error from accept in sock_accept_connection: 233

Error 233 is ENOBUFS meaning that there is no buffer space available

FACT(s) (Environment):

OpenEdge Category: Language (4GL/ABL)
Progress 9.1D 64-bit
HP-UX 11.0 64-bit
OpenEdge Category: Language (4GL/ABL)

CAUSE:

HP-UX 11.0 bug

FIX:

The HP web site shows that you can try setting the following kernel parameters (this has fixed the problem for users of Informix in the past and therefore should be no different for Progress):

nstrtel= a # > # expected telnet sessions

### Try the following second:
bufpages=0
nbuf=0
swap_mem_on=1
dbc_min_pct=5
dbc_max_pct=25
### This activates the dynamic function of buffer cache using the values of # dbc_max_pct ant dbc_min_pct as the range (these values are 5% and 25% of your physical memory).

### Additionally it was also suggested to set the following (but try with only the above settings first):
allocate_fs_swapmap=0
max_async_ports=npty
maxusers=max. # of users+100
npty=max. # of users+50
swapmem_on=1

Also set shmmax, maxdsiz and maxtsiz > 1Gb