<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: error] (233)No buffer space available: accept: (client socket) in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/error-233-no-buffer-space-available-accept-client-socket/m-p/2551265#M28123</link>
    <description>How this symptom can be seen:&lt;BR /&gt;=============================&lt;BR /&gt;The symptom can be seen with any 'server' type application&lt;BR /&gt;which calls accept() system call. Inetd can also cause this&lt;BR /&gt;error on 11.0. Some customers see this with informix / oracle&lt;BR /&gt;and other major application's server daemon. The errno(see&lt;BR /&gt;man errno, for more details) is defined like&lt;BR /&gt;&lt;BR /&gt;#define ENOBUFS     233    /* No buffer space available */&lt;BR /&gt;&lt;BR /&gt;in /usr/include/sys/errno.h. The way of printing this error&lt;BR /&gt;varies. Some application can just leave '233' in its log file.&lt;BR /&gt;Sophisticated application would call perror(3C) or&lt;BR /&gt;strerror(3C) to print the corrsponding error message(for&lt;BR /&gt;ENOBUFS, the message is "No buffer space available").&lt;BR /&gt;&lt;BR /&gt;What ENOBUFS means:&lt;BR /&gt;===================&lt;BR /&gt;In many cases, ENOBUFS just means there's no sufficient&lt;BR /&gt;memory available and the system(kernel) can not allocate&lt;BR /&gt;any more. This is general definition and in most of case&lt;BR /&gt;such situtaion  can be regarded  as transient resource&lt;BR /&gt;shortage. And each system call can add some more information&lt;BR /&gt;in  man pages  if there're some specific meaning for each&lt;BR /&gt;error. Application will usually retry the operation when it&lt;BR /&gt;detects this error from a system call since it indicates&lt;BR /&gt;there's transient resource shortage.&lt;BR /&gt;&lt;BR /&gt;When you look at accept(2), you will find the following&lt;BR /&gt;explanation:&lt;BR /&gt;&lt;BR /&gt;[ENOBUFS] No buffer space is available. The accept() cannot&lt;BR /&gt;          complete.  The queued socket connect request is&lt;BR /&gt;          aborted.&lt;BR /&gt;&lt;BR /&gt;Why 11.0 accept() can cause ENOBUFS?&lt;BR /&gt;====================================&lt;BR /&gt;The description has not been changed at 11.0. However,&lt;BR /&gt;the implementation of accept() system call was changed&lt;BR /&gt;at 11.0(Transport stack has changed drastically due to&lt;BR /&gt;STREAMS based TCP/IP).   And it can return -1 with&lt;BR /&gt;errno=ENOBUFS based on the condition of "the queued socket&lt;BR /&gt;connect request is aborted". Here, this means the transport&lt;BR /&gt;stack received RST just after SYN was received. If RST comes&lt;BR /&gt;before accept() is done, this situation can happen.&lt;BR /&gt;&lt;BR /&gt;On 10.X, if this happens, the connection was just silently&lt;BR /&gt;dropped.&lt;BR /&gt;&lt;BR /&gt;How this error should be handled ?&lt;BR /&gt;==================================&lt;BR /&gt;If this can be seen with existing application, just ignore&lt;BR /&gt;the error. Since this can happen when we receive RST just&lt;BR /&gt;after SYN, the connection request is anyway cancelled.&lt;BR /&gt;There should be no serious problem.&lt;BR /&gt;&lt;BR /&gt;If the application aborts with this error situation, it&lt;BR /&gt;should be re-written so that it will retry accept() system&lt;BR /&gt;call. ENOBUFS is usually indicating transient error. So,&lt;BR /&gt;aborting the application just by seeing this error once&lt;BR /&gt;should not be proper action. The application should be&lt;BR /&gt;modified so that it gets more robustness.&lt;BR /&gt;&lt;BR /&gt;PORTABILITY ISSUE:&lt;BR /&gt;==================&lt;BR /&gt;UNIX Networking Programming Vol 1 Second Edition&lt;BR /&gt;(Richard Stevens, ISBN 0-13-490012-X) mentions this in&lt;BR /&gt;"5.11 Connection Abort before accept Returns" (page 129).&lt;BR /&gt;It says what happens is implementation dependent. HP-UX&lt;BR /&gt;11.0 returns ENOBUFS.&lt;BR /&gt;</description>
    <pubDate>Wed, 11 Jul 2001 11:27:38 GMT</pubDate>
    <dc:creator>eran maor</dc:creator>
    <dc:date>2001-07-11T11:27:38Z</dc:date>
    <item>
      <title>error] (233)No buffer space available: accept: (client socket)</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/error-233-no-buffer-space-available-accept-client-socket/m-p/2551264#M28122</link>
      <description>Hi !&lt;BR /&gt;I am not original, I face also the same problem on a HP-UX 11.00 with Apache web server. Has anybody receive any feedback about it ? Please keep me in touch at gnoe@novis.pt.&lt;BR /&gt;&lt;BR /&gt;many thanks,&lt;BR /&gt;&lt;BR /&gt;Guillaume</description>
      <pubDate>Wed, 11 Jul 2001 09:43:41 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/error-233-no-buffer-space-available-accept-client-socket/m-p/2551264#M28122</guid>
      <dc:creator>gnoe</dc:creator>
      <dc:date>2001-07-11T09:43:41Z</dc:date>
    </item>
    <item>
      <title>Re: error] (233)No buffer space available: accept: (client socket)</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/error-233-no-buffer-space-available-accept-client-socket/m-p/2551265#M28123</link>
      <description>How this symptom can be seen:&lt;BR /&gt;=============================&lt;BR /&gt;The symptom can be seen with any 'server' type application&lt;BR /&gt;which calls accept() system call. Inetd can also cause this&lt;BR /&gt;error on 11.0. Some customers see this with informix / oracle&lt;BR /&gt;and other major application's server daemon. The errno(see&lt;BR /&gt;man errno, for more details) is defined like&lt;BR /&gt;&lt;BR /&gt;#define ENOBUFS     233    /* No buffer space available */&lt;BR /&gt;&lt;BR /&gt;in /usr/include/sys/errno.h. The way of printing this error&lt;BR /&gt;varies. Some application can just leave '233' in its log file.&lt;BR /&gt;Sophisticated application would call perror(3C) or&lt;BR /&gt;strerror(3C) to print the corrsponding error message(for&lt;BR /&gt;ENOBUFS, the message is "No buffer space available").&lt;BR /&gt;&lt;BR /&gt;What ENOBUFS means:&lt;BR /&gt;===================&lt;BR /&gt;In many cases, ENOBUFS just means there's no sufficient&lt;BR /&gt;memory available and the system(kernel) can not allocate&lt;BR /&gt;any more. This is general definition and in most of case&lt;BR /&gt;such situtaion  can be regarded  as transient resource&lt;BR /&gt;shortage. And each system call can add some more information&lt;BR /&gt;in  man pages  if there're some specific meaning for each&lt;BR /&gt;error. Application will usually retry the operation when it&lt;BR /&gt;detects this error from a system call since it indicates&lt;BR /&gt;there's transient resource shortage.&lt;BR /&gt;&lt;BR /&gt;When you look at accept(2), you will find the following&lt;BR /&gt;explanation:&lt;BR /&gt;&lt;BR /&gt;[ENOBUFS] No buffer space is available. The accept() cannot&lt;BR /&gt;          complete.  The queued socket connect request is&lt;BR /&gt;          aborted.&lt;BR /&gt;&lt;BR /&gt;Why 11.0 accept() can cause ENOBUFS?&lt;BR /&gt;====================================&lt;BR /&gt;The description has not been changed at 11.0. However,&lt;BR /&gt;the implementation of accept() system call was changed&lt;BR /&gt;at 11.0(Transport stack has changed drastically due to&lt;BR /&gt;STREAMS based TCP/IP).   And it can return -1 with&lt;BR /&gt;errno=ENOBUFS based on the condition of "the queued socket&lt;BR /&gt;connect request is aborted". Here, this means the transport&lt;BR /&gt;stack received RST just after SYN was received. If RST comes&lt;BR /&gt;before accept() is done, this situation can happen.&lt;BR /&gt;&lt;BR /&gt;On 10.X, if this happens, the connection was just silently&lt;BR /&gt;dropped.&lt;BR /&gt;&lt;BR /&gt;How this error should be handled ?&lt;BR /&gt;==================================&lt;BR /&gt;If this can be seen with existing application, just ignore&lt;BR /&gt;the error. Since this can happen when we receive RST just&lt;BR /&gt;after SYN, the connection request is anyway cancelled.&lt;BR /&gt;There should be no serious problem.&lt;BR /&gt;&lt;BR /&gt;If the application aborts with this error situation, it&lt;BR /&gt;should be re-written so that it will retry accept() system&lt;BR /&gt;call. ENOBUFS is usually indicating transient error. So,&lt;BR /&gt;aborting the application just by seeing this error once&lt;BR /&gt;should not be proper action. The application should be&lt;BR /&gt;modified so that it gets more robustness.&lt;BR /&gt;&lt;BR /&gt;PORTABILITY ISSUE:&lt;BR /&gt;==================&lt;BR /&gt;UNIX Networking Programming Vol 1 Second Edition&lt;BR /&gt;(Richard Stevens, ISBN 0-13-490012-X) mentions this in&lt;BR /&gt;"5.11 Connection Abort before accept Returns" (page 129).&lt;BR /&gt;It says what happens is implementation dependent. HP-UX&lt;BR /&gt;11.0 returns ENOBUFS.&lt;BR /&gt;</description>
      <pubDate>Wed, 11 Jul 2001 11:27:38 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/error-233-no-buffer-space-available-accept-client-socket/m-p/2551265#M28123</guid>
      <dc:creator>eran maor</dc:creator>
      <dc:date>2001-07-11T11:27:38Z</dc:date>
    </item>
    <item>
      <title>Re: error] (233)No buffer space available: accept: (client socket)</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/error-233-no-buffer-space-available-accept-client-socket/m-p/2551266#M28124</link>
      <description>Eran,&lt;BR /&gt;&lt;BR /&gt;I want to simulate this problem by creating a client and server socket programs.  Which functions should i invoke to make this happens? i.e.  I want to send SYN, RST, accept() etc...(in what order?).  My client/server programs are running fine now.&lt;BR /&gt;&lt;BR /&gt;--K</description>
      <pubDate>Mon, 30 Jul 2001 21:41:32 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/error-233-no-buffer-space-available-accept-client-socket/m-p/2551266#M28124</guid>
      <dc:creator>Kevin Hong</dc:creator>
      <dc:date>2001-07-30T21:41:32Z</dc:date>
    </item>
  </channel>
</rss>

