Red Hat Bugzilla – Bug 875199
multipathd crash in find_slot()
Last modified: 2017-02-06 10:16:55 EST
Description of problem:
When paths go down and are removed multipathd is crashing in find_slot()
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Don't know
segfault in find_slot()
This report is coming in from Mike Christie at Fusion-io
Created attachment 641787 [details]
check if the vector exists before dereferencing it.
This patch makes sure the the vector in find_slot is not NULL before dereferencing it.
We hit this bug by forcing paths to be added/deleted.
- Set dev_loss_tmo relativately low, so we can replciate it faster. Maybe 15-20 secs.
- Run IO test to dm-multipath device. Have dm multipath device setup with queue_if_no_path.
- Inject transport problem for dev_loss_tmo seconds, so the paths (/dev/sdXs) are deleted by the scsi layer, and so multipathd handles the removal by removing the path.
- Correct transport problem, so paths are added back by the scsi layer and multipathd.
- Repeat. We run this test for a several hours.
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.
It doesn't look as if this will affect the DM-Multipath document, so I'm marking this as docs_scoped-
We seem to have customers hitting this with RHEL 6.3. Would it be possible to add this to a zstream?
Would customer help to test against fixed version? test build could be provided by developer.
QE couldn't trigger the issue. Could I know your multipath configure and what I/O you did? More detailed info would be welcome, thanks.
For mulitpath.conf we used
features "3 queue_if_no_path pg_init_retries 50"
hardware_handler "1 alua"
path_selector "queue-length 0"
For IO we just ran fio
fio --filename=/dev/mapper/mpathaj --bs=256K --size=5G --name=mpathaj --refill_buffers --iodepth=128 --iodepth_batch=128 --numjobs=16 --thread --rw=randwrite --time_based --runtime=13d --ioengine=libaio
If you can provide a test build we can test here.
(In reply to mchristie from comment #14)
> If you can provide a test build we can test here.
Below is test build provided from developer:
You could use the -65 or -71 that are fixed version, thanks for your testing!
Do code review against device-mapper-multipath-0.4.9-72.el6 and verify patch is applied correctly.
It works for me here. Not seeing segfault. Thanks.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.