Bug 104345 - clntudp_call has broken timeout semantics
Summary: clntudp_call has broken timeout semantics
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: dietlibc   
(Show other bugs)
Version: 9
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeremy Katz
QA Contact:
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2003-09-12 21:54 UTC by Mike Waychison
Modified: 2007-04-18 16:57 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-09-16 22:03:10 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
patch (682 bytes, patch)
2003-09-12 21:55 UTC, Mike Waychison
no flags Details | Diff

Description Mike Waychison 2003-09-12 21:54:14 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3.1) Gecko/20030618
Debian/1.3.1-3

Description of problem:
clntudp_call passes the udp retransmit in to a call to select directly, which
causes it to get overwritten with {0, 0}.

This breaks the time_waited semantics and causes the main retransmit loop to
spin fast, causing a udp packet storm on the network.

This is seen in Anaconda when the first MOUNTPROC_MNT rpc call is made to the
NFS server as mentioned in bug 103952 's attachment 'detailed description and
patch'.

I've created a patch against dietlibc 0.19 (should apply cleanly even against
today's release of 0.23).  I have just sent this upstream, but have not yet
received a reply.

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

How reproducible:
Sometimes

Steps to Reproduce:
1. Make a udp rpc call
2. Drop the response

    

Actual Results:  The client will storm the network with RPC CALLS as it does'nt
what for a response (timeout = near nil to the select call).

Expected Results:  Retransmits should occur as set in clntudp_create or as set
in clntudp_control.  Total timeout should work as defined in the call to
clntudp_call.

Additional info:

Comment 1 Mike Waychison 2003-09-12 21:55:32 UTC
Created attachment 94467 [details]
patch

Comment 2 Jeremy Katz 2003-09-16 22:03:10 UTC
Added for -7.


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