Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 74652 - Problem when using AIO sockets
Problem when using AIO sockets
Product: Red Hat Linux
Classification: Retired
Component: glibc (Show other bugs)
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
Brian Brock
Depends On:
  Show dependency treegraph
Reported: 2002-09-29 08:38 EDT by Need Real Name
Modified: 2016-11-24 09:55 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-08-04 16:36:09 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
c++ code for reproduction AIO problem (9.14 KB, text/plain)
2002-09-29 08:43 EDT, Need Real Name
no flags Details

  None (edit)
Description Need Real Name 2002-09-29 08:38:11 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461)

Description of problem:
i've attached a program [written by Steve Huston shuston@riverace.com] which is 
only C/C++ (no ACE) and
reproduces the
problem with AIO on Linux. It has compilation
instructions in it.
This program opens a socket back to itself - there's a client
and server.
The client sends some data; the server reads it and sends it
back. When the
client receives the echo, it starts the process over again,
counting how
many times it goes around.

There is one command line argument - the number of
iterations to run
through. On each successful iteration, the client prints a
"." to the
terminal. If it completes all of the iterations, it exits. If
it goes for
more than 2 seconds with no AIO activity, it will print an
error message and
sleep for 5 minutes. This gives you an opportunity to attach
to it with gdb
and examine the threads. One will be stuck in libc_read, and
if you also do
a "netstat" you'll see there is data available to read, but
it's not being
read. This is the same condition we see in ACE.

It won't run correctly in gdb - it runs the machine out of
threads and runs
very slowly. This is why you need to wait for it to lock up
and then attach
to it.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. g++ -g -o aiotest -lrt aiotest.cpp
2. run  "./aiotest 1000000" few times

Actual Results:  many times I get "Resorce temporarily unavailable"

Expected Results:  "AIOCB test successful"

Additional info:

the statistic is better for RH AS 2.1, but even here it doesn't work 100%.
Comment 1 Need Real Name 2002-09-29 08:43:33 EDT
Created attachment 77624 [details]
c++ code for reproduction AIO problem
Comment 2 Ben LaHaise 2002-09-29 16:10:38 EDT
This is a bug in glibc, reassigning.
Comment 3 Ulrich Drepper 2003-04-22 03:20:40 EDT
I ran the test a couple of times on RHL9 and have seen no problem whatsoever. 
Can you try it?
Comment 4 Need Real Name 2003-04-27 10:30:38 EDT
in fact, I get "segmentation fault" error when run (after recompilation) my 
test program in RHL 9
Comment 5 Bill Nottingham 2006-08-04 16:36:09 EDT
Red Hat Linux and Red Hat Powertools are currently no longer supported by Red
Hat, Inc. In an effort to clean up bugzilla, we are closing all bugs in MODIFIED
state for these products.

However, we do want to make sure that nothing important slips through the
cracks. If, in fact, these issues are not resolved in a current Fedora Core
Release (such as Fedora Core 5), please open a new issues stating so. Thanks.

Note You need to log in before you can comment on or make changes to this bug.