Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 579832

Summary: clvmd hangs during stress load
Product: [Retired] Red Hat Cluster Suite Reporter: Benjamin Kahn <bkahn>
Component: lvm2-clusterAssignee: Christine Caulfield <ccaulfie>
Status: CLOSED DUPLICATE QA Contact: Cluster QE <mspqa-list>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 4CC: agk, bkahn, casmith, ccaulfie, cluster-maint, dwysocha, hklein, iannis, jbrassow, jfenal, jkortus, jwest, jwilleford, mbroz, pm-eus, prockai, tao
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: lvm2-cluster-2.02.42-5.el4_8.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-01-21 11:45:31 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:
Bug Depends On: 559999    
Bug Blocks:    

Description Benjamin Kahn 2010-04-06 16:48:00 UTC
This bug has been copied from bug #559999 and has been proposed
to be backported to 4.8 z-stream (EUS).

Comment 4 Milan Broz 2010-05-18 11:35:44 UTC
Fix in lvm2-cluster-2.02.42-5.el4_8.1.

Comment 12 Christine Caulfield 2010-06-17 15:26:47 UTC
Looking at the backtrace it seems that the patch in bz#559999 didn't fix the bug (which is not *that* surprising to me as it was committed before anyone tested it).

The symptoms are identical. A client processing thread is blocked on the condition variable at clvmd.c:1454

1448                    pthread_mutex_lock(&client->bits.localsock.mutex);
1449                    DEBUGLOG("Waiting to do post command - state = %d\n",
1450                             client->bits.localsock.state);
1451    
1452                    if (client->bits.localsock.state != POST_COMMAND &&
1453                        !client->bits.localsock.finished) {
1454                            pthread_cond_wait(&client->bits.localsock.cond, 
1455                                              &client->bits.localsock.mutex);
1456                    }
1457                    pthread_mutex_unlock(&client->bits.localsock.mutex);
1458    
1459                    DEBUGLOG("Got post command condition...\n");
1460    
1461                    /* POST function must always run, even if the client aborts */
1462                    status = 0;
1463                    do_post_command(client);

Comment 13 Christine Caulfield 2010-06-17 15:36:42 UTC
(gdb) p client->bits.localsock.finished
$3 = 0
(gdb) p client->bits.localsock.state
$4 = PRE_COMMAND
(gdb) p status
$5 = 0

I'd also like to see some clvmd debug logs for this incident too.