Bug 763568 (GLUSTER-1836)

Summary: server is hung in infinite loop while trying to search for an actor during request processing
Product: [Community] GlusterFS Reporter: Raghavendra G <raghavendra>
Component: protocolAssignee: Raghavendra G <raghavendra>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: low    
Version: mainlineCC: amarts, gluster-bugs
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: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Raghavendra G 2010-10-06 13:08:48 UTC
Test: after starting server, send SIGHUP to server process and run ls on mountpoint.

Server process is hung executing an infinite loop in rpcsvc_program_actor. Traversal of List storing registering programs is resulting in an infinite loop.

Cause: list_add_tail is done on same list_head object more than once. This happens since we are adding global program structures into svc registered program list and when SIGHUP is sent the graph is reinitialized and rpcsvc_program_register is called for second time on a program object that is already in list of registered programs.

Comment 1 Vijay Bellur 2010-10-07 02:17:21 UTC
PATCH: http://patches.gluster.com/patch/5322 in master (rpcsvc: allocate a new program structure before registering it.)