Bug 74652 - Problem when using AIO sockets
Summary: Problem when using AIO sockets
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: glibc
Version: 7.3
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-09-29 12:38 UTC by Need Real Name
Modified: 2016-11-24 14:55 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2006-08-04 20:36:09 UTC
Embargoed:


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

Description Need Real Name 2002-09-29 12:38:11 UTC
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] 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:
Always

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 12:43:33 UTC
Created attachment 77624 [details]
c++ code for reproduction AIO problem

Comment 2 Ben LaHaise 2002-09-29 20:10:38 UTC
This is a bug in glibc, reassigning.

Comment 3 Ulrich Drepper 2003-04-22 07:20:40 UTC
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 14:30:38 UTC
in fact, I get "segmentation fault" error when run (after recompilation) my 
test program in RHL 9

Comment 5 Bill Nottingham 2006-08-04 20:36:09 UTC
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.