Bug 480709 - cluster deadlock issues when mounting 50 gfs filesystems
Summary: cluster deadlock issues when mounting 50 gfs filesystems
Keywords:
Status: CLOSED DUPLICATE of bug 499734
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: openais
Version: 5.3
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Steven Dake
QA Contact: Cluster QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-01-19 23:43 UTC by Corey Marthaler
Modified: 2016-04-26 13:42 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-05-21 14:22:21 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
log from taft-01 (426.34 KB, text/plain)
2009-01-19 23:44 UTC, Corey Marthaler
no flags Details
log from taft-02 (407.76 KB, text/plain)
2009-01-19 23:44 UTC, Corey Marthaler
no flags Details
log from taft-03 (423.51 KB, text/plain)
2009-01-19 23:45 UTC, Corey Marthaler
no flags Details
log from taft-04 (852.85 KB, text/plain)
2009-01-19 23:46 UTC, Corey Marthaler
no flags Details
gfs_tool dump from grant-01 (1.00 MB, text/plain)
2009-05-08 19:51 UTC, Corey Marthaler
no flags Details
gfs_tool dump from grant-02 (1.00 MB, text/plain)
2009-05-08 19:52 UTC, Corey Marthaler
no flags Details
gfs_tool dump from grant-03 (1.00 MB, text/plain)
2009-05-08 19:53 UTC, Corey Marthaler
no flags Details
group_tool dump from grant-02 (152.53 KB, text/plain)
2009-05-08 20:27 UTC, David Teigland
no flags Details

Description Corey Marthaler 2009-01-19 23:43:06 UTC
Description of problem:
I've reproduced this issue 3 times now while attempting to recreate bz 480401 with less filesystems. Each time I attempt to simultaneously mount 50 gfs filesystems, the mounts end up deadlocked in JOIN_STOP_WAIT/FAIL_ALL_STOPPED.

Here's what a few of the GFS services look like:
[root@taft-02 tmp]# head cman
type             level name     id       state       
fence            0     default  00010001 FAIL_STOP_WAIT
[1 2 3 4]
dlm              1     clvmd    00010003 FAIL_STOP_WAIT
[1 2 3 4]
dlm              1     vgblv1   00650002 FAIL_ALL_STOPPED
[2 3]
dlm              1     vgclv2   006b0002 none        
[2]
dlm              1     vgblv2   006f0002 FAIL_ALL_STOPPED

[...]

gfs              2     vgelv5   00000000 JOIN_STOP_WAIT
[1 2 3]
gfs              2     vgflv2   00030001 JOIN_STOP_WAIT
[1 2 3 4]
gfs              2     vgflv5   00000000 JOIN_STOP_WAIT
[1 2 3 4]
gfs              2     vgflv6   00000000 JOIN_STOP_WAIT
[1 2 3]
gfs              2     vgelv7   00000000 JOIN_STOP_WAIT
[1 2 3]
gfs              2     vgflv4   000b0003 FAIL_ALL_STOPPED
[2 3 4]
gfs              2     vgflv1   000d0003 FAIL_STOP_WAIT
[1 2 3 4]
gfs              2     vgdlv7   00000000 JOIN_STOP_WAIT


Version-Release number of selected component (if applicable):
2.6.18-128.el5

lvm2-2.02.40-6.el5    BUILT: Fri Oct 24 07:37:33 CDT 2008
lvm2-cluster-2.02.40-7.el5    BUILT: Wed Nov 26 07:19:19 CST 2008
device-mapper-1.02.28-2.el5    BUILT: Fri Sep 19 02:50:32 CDT 2008
kmod-gfs-0.1.31-3.el5     BUILT: Wed 17 Dec 2008 03:19:30 PM CST

How reproducible:
often

I'll attach the log/kernel dumps from the 4 taft nodes...

Comment 1 Corey Marthaler 2009-01-19 23:44:20 UTC
Created attachment 329410 [details]
log from taft-01

Comment 2 Corey Marthaler 2009-01-19 23:44:46 UTC
Created attachment 329411 [details]
log from taft-02

Comment 3 Corey Marthaler 2009-01-19 23:45:16 UTC
Created attachment 329412 [details]
log from taft-03

Comment 4 Corey Marthaler 2009-01-19 23:46:17 UTC
Created attachment 329413 [details]
log from taft-04

Comment 5 Steve Whitehouse 2009-05-06 16:06:51 UTC
This doesn't looks like a gfs issue to me, sounds more like a cluster infrastructure problem
.

Comment 6 David Teigland 2009-05-06 16:23:32 UTC
comment 3 shows the likely problem,

Jan 19 16:01:01 taft-03 gfs_controld[6625]: Assertion failed on line 411 of file recover.c Assertion:  "memb->opts & MEMB_OPT_RECOVER"

(It appears the groupd state in the description was collected after sysrq-t wrecked the cluster, so it's not useful.)

Comment 7 David Teigland 2009-05-06 20:56:13 UTC
I'll need a dump of the gfs_controld debug log from all nodes next time this happens:  group_tool dump gfs > gfs_controld.txt

It might be good to grep /var/log/messages for that error message first to verify that it's the same bug that's been reproduced.

Comment 8 Corey Marthaler 2009-05-08 19:50:22 UTC
I appear to have hit something similar to this. 

On all three grant nodes I tried this:

[root@grant-01 ~]# for i in $(seq 1 20); do mount /dev/B/lv$i /mnt/B$i; done

[and all are hung]

grant-01:
root     11717 10021  0 May07 pts/0    00:00:00 mount /dev/B/lv6 /mnt/B6
root     11720 11717  0 May07 pts/0    00:00:00 /sbin/mount.gfs /dev/B/lv6 /mnt/B6 -o rw

grant-02:
root     11713 10056  0 May07 pts/0    00:00:00 mount /dev/B/lv6 /mnt/B6
root     11718 11713  0 May07 pts/0    00:00:00 /sbin/mount.gfs /dev/B/lv6 /mnt/B6 -o rw

grant-03:
root     11713 10048  0 May07 pts/0    00:00:00 mount /dev/B/lv6 /mnt/B6
root     11716 11713  0 May07 pts/0    00:00:00 /sbin/mount.gfs /dev/B/lv6 /mnt/B6 -o rw

grant-02 is the only node with a stuck cman service:
[root@grant-02 ~]# cman_tool services
type             level name     id       state       
fence            0     default  00010001 none        
[1 2 3]
dlm              1     clvmd    00010003 none        
[1 2 3]
dlm              1     B1       00020002 none        
[1 2 3]
dlm              1     B2       00040002 none        
[1 2 3]
dlm              1     B3       00060002 none        
[1 2 3]
dlm              1     B4       00080002 none        
[1 2 3]
dlm              1     B5       000a0002 none        
[1 2 3]
dlm              1     B6       00000000 JOIN_STOP_WAIT
[-1341969328 2]
gfs              2     B1       00010002 none        
[1 2 3]
gfs              2     B2       00030002 none        
[1 2 3]
gfs              2     B3       00050002 none        
[1 2 3]
gfs              2     B4       00070002 none        
[1 2 3]
gfs              2     B5       00090002 none        
[1 2 3]
gfs              2     B6       000b0002 none        
[1 2 3]


I'll attach a group_tool dump of gfs from each node.

Comment 9 Corey Marthaler 2009-05-08 19:51:21 UTC
Created attachment 343153 [details]
gfs_tool dump from grant-01

Comment 10 Corey Marthaler 2009-05-08 19:52:56 UTC
Created attachment 343154 [details]
gfs_tool dump from grant-02

Comment 11 Corey Marthaler 2009-05-08 19:53:55 UTC
Created attachment 343156 [details]
gfs_tool dump from grant-03

Comment 12 Corey Marthaler 2009-05-08 19:55:45 UTC
Here's the only interesting thing in the syslog (on grant-02):

May  7 16:17:07 grant-02 kernel: Trying to join cluster "lock_dlm", "GRANT:B5"
May  7 16:17:07 grant-02 kernel: Joined cluster. Now mounting FS...
May  7 16:17:07 grant-02 kernel: GFS: fsid=GRANT:B5.0: jid=0: Trying to acquire journal lock...
May  7 16:17:07 grant-02 kernel: GFS: fsid=GRANT:B5.0: jid=0: Looking at journal...
May  7 16:17:07 grant-02 kernel: GFS: fsid=GRANT:B5.0: jid=0: Done
May  7 16:17:07 grant-02 kernel: GFS: fsid=GRANT:B5.0: jid=1: Trying to acquire journal lock...
May  7 16:17:07 grant-02 kernel: GFS: fsid=GRANT:B5.0: jid=1: Looking at journal...
May  7 16:17:07 grant-02 kernel: GFS: fsid=GRANT:B5.0: jid=1: Done
May  7 16:17:07 grant-02 kernel: GFS: fsid=GRANT:B5.0: jid=2: Trying to acquire journal lock...
May  7 16:17:07 grant-02 kernel: GFS: fsid=GRANT:B5.0: jid=2: Looking at journal...
May  7 16:17:07 grant-02 openais[10160]: [TOTEM] Retransmit List: 313
May  7 16:17:07 grant-02 kernel: GFS: fsid=GRANT:B5.0: jid=2: Done
May  7 16:17:07 grant-02 kernel: Trying to join cluster "lock_dlm", "GRANT:B6"
May  7 16:17:09 grant-02 openais[10160]: [TOTEM] Retransmit List: 395
May  7 16:17:09 grant-02 openais[10160]: [TOTEM] Retransmit List: 3aa
May  7 16:20:20 grant-02 kernel: dlm: B6: group join failed -512 0
May  7 16:20:20 grant-02 kernel: lock_dlm: dlm_new_lockspace error -512
May  7 16:20:20 grant-02 kernel: can't mount proto=lock_dlm, table=GRANT:B6, hostdata=jid=0:id=720898:first=1
May  7 16:20:20 grant-02 kernel: Trying to join cluster "lock_dlm", "GRANT:B6"
May  7 16:20:20 grant-02 dlm_controld[10186]: process_uevent online@ error -17 errno

Comment 13 David Teigland 2009-05-08 20:22:09 UTC
I snuck onto grant-02 and also grabbed the debug log from groupd, which shows this:

1241731027 1:B6 got join
1241731027 1:B6 is cpg client 19 name 1_B6 handle 79a1deaa0000000e
1241731027 1:B6 cpg_join ok
1241731027 1:B6 waiting for first cpg event
1241731027 1:B6 confchg left 0 joined 1 total 2
1241731027 1:B6 process_node_join 2
1241731027 1:B6 cpg add node 2 total 1
1241731027 1:B6 cpg add node -1341969328 total 2
1241731027 1:B6 make_event_id 200020001 nodeid 2 memb_count 2 type 1

which shows the confchg giving us two members, the first with nodeid 2 and the second with nodeid -1341969328.  It's not immediately clear whether the confchg should have been for just one member, or whether there's really two members and the nodeid is bad.

Comment 14 David Teigland 2009-05-08 20:27:22 UTC
Created attachment 343166 [details]
group_tool dump from grant-02

Comment 15 David Teigland 2009-05-19 22:26:48 UTC
Chrissie, I wonder if this is related to the other recent openais regressions.

Comment 16 Steven Dake 2009-05-21 14:22:21 UTC

*** This bug has been marked as a duplicate of bug 499734 ***

Comment 17 Steven Dake 2009-05-21 14:23:21 UTC
changed component to openais.


Note You need to log in before you can comment on or make changes to this bug.