https://bugzilla.suse.com/show_bug.cgi?id=1204731 Bug ID: 1204731 Summary: multipath -t segfault with multipath-tools 0.9.2 Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Basesystem Assignee: screening-team-bugs@suse.de Reporter: martin.wilck@suse.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Version 0.9.2 crashes with a segmentation fault:
$ multipath -t 2 612.793257 | couldn't open configuration dir '/etc/multipath/conf.d': Permission denied [1] 13266 segmentation fault (core dumped) multipath -t 2
This appears to be a subtle interaction between the separation of libmultipath and libmpathutil we did in 0.9.1 and the libmultipath ABI version bump in 0.9.2. Some symbols ({get,put}_multipath_config, libmp_verbosity, and udev) are exported by both libmpathutil and libmultipath. The symbols exported by libmpathutil are dummies, intended to be overridden by libmultipath using the "breadth-first" symbol lookup specified by ELF 1. The dummy symbols are only used by programs not linking to libmultipath, i.e. only multipathc. Because we're using ABI versioning, code in libmpathutil actually exports and references get_multipath_config@LIBMULTIPATH_16.0.0. That worked until 0.9.1, because both libraries were using the same ABI version, and get_multipath_config@LIBMULTIPATH_16.0.0 from libmultipath overrides the symbol from libmpathutil. But in 0.9.2, we bumped the ABI version of libmultipath to 17.0.0. libmultipath now exports (only) get_multipath_config@LIBMULTIPATH_17.0.0, which doesn't override get_multipath_config@LIBMULTIPATH_16.0.0 from libmpathutil. The effect is that references to these duplicate symbols, when done from libmpathutil, are resolved to the libmpathutil dummy symbols, which is wrong and causes the crash. This affects only multipath, not multipathd, because multipathd overrides get_multipath_config with yet another symbol. Same for put_multipath_config and libmp_verbosity, but not for udev. Upstream Issue: https://github.com/opensvc/multipath-tools/pull/47 Fix: https://github.com/opensvc/multipath-tools/pull/48 -- You are receiving this mail because: You are on the CC list for the bug.