Bug#751993: another instance

Vincent McIntyre vincent.mcintyre at csiro.au
Thu Nov 10 01:18:35 UTC 2016


On Wed, Nov 09, 2016 at 04:27:40PM +0530, Ritesh Raj Sarraf wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> On Wed, 2016-11-09 at 09:15 +1100, Vincent McIntyre wrote:
> > This is a problem because I need to blacklist DELL,
> > multipath -l -v 3 gives me the listing below.
> > Note that at this point I have no fibre channel links plugged in,
> > I don't trust this package that far yet.
> > 
> > Farther below, backtrace for the segfaulting configuration.
> > I also tried blacklisting the 'product' (PERC 6/i) instead of
> > 'vendor', that segfaulted too.
> > It would appear the segfault only occurs on a blacklist match.
> > 
> > Please consider upgrading the severity of this again.
> 
> Hello Vincent, 
> 
> Are you in a position to build debian packages by yourself ?
> If so, can you cherry-pick this [1] commit and try it on top of the Jessie
> version of multipath-tools ?
> 
> [1] https://anonscm.debian.org/cgit/pkg-lvm/multipath-tools.git/commit/?id=5195a
> bd56cdfbc12c32c0ad3127a32643d11db4b

Thanks for the fast response. 

First, try the existing package with a product as well:

# grep -v ^# /etc/multipath.conf
blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z][[0-9]*]"
        devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"

        device {
                vendor DELL
                product "PERC H800"
        }
}

# multipath -l -v 3
Nov 10 10:22:08 | libdevmapper version 1.02.90 (2014-09-01)
Nov 10 10:22:08 | DM multipath kernel driver v1.11.0
Nov 10 10:22:08 | loading /lib/multipath/libcheckdirectio.so checker
Nov 10 10:22:08 | loading /lib/multipath/libprioconst.so prioritizer
Nov 10 10:22:08 | sda: blacklisted, udev property missing
Nov 10 10:22:08 | sdb: udev property ID_WWN whitelisted
Nov 10 10:22:08 | sdb: not found in pathvec
Nov 10 10:22:08 | sdb: mask = 0x21
Nov 10 10:22:08 | sdb: dev_t = 8:16
Nov 10 10:22:08 | sdb: size = 11717836800
Nov 10 10:22:08 | sdb: vendor = DELL
Nov 10 10:22:08 | sdb: product = PERC 6/i
Nov 10 10:22:08 | sdb: rev = 1.22
Nov 10 10:22:08 | sdb: h:b:t:l = 0:2:1:0
Nov 10 10:22:08 | sdb: path state = running
Nov 10 10:22:08 | sdc: udev property ID_WWN whitelisted
Nov 10 10:22:08 | sdc: not found in pathvec
Nov 10 10:22:08 | sdc: mask = 0x21
Nov 10 10:22:08 | sdc: dev_t = 8:32
Nov 10 10:22:08 | sdc: size = 39059456000
Nov 10 10:22:08 | sdc: vendor = DELL
Nov 10 10:22:08 | sdc: product = PERC H800
Nov 10 10:22:08 | sdc: rev = 2.10
Nov 10 10:22:08 | sdc: h:b:t:l = 2:2:0:0
Nov 10 10:22:08 | (null): (DELL:PERC H800) vendor/product blacklisted
Nov 10 10:22:08 | sr0: blacklisted, udev property missing
Nov 10 10:22:08 | loop0: blacklisted, udev property missing
Nov 10 10:22:08 | loop1: blacklisted, udev property missing
Nov 10 10:22:08 | loop2: blacklisted, udev property missing
Nov 10 10:22:08 | loop3: blacklisted, udev property missing
Nov 10 10:22:08 | loop4: blacklisted, udev property missing
Nov 10 10:22:08 | loop5: blacklisted, udev property missing
Nov 10 10:22:08 | loop6: blacklisted, udev property missing
Nov 10 10:22:08 | loop7: blacklisted, udev property missing
Nov 10 10:22:08 | dm-0: blacklisted, udev property missing
Nov 10 10:22:08 | dm-1: blacklisted, udev property missing
Nov 10 10:22:08 | dm-10: blacklisted, udev property missing
Nov 10 10:22:08 | dm-11: blacklisted, udev property missing
Nov 10 10:22:08 | dm-12: blacklisted, udev property missing
Nov 10 10:22:08 | dm-13: blacklisted, udev property missing
Nov 10 10:22:08 | dm-2: blacklisted, udev property missing
Nov 10 10:22:08 | dm-3: blacklisted, udev property missing
Nov 10 10:22:08 | dm-4: blacklisted, udev property missing
Nov 10 10:22:08 | dm-5: blacklisted, udev property missing
Nov 10 10:22:08 | dm-6: blacklisted, udev property missing
Nov 10 10:22:08 | dm-7: blacklisted, udev property missing
Nov 10 10:22:08 | dm-8: blacklisted, udev property missing
Nov 10 10:22:08 | dm-9: blacklisted, udev property missing
===== paths list =====
uuid hcil    dev dev_t pri dm_st chk_st vend/prod/rev dev_st 
     0:2:1:0 sdb 8:16  -1  undef undef  DELL,PERC 6/i running
Nov 10 10:22:08 | params = 0 0 1 1 service-time 0 1 2 8:16 1 1 
Nov 10 10:22:08 | status = 2 0 0 0 1 1 A 0 1 2 8:16 A 0 0 1 
Nov 10 10:22:08 | 36782bcb0091105001b7d74a00b7be1cb: disassemble map [0 0 1 1 service-time 0 1 2 8:16 1 1 ]
Nov 10 10:22:08 | 36782bcb0091105001b7d74a00b7be1cb: disassemble status [2 0 0 0 1 1 A 0 1 2 8:16 A 0 0 1 ]
36782bcb0091105001b7d74a00b7be1cb dm-2 DELL,PERC 6/i
size=5.5T features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=0 status=active
  `- 0:2:1:0 sdb 8:16 active undef running
Nov 10 10:22:08 | params = 0 0 1 1 service-time 0 1 2 8:32 1 1 
Nov 10 10:22:08 | status = 2 0 0 0 1 1 A 0 1 2 8:32 A 0 0 1 
Nov 10 10:22:08 | 36c81f660d4620f001b7c65f99ab4cfb8: disassemble map [0 0 1 1 service-time 0 1 2 8:32 1 1 ]
Nov 10 10:22:08 | 8:32: not found in pathvec
Nov 10 10:22:08 | 36c81f660d4620f001b7c65f99ab4cfb8: disassemble status [2 0 0 0 1 1 A 0 1 2 8:32 A 0 0 1 ]
36c81f660d4620f001b7c65f99ab4cfb8 dm-3 ,
size=18T features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=0 status=active
  `- #:#:#:# -   #:#  active undef running
Nov 10 10:22:08 | unloading const prioritizer
Nov 10 10:22:08 | unloading directio checker


Now upgrade to patched version and rerun with the same config

# multipath -l -v 3
Nov 10 10:25:34 | libdevmapper version 1.02.90 (2014-09-01)
Nov 10 10:25:34 | DM multipath kernel driver v1.11.0
Nov 10 10:25:34 | loading /lib/multipath/libcheckdirectio.so checker
Nov 10 10:25:34 | loading /lib/multipath/libprioconst.so prioritizer
Nov 10 10:25:34 | sda: blacklisted, udev property missing
Nov 10 10:25:34 | sdb: udev property ID_WWN whitelisted
Nov 10 10:25:34 | sdb: not found in pathvec
Nov 10 10:25:34 | sdb: mask = 0x21
Nov 10 10:25:34 | sdb: dev_t = 8:16
Nov 10 10:25:34 | sdb: size = 11717836800
Nov 10 10:25:34 | sdb: vendor = DELL
Nov 10 10:25:34 | sdb: product = PERC 6/i
Nov 10 10:25:34 | sdb: rev = 1.22
Nov 10 10:25:34 | sdb: h:b:t:l = 0:2:1:0
Nov 10 10:25:34 | sdb: path state = running
Nov 10 10:25:34 | sdc: udev property ID_WWN whitelisted
Nov 10 10:25:34 | sdc: not found in pathvec
Nov 10 10:25:34 | sdc: mask = 0x21
Nov 10 10:25:34 | sdc: dev_t = 8:32
Nov 10 10:25:34 | sdc: size = 39059456000
Nov 10 10:25:34 | sdc: vendor = DELL
Nov 10 10:25:34 | sdc: product = PERC H800
Nov 10 10:25:34 | sdc: rev = 2.10
Nov 10 10:25:34 | sdc: h:b:t:l = 2:2:0:0
Nov 10 10:25:34 | (null): (DELL:PERC H800) vendor/product blacklisted
Nov 10 10:25:34 | sr0: blacklisted, udev property missing
Nov 10 10:25:34 | loop0: blacklisted, udev property missing
Nov 10 10:25:34 | loop1: blacklisted, udev property missing
Nov 10 10:25:34 | loop2: blacklisted, udev property missing
Nov 10 10:25:34 | loop3: blacklisted, udev property missing
Nov 10 10:25:34 | loop4: blacklisted, udev property missing
Nov 10 10:25:34 | loop5: blacklisted, udev property missing
Nov 10 10:25:34 | loop6: blacklisted, udev property missing
Nov 10 10:25:34 | loop7: blacklisted, udev property missing
Nov 10 10:25:34 | dm-0: blacklisted, udev property missing
Nov 10 10:25:34 | dm-1: blacklisted, udev property missing
Nov 10 10:25:34 | dm-10: blacklisted, udev property missing
Nov 10 10:25:34 | dm-11: blacklisted, udev property missing
Nov 10 10:25:34 | dm-12: blacklisted, udev property missing
Nov 10 10:25:34 | dm-13: blacklisted, udev property missing
Nov 10 10:25:34 | dm-2: blacklisted, udev property missing
Nov 10 10:25:34 | dm-3: blacklisted, udev property missing
Nov 10 10:25:34 | dm-4: blacklisted, udev property missing
Nov 10 10:25:34 | dm-5: blacklisted, udev property missing
Nov 10 10:25:34 | dm-6: blacklisted, udev property missing
Nov 10 10:25:34 | dm-7: blacklisted, udev property missing
Nov 10 10:25:34 | dm-8: blacklisted, udev property missing
Nov 10 10:25:34 | dm-9: blacklisted, udev property missing
===== paths list =====
uuid hcil    dev dev_t pri dm_st chk_st vend/prod/rev dev_st 
     0:2:1:0 sdb 8:16  -1  undef undef  DELL,PERC 6/i running
Nov 10 10:25:34 | params = 0 0 1 1 service-time 0 1 2 8:16 1 1 
Nov 10 10:25:34 | status = 2 0 0 0 1 1 A 0 1 2 8:16 A 0 0 1 
Nov 10 10:25:34 | 36782bcb0091105001b7d74a00b7be1cb: disassemble map [0 0 1 1 service-time 0 1 2 8:16 1 1 ]
Nov 10 10:25:34 | 36782bcb0091105001b7d74a00b7be1cb: disassemble status [2 0 0 0 1 1 A 0 1 2 8:16 A 0 0 1 ]
36782bcb0091105001b7d74a00b7be1cb dm-2 DELL,PERC 6/i
size=5.5T features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=0 status=active
  `- 0:2:1:0 sdb 8:16 active undef running
Nov 10 10:25:34 | params = 0 0 1 1 service-time 0 1 2 8:32 1 1 
Nov 10 10:25:34 | status = 2 0 0 0 1 1 A 0 1 2 8:32 A 0 0 1 
Nov 10 10:25:34 | 36c81f660d4620f001b7c65f99ab4cfb8: disassemble map [0 0 1 1 service-time 0 1 2 8:32 1 1 ]
Nov 10 10:25:34 | 8:32: not found in pathvec
Nov 10 10:25:34 | 36c81f660d4620f001b7c65f99ab4cfb8: disassemble status [2 0 0 0 1 1 A 0 1 2 8:32 A 0 0 1 ]
36c81f660d4620f001b7c65f99ab4cfb8 dm-3 ,
size=18T features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=0 status=active
  `- #:#:#:# -   #:#  active undef running
Nov 10 10:25:34 | unloading const prioritizer
Nov 10 10:25:34 | unloading directio checker

Now change multipath.conf to the crashy version
# grep -v ^# /etc/multipath.conf
blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z][[0-9]*]"
        devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"

        device {
                vendor DELL
        }
}

# multipath -l -v 3
Nov 10 10:26:40 | libdevmapper version 1.02.90 (2014-09-01)
Nov 10 10:26:40 | DM multipath kernel driver v1.11.0
Nov 10 10:26:40 | loading /lib/multipath/libcheckdirectio.so checker
Nov 10 10:26:40 | loading /lib/multipath/libprioconst.so prioritizer
Nov 10 10:26:40 | sda: blacklisted, udev property missing
Nov 10 10:26:40 | sdb: udev property ID_WWN whitelisted
Nov 10 10:26:40 | sdb: not found in pathvec
Nov 10 10:26:40 | sdb: mask = 0x21
Nov 10 10:26:40 | sdb: dev_t = 8:16
Nov 10 10:26:40 | sdb: size = 11717836800
Nov 10 10:26:40 | sdb: vendor = DELL
Nov 10 10:26:40 | sdb: product = PERC 6/i
Nov 10 10:26:40 | sdb: rev = 1.22
Nov 10 10:26:40 | sdb: h:b:t:l = 0:2:1:0
Nov 10 10:26:40 | (null): (DELL:PERC 6/i) vendor/product blacklisted
Nov 10 10:26:40 | sdc: udev property ID_WWN whitelisted
Nov 10 10:26:40 | sdc: not found in pathvec
Nov 10 10:26:40 | sdc: mask = 0x21
Nov 10 10:26:40 | sdc: dev_t = 8:32
Nov 10 10:26:40 | sdc: size = 39059456000
Nov 10 10:26:40 | sdc: vendor = DELL
Nov 10 10:26:40 | sdc: product = PERC H800
Nov 10 10:26:40 | sdc: rev = 2.10
Nov 10 10:26:40 | sdc: h:b:t:l = 2:2:0:0
Nov 10 10:26:40 | (null): (DELL:PERC H800) vendor/product blacklisted
Nov 10 10:26:40 | sr0: blacklisted, udev property missing
Nov 10 10:26:40 | loop0: blacklisted, udev property missing
Nov 10 10:26:40 | loop1: blacklisted, udev property missing
Nov 10 10:26:40 | loop2: blacklisted, udev property missing
Nov 10 10:26:40 | loop3: blacklisted, udev property missing
Nov 10 10:26:40 | loop4: blacklisted, udev property missing
Nov 10 10:26:40 | loop5: blacklisted, udev property missing
Nov 10 10:26:40 | loop6: blacklisted, udev property missing
Nov 10 10:26:40 | loop7: blacklisted, udev property missing
Nov 10 10:26:40 | dm-0: blacklisted, udev property missing
Nov 10 10:26:40 | dm-1: blacklisted, udev property missing
Nov 10 10:26:40 | dm-10: blacklisted, udev property missing
Nov 10 10:26:40 | dm-11: blacklisted, udev property missing
Nov 10 10:26:40 | dm-12: blacklisted, udev property missing
Nov 10 10:26:40 | dm-13: blacklisted, udev property missing
Nov 10 10:26:40 | dm-2: blacklisted, udev property missing
Nov 10 10:26:40 | dm-3: blacklisted, udev property missing
Nov 10 10:26:40 | dm-4: blacklisted, udev property missing
Nov 10 10:26:40 | dm-5: blacklisted, udev property missing
Nov 10 10:26:40 | dm-6: blacklisted, udev property missing
Nov 10 10:26:40 | dm-7: blacklisted, udev property missing
Nov 10 10:26:40 | dm-8: blacklisted, udev property missing
Nov 10 10:26:40 | dm-9: blacklisted, udev property missing
===== no paths =====
Nov 10 10:26:40 | params = 0 0 1 1 service-time 0 1 2 8:16 1 1 
Nov 10 10:26:40 | status = 2 0 0 0 1 1 A 0 1 2 8:16 A 0 0 1 
Nov 10 10:26:40 | 36782bcb0091105001b7d74a00b7be1cb: disassemble map [0 0 1 1 service-time 0 1 2 8:16 1 1 ]
Nov 10 10:26:40 | 8:16: not found in pathvec
Nov 10 10:26:40 | 36782bcb0091105001b7d74a00b7be1cb: disassemble status [2 0 0 0 1 1 A 0 1 2 8:16 A 0 0 1 ]
36782bcb0091105001b7d74a00b7be1cb dm-2 ,
size=5.5T features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=0 status=active
  `- #:#:#:# - #:# active undef running
Nov 10 10:26:40 | params = 0 0 1 1 service-time 0 1 2 8:32 1 1 
Nov 10 10:26:40 | status = 2 0 0 0 1 1 A 0 1 2 8:32 A 0 0 1 
Nov 10 10:26:40 | 36c81f660d4620f001b7c65f99ab4cfb8: disassemble map [0 0 1 1 service-time 0 1 2 8:32 1 1 ]
Nov 10 10:26:40 | 8:32: not found in pathvec
Nov 10 10:26:40 | 36c81f660d4620f001b7c65f99ab4cfb8: disassemble status [2 0 0 0 1 1 A 0 1 2 8:32 A 0 0 1 ]
36c81f660d4620f001b7c65f99ab4cfb8 dm-3 ,
size=18T features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=0 status=active
  `- #:#:#:# - #:# active undef running
Nov 10 10:26:40 | unloading const prioritizer
Nov 10 10:26:40 | unloading directio checker

Reboot, check again

# multipath -l -v 3
Nov 10 10:33:49 | libdevmapper version 1.02.90 (2014-09-01)
Nov 10 10:33:49 | DM multipath kernel driver v1.11.0
Nov 10 10:33:49 | loading /lib/multipath/libcheckdirectio.so checker
Nov 10 10:33:49 | loading /lib/multipath/libprioconst.so prioritizer
Nov 10 10:33:49 | sda: udev property ID_WWN whitelisted
Nov 10 10:33:49 | sda: not found in pathvec
Nov 10 10:33:49 | sda: mask = 0x21
Nov 10 10:33:49 | sda: dev_t = 8:0
Nov 10 10:33:49 | sda: size = 584843264
Nov 10 10:33:49 | sda: vendor = DELL
Nov 10 10:33:49 | sda: product = PERC 6/i
Nov 10 10:33:49 | sda: rev = 1.22
Nov 10 10:33:49 | sda: h:b:t:l = 0:2:0:0
Nov 10 10:33:49 | (null): (DELL:PERC 6/i) vendor/product blacklisted
Nov 10 10:33:49 | sdb: udev property ID_WWN whitelisted
Nov 10 10:33:49 | sdb: not found in pathvec
Nov 10 10:33:49 | sdb: mask = 0x21
Nov 10 10:33:49 | sdb: dev_t = 8:16
Nov 10 10:33:49 | sdb: size = 11717836800
Nov 10 10:33:49 | sdb: vendor = DELL
Nov 10 10:33:49 | sdb: product = PERC 6/i
Nov 10 10:33:49 | sdb: rev = 1.22
Nov 10 10:33:49 | sdb: h:b:t:l = 0:2:1:0
Nov 10 10:33:49 | (null): (DELL:PERC 6/i) vendor/product blacklisted
Nov 10 10:33:49 | sdc: udev property ID_WWN whitelisted
Nov 10 10:33:49 | sdc: not found in pathvec
Nov 10 10:33:49 | sdc: mask = 0x21
Nov 10 10:33:49 | sdc: dev_t = 8:32
Nov 10 10:33:49 | sdc: size = 39059456000
Nov 10 10:33:49 | sdc: vendor = DELL
Nov 10 10:33:49 | sdc: product = PERC H800
Nov 10 10:33:49 | sdc: rev = 2.10
Nov 10 10:33:49 | sdc: h:b:t:l = 2:2:0:0
Nov 10 10:33:49 | (null): (DELL:PERC H800) vendor/product blacklisted
Nov 10 10:33:49 | sr0: blacklisted, udev property missing
Nov 10 10:33:49 | loop0: blacklisted, udev property missing
Nov 10 10:33:49 | loop1: blacklisted, udev property missing
Nov 10 10:33:49 | loop2: blacklisted, udev property missing
Nov 10 10:33:49 | loop3: blacklisted, udev property missing
Nov 10 10:33:49 | loop4: blacklisted, udev property missing
Nov 10 10:33:49 | loop5: blacklisted, udev property missing
Nov 10 10:33:49 | loop6: blacklisted, udev property missing
Nov 10 10:33:49 | loop7: blacklisted, udev property missing
Nov 10 10:33:49 | dm-0: blacklisted, udev property missing
Nov 10 10:33:49 | dm-1: blacklisted, udev property missing
Nov 10 10:33:49 | dm-2: blacklisted, udev property missing
Nov 10 10:33:49 | dm-3: blacklisted, udev property missing
Nov 10 10:33:49 | dm-4: blacklisted, udev property missing
Nov 10 10:33:49 | dm-5: blacklisted, udev property missing
Nov 10 10:33:49 | dm-6: blacklisted, udev property missing
Nov 10 10:33:49 | dm-7: blacklisted, udev property missing
Nov 10 10:33:49 | dm-8: blacklisted, udev property missing
Nov 10 10:33:49 | dm-9: blacklisted, udev property missing
===== no paths =====
Nov 10 10:33:49 | unloading const prioritizer
Nov 10 10:33:49 | unloading directio checker

So the patch you pointed to seems to fix this issue.
Thanks!

However there seem to be other severe issues,
which look similar to 782487 / 782488.
I'll open separate bugs for those.

Vince



More information about the pkg-lvm-maintainers mailing list