Closing a TCP socket may fail with EINVAL.

RESOLVED FIXED in 4.1.2

Status

P1
critical
RESOLVED FIXED
18 years ago
18 years ago

People

(Reporter: wtc, Assigned: wtc)

Tracking

4.1.1
4.1.2
DEC
OSF/1

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

18 years ago
On Tru64 Unix, closing a TCP socket sometimes fails with the
EINVAL error but the socket is actually closed.  Compaq
confirmed this is a bug.  This bug is fixed on Tru64 UNIX
V5.1A and later.

Here are the tracking numbers associated with the
tcp socket close() defect:

Request ID: BCGM711RJ
Field ID:      CFS77854
PTR:            117-1-14950
QAR:           81633 and 81431

The following is from the Tru64 Unix Networking Group.

>    1. A clear description of the nature of the problem and the 
>       solution. 

   Problem description: 

   A problem exists such that the close() system call, when 
   called to close a TCP socket, may return an error status 
   with errno set to EINVAL.  Contrary to the return status, 
   the system call does successfully close the socket. 

   Solution: 

   The solution is a change to TCP processing of the close() 
   request, such that a successful close() completes with a 
   success status. 

   Workaround: 

   Because the socket was successfully closed, an application 
   may safely ignore the EINVAL error. 

   Tru64 UNIX versions affected: 

   V5.1 and earlier, although the problem is most likely to 
   occur on V5.0, V5.0A, and V5.1. 

   Kernel modules affected: 

   tcp_usrreq.o 
   inet.mod 

>    2. Under what conditions and with what iPlanet products the 
>       problem will occur. 

   The problem occurs when the remote end of a TCP connection
   is closed (or shutdown for writing), followed by the local
   socket being shutdown() for writing, followed by the local
   socket being closed within approximately 1 second of the
   shutdown().

>   3. Why the fix to the NSPR library is the best solution. 

   It frees those applications that use it from being dependent 
   on a patch to the base operating system.
(Assignee)

Comment 1

18 years ago
*** Bug 86764 has been marked as a duplicate of this bug. ***
(Assignee)

Updated

18 years ago
Severity: normal → critical
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → 4.1.2
(Assignee)

Comment 2

18 years ago
Created attachment 39413 [details] [diff] [review]
Proposed patch.
(Assignee)

Comment 3

18 years ago
I checked in the fix on the trunk and NSPRPUB_RELEASE_4_1_BRANCH
of NSPR.
Status: ASSIGNED → RESOLVED
Last Resolved: 18 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.