[Bug 1489379] Comment bridged from LTC Bugzilla
bugproxy
bugproxy at us.ibm.com
Thu Sep 3 10:20:42 UTC 2015
------- Comment From mauricfo at br.ibm.com 2015-09-03 10:18 EDT-------
Some developer-backed reference for this as well:
(In reply to comment #15)
> libchecktur.so really requires a dynamic libgcc because it uses pthreads
> (namely pthread_cancel).
"""
> Wonder if someone can explain why pthread_cancel_init() dlopens
> libgcc_s.so.1?
Thread cancellation requires unwinding which is implemented by
compiler helper routines.
"""
-- https://sourceware.org/ml/libc-help/2009-10/msg00023.html
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to multipath-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1489379
Title:
LTE: ISST:leeklp4 no mpath choices for install ubuntu 15.10
Status in multipath-tools package in Ubuntu:
New
Bug description:
== Comment: #0 - Alton L. Pundt <apundt at us.ibm.com> - 2015-08-24 15:12:28 ==
---Problem Description---
no choice for mpath disks.
They all show up as single disks.
Contact Information = A.P. Pundt apundt at us.ibm.com
---uname output---
4.1.0-3-generic
Machine Type = 8408-E8E
---boot type---
Network boot
---bootloader---
grub
---Kernel cmdline used to launch install---
linux ubuntu-installer/ppc64el/vmlinux tasks=standard pkgsel\|
|/language-pack-patterns= pkgsel/install-language-support=false url=http://1\|
|0.33.11.31/distros/ubuntu/preseed.cfg preseed/url/checksum=edc0fad5d7d5709d\|
|042c734730e8fb3e disk-detect/multipath/enable=true --- quiet |
| initrd ubuntu-installer/ppc64el/initrd.gz |
|
---Bootloader protocol---
http
---Install repository type---
Internet repository
---Install repository Location---
United Kingdon ports.ubuntu.com
---Point of failure---
Other failure during installation (stage 1)
== Comment: #2 - Alton L. Pundt <apundt at us.ibm.com> - 2015-08-24 15:16:58 ==
installer user and password is lte:don2rry
[apundt at kte ~]$ sudo config_dhcpd.py list -H leeklp4
Host Label : leeklp4
Network Type : ethernet
MAC Address : 00:90:fa:95:60:16
IP Address : 10.33.32.110
Server : 10.33.11.31
Filename : ubuntu-installer/ppc64el/powerpc-ieee1275/core.elf
[apundt at kte ~]$
== Comment: #3 - Mauricio Faria De Oliveira <mauricfo at br.ibm.com> - 2015-08-26 12:15:08 ==
Problem here is multipath is not obtaining the paths' identifiers, thus blacklists them all.
I have a good idea of what's happening, from a bug fixed in Debian, probably pending backports to Ubuntu.
I'll check a few things in the LPAR yet.
~ # multipath -v3
...
===== paths list =====
uuid hcil dev dev_t pri dm_st chk_st vend/prod/rev dev_st
2:0:7:0 sdm 8:192 -1 undef faulty IBM,2107900 running
2:0:7:1 sdn 8:208 -1 undef faulty IBM,2107900 running
2:0:7:2 sdo 8:224 -1 undef faulty IBM,2107900 running
2:0:7:3 sdp 8:240 -1 undef faulty IBM,2107900 running
2:0:0:0 sdy 65:128 -1 undef faulty IBM,2107900 running
2:0:0:1 sdz 65:144 -1 undef faulty IBM,2107900 running
2:0:0:2 sdaa 65:160 -1 undef faulty IBM,2107900 running
2:0:0:3 sdab 65:176 -1 undef faulty IBM,2107900 running
2:0:1:0 sdac 65:192 -1 undef faulty IBM,2107900 running
2:0:1:1 sdad 65:208 -1 undef faulty IBM,2107900 running
2:0:1:2 sdae 65:224 -1 undef faulty IBM,2107900 running
2:0:1:3 sdaf 65:240 -1 undef faulty IBM,2107900 running
2:0:2:0 sda 8:0 -1 undef faulty IBM,2107900 running
2:0:2:1 sdb 8:16 -1 undef faulty IBM,2107900 running
2:0:2:2 sdc 8:32 -1 undef faulty IBM,2107900 running
2:0:2:3 sdd 8:48 -1 undef faulty IBM,2107900 running
2:0:3:0 sde 8:64 -1 undef faulty IBM,2107900 running
2:0:3:0 sde 8:64 -1 undef faulty IBM,2107900 running
2:0:3:1 sdf 8:80 -1 undef faulty IBM,2107900 running
2:0:3:2 sdg 8:96 -1 undef faulty IBM,2107900 running
2:0:3:3 sdh 8:112 -1 undef faulty IBM,2107900 running
2:0:4:0 sdi 8:128 -1 undef faulty IBM,2107900 running
2:0:4:1 sdj 8:144 -1 undef faulty IBM,2107900 running
2:0:4:2 sdk 8:160 -1 undef faulty IBM,2107900 running
2:0:4:3 sdl 8:176 -1 undef faulty IBM,2107900 running
Aug 26 16:06:41 | sdm: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdn: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdo: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdp: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdy: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdz: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdaa: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdab: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdac: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdad: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdae: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdaf: orphan path, wwid blacklisted
Aug 26 16:06:41 | sda: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdb: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdc: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdd: orphan path, wwid blacklisted
Aug 26 16:06:41 | sde: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdf: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdg: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdh: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdi: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdj: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdk: orphan path, wwid blacklisted
Aug 26 16:06:41 | sdl: orphan path, wwid blacklisted
Also noticed another problem: a broken shared library dependency. (similar story w/ Debian, IIUIC).
I'll open another bug.
Aug 26 16:06:41 | loading /lib/multipath/libchecktur.so checker
Aug 26 16:06:41 | A dynamic linking error occurred: (libgcc_s.so.1: cannot open shared object file: No such file or directory)
Aug 26 16:06:41 | unloading tur checker
Aug 26 16:06:41 | sdm: path checker = (controller setting)
== Comment: #6 - Mauricio Faria De Oliveira <mauricfo at br.ibm.com> - 2015-08-26 18:43:40 ==
The uuid (identifier) is null because of the shlib error (libgcc_s.so.1 not found)
when loading a path checker.
In libmultipath/discovery.c, pathinfo() will skip assigning an uuid
if get_state() hits 'No checker (is) selected' (which happened; see message).
get_state() {
...
condlog(3, "%s: No checker selected", pp->dev);
return PATH_UNCHECKED;
...
}
pathinfo() {
...
pp->chkrstate = pp->state = get_state(pp, 0);
if (pp->state == PATH_UNCHECKED ||
pp->state == PATH_WILD)
goto blank;
...
get_uid(pp);
...
blank:
...
}
... | sdm: get_state
... | loading /lib/multipath/libchecktur.so checker
... | A dynamic linking error occurred: (libgcc_s.so.1: cannot open shared object file: No such file or directory)
... | unloading tur checker
...
... | sdm: No checker selected
... | Discover device <...>/sdm/sdm1
... | Discover device <...>/sdm/sdm2
... | Discover device <...>/sdm/sdm3
... | Discover device <...>/sdn
... | sdn: udev property ID_WWN whitelisted
There's no libgcc in the installer.
~ # find /lib/ -name '*gcc*'
~ #
Tried overriding the path checker, but the setting is taken from the hardcoded value (hwentry),
and even changing the tur checker library for another one which don't depend on libgcc didn't work
-- it seems the piece dependening on libgcc is required for the load operation, not a library.
~ # for lib in /lib/multipath/libcheck*.so; do echo $lib; grep -a libgcc_s.so.1 $lib >/dev/null; echo $?; done
/lib/multipath/libcheckcciss_tur.so
1
/lib/multipath/libcheckdirectio.so
1
/lib/multipath/libcheckemc_clariion.so
1
/lib/multipath/libcheckhp_sw.so
1
/lib/multipath/libcheckrdac.so
1
/lib/multipath/libcheckreadsector0.so
1
/lib/multipath/libchecktur.so
0
~ # mv /lib/multipath/libchecktur.so /lib/multipath/libchecktur.so.orig
~ # ln -s /lib/multipath/libcheckdirectio.so /lib/multipath/libchecktur.so
~ # multipath -v3
...
... | loading /lib/multipath/libchecktur.so checker
... | A dynamic linking error occurred: (libgcc_s.so.1: cannot open shared object file: No such file or directory)
... | unloading tur checker
...
== Comment: #8 - Mauricio Faria De Oliveira <mauricfo at br.ibm.com> - 2015-08-26 18:57:56 ==
Ubuntu actually does contain the fix for static libgcc from Debian [1],
but it's not working on Ubuntu for some reason.
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=779579#50
== Comment: #9 - Mauricio Faria De Oliveira <mauricfo at br.ibm.com> - 2015-08-26 19:16:42 ==
(In reply to comment #8)
> but it's not working on Ubuntu for some reason.
Or not working for specific files for some reason :)
The -static-libgcc parameter is correctly being carried over in the build, but libchecktur doesn't get it.
And for some reason it's the only libcheck* that uses libgcc.
Checking all libs in multipath-udeb for libgcc:
~/mpathudeb$ find lib/ -name '*.so' -print -exec grep -H libgcc '{}' ';'
lib/multipath/libpriordac.so
lib/multipath/libpriodatacore.so
lib/multipath/libcheckrdac.so
lib/multipath/libcheckemc_clariion.so
lib/multipath/libpriorandom.so
lib/multipath/libprioontap.so
lib/multipath/libprioconst.so
lib/multipath/libcheckreadsector0.so
lib/multipath/libcheckhp_sw.so
lib/multipath/libpriohp_sw.so
lib/multipath/libpriohds.so
lib/multipath/libprioweightedpath.so
lib/multipath/libcheckdirectio.so
lib/multipath/libchecktur.so
Binary file lib/multipath/libchecktur.so matches
lib/multipath/libcheckcciss_tur.so
lib/multipath/libprioiet.so
lib/multipath/libprioalua.so
lib/multipath/libprioemc.so
Checking the build log [1] for -static-libgcc (in there).
Maybe it's also required in the last cc command as well.
make[2]: Entering directory '/?PKGBUILDDIR?/libmultipath/checkers'
cc -g -O3 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -static-libgcc -D_FORTIFY_SOURCE=2 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"lib\" -I.. -c -o libsg.o libsg.c
...
cc -g -O3 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -static-libgcc -D_FORTIFY_SOURCE=2 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"lib\" -I.. -c -o tur.o tur.c
cc -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -shared -o libchecktur.so libsg.o tur.o
[1] https://launchpadlibrarian.net/213493168/buildlog_ubuntu-wily-
ppc64el.multipath-tools_0.5.0-7ubuntu3_BUILDING.txt.gz
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1489379/+subscriptions
More information about the foundations-bugs
mailing list