Consultor Eletrônico



Kbase P14461: AppServer hangs with No buffer space available (8047)
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/30/2003
Status: Unverified

FACT(s) (Environment):

Progress 9.1C

FACT(s) (Environment):

Progress 9.1D

FACT(s) (Environment):

HP-UX 11

SYMPTOM(s):

No buffer space available (8047)

<brokerName> port <portNum> closed. (8065)

accept() on port <portNum> failed: <IOException_string> (8047)

accept() on port <portNum> failed: java.net.SocketException: No buffer space available (8047)

NameServer keepAlive to NameServer localHost:5162 : stopped. (8064)

Latest LAN transport OS patches have been installed on the server

CAUSE:

HP JVM 1.3.0 issue

This is an issue with the HP JVM running on HP-UX 11 or later releases only.
In HP-UX release 11, HP introduced the ENOBUFS return code from accept().

See the following excerpt from HP support email:

Why 11.0 accept() can cause ENOBUFS?

The description has not been changed at 11.0. However, the implementation of accept() system call was changed at 11.0 (Transport stack has changed drastically due to STREAMS based TCP/IP). And it can return -1 with errno=ENOBUFS based on the condition of "the queued socket connect request is aborted". Here, this means the transport stack received RST just after SYN was received. If RST comes before accept() is done, this situation can happen.

FIX:

Get and install latest 1.3.1 JVM from HP (fix has been implemented into 1.3.1_04)