Bug 122469
Summary: | TCP socket dissapears from RPC's svc_fdset | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Steven Emmerson <emmerson.steven> | ||||||
Component: | glibc | Assignee: | Jakub Jelinek <jakub> | ||||||
Status: | CLOSED WONTFIX | QA Contact: | Brian Brock <bbrock> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | 1 | CC: | drepper | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2004-09-30 11:02:27 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Description
Steven Emmerson
2004-05-04 21:26:13 UTC
Created attachment 99968 [details]
compressed tar(1)-file of skeletal problem package
See the file README_Fedora
First of all, please note that having side effects in assert () macros is very bad idea. The TCP socket can disappear from svc_fdset during xprt destroy, which can happen if the xprt_stat is XPRT_DIED. That can happen if the sender and receiver get out of sync, usually because an application error. I'm not willing to debug your code for you. If even after debugging you still think there is a bug in glibc, please make really small testcase and explain in detail where do you think glibc sunrpc starts misbehaving. Regarding side-effects in assert()s: I'll upload a new version that doesn't have side-effects in assert()s. It exhibits the same failure mode. Regarding the TCP socket disappearing from svc_fdset during "xprt destroy": I'm not sure what you mean by that because I'm not destroying the RPC transport when the socket disappears. Regarding the sender and receiver getting out of sync: I believe you've correctly identified the problem with the networking layer. Regarding debugging my code: I don't believe it needs to be debugged. The uploaded code is a very, very small subset of a much larger program that's been used operationally since about 1994 (at least in one version or another). The program distributes quasi-realtime data via the Internet hundreds of sites around the world. The program is THE top advanced application on Internet2. The uploaded code runs well under SunOS, HP-UX, IRIX, and FreeBSD and ran well under Linux and AIX until recently. Created attachment 100242 [details]
compressed tar(1)-file of problem-exhibiting test code
Has side-effects in assert(3)s removed.
RPC implementations differ. Period. There is no standard. If you think something should be changed, suggest a change. As Jakub said, we are not debugging your code and see where it makes assumptions which differ from what glibc currently does. The best you can do is to drop RPC and use something sane. If you have a concrete description of the change you'd like to see, you can reopen the bug. |