Bug 494582 - Stopping multipathd hangs the machine
Summary: Stopping multipathd hangs the machine
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: device-mapper-multipath
Version: 5.2
Hardware: All
OS: Linux
urgent
high
Target Milestone: rc
: ---
Assignee: LVM and device-mapper development team
QA Contact: Cluster QE
URL:
Whiteboard:
Depends On: 459629
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-04-07 14:35 UTC by RHEL Program Management
Modified: 2010-01-12 02:46 UTC (History)
21 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-04-17 13:36:58 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2009:0432 0 normal SHIPPED_LIVE device-mapper-multipath bug fix update 2009-04-17 13:36:55 UTC

Description RHEL Program Management 2009-04-07 14:35:38 UTC
This bug has been copied from bug #459629 and has been proposed
to be backported to 5.3 z-stream (EUS).

Comment 3 Mike Snitzer 2009-04-07 15:48:32 UTC
Shutting down multipathd hangs the machine fairly regularly on s390x
under RHEL5.2 and RHEL5.3.  Other architectures could theoretically
experience the hang too (in practice this has not been common).

When multipathd is shutting down the main process signals all the waiter 
threads to stop.  However, they can't stop until the main process
unlocks it's mutex.  However, immediately after the main process does
this it destroys the mutex.  This is a problem because unless all the
waiter threads can get their work done before the mutex is destroyed
they will be attempting to lock and unlock a destroyed mutex.

A known workaround is to send SIGKILL to multipathd so that it doesn't
attempt the graceful thread shutdown which could potentially hang.  The
following demonstrates the workaround:

# service multipathd status
multipathd (pid 2031) is running...
# killall -KILL multipathd
# service multipathd restart
Stopping multipathd daemon:                                [FAILED]
Starting multipathd daemon:                                [  OK  ]
# service multipathd status
multipathd (pid 2450) is running...

Comment 4 Ben Marzinski 2009-04-07 21:03:14 UTC
The fix has been backported.

Comment 7 errata-xmlrpc 2009-04-17 13:36:58 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-0432.html


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