network buffer starvation causes sends to client to be suspended

Bug #541132 reported by Jeff Hill
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
Fix Released
High
Jeff Hill

Bug Description

The original CA is server is written so that if TCP send returns an unexpected error a message is printed and all future sends to the client are disabled. This was done to suppress redundant messages. The code assumed that the thread blocking in a TCP receive system call would receive the same error and disconnect. However, when the error returned was ENOBUFS this did not occur and the send portion of the client ended up in a disabled state. Clearly this needs to be fixed.

Additional information:
In this situation the client must not have disconnected because it saw regular beacons form the IOC. Therefore, the network buffer starvation situation must have been short term or not widespread.

This bug was discovered in R3.13.9 and it appears to exist also in R3.14.4. The portable server and the CA client library do not appear to suffer from this problem.

Thanks to Ken Evans and Andrew Johnson for their assistance isolating the cause of the problem.

Original Mantis Bug: mantis-52
    http://www.aps.anl.gov/epics/mantis/view_bug_page.php?f_id=52

Tags: ca 3.13
Revision history for this message
Jeff Hill (johill-lanl) wrote :

fixed in R3.13.10

Revision history for this message
Andrew Johnson (anj) wrote :

R3.13.10 released.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.