[Bug 1687004] Re: multipath crash generating core dump
Eric Desrochers
eric.desrochers at canonical.com
Tue Jun 20 13:30:08 UTC 2017
** Also affects: multipath-tools (Ubuntu Trusty)
Importance: Undecided
Status: New
--
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/1687004
Title:
multipath crash generating core dump
Status in multipath-tools package in Ubuntu:
In Progress
Status in multipath-tools source package in Trusty:
New
Bug description:
[Impact]
* mutexes are being allocated from memory with no checks and, if allocation fails, it causes these kind of segfaults later in the code execution.
expect multipath daemon to crash and not run any checkers on path groups.
* not checking path groups, in an event of failure, the mpath won't change path prios.
* openstack relies on flushing device maps frequently when using iscsi.
[Test Case]
* i'm fixing this based on a dump analysis and not on reproduction.
* if you disallow memory overcommit - facilitating memory exhaustion - you would be able to reproduce that by stressing multipathd with paths being flushed, but that is theory only.
[Regression Potential]
* the patch is changing the locking mechanism for log thread, based on upstream commit.
* major change is to use the mutexes from stack instead of allocating from heap.
* multipath log thread could not work as designed.
* tested by reported and reported to be good.
[Other Info]
It was brought to my attention that:
multipath-tools: 0.4.9-3ubuntu7.15
Faced a crash and generated a dump.
## multipath (trusty) crashed and its dump shows:
(gdb) bt full
#0 __GI___pthread_mutex_lock (mutex=0x0) at ../nptl/pthread_mutex_lock.c:66
__PRETTY_FUNCTION__ = "__pthread_mutex_lock"
type = 0
#1 0x00007f48700b606e in flush_logqueue () at log_pthread.c:39
empty = 0
#2 0x00007f48700b611b in log_thread (et=0x0) at log_pthread.c:57
No locals.
#3 0x00007f4870964184 in start_thread (arg=0x7f4870d8b700) at pthread_create.c:312
__res = <optimized out>
pd = 0x7f4870d8b700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139949107623680, -3200163692152804016, 0, 0, 139949107624384, 139949107623680, 3244383534590274896,
3244383107817352528}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
pagesize_m1 = <optimized out>
sp = <optimized out>
freesize = <optimized out>
__PRETTY_FUNCTION__ = "start_thread"
#4 0x00007f486fdb537d in __ecvt_r (value=9.532824124368238e-130, ndigit=0, decpt=0x0, sign=0x0, buf=0x7f4870d8b9c0 "\220R\267pH\177", len=139949107623680)
at efgcvt_r.c:218
d = 0
f = 3.2378592100206092e-319
exponent = 1893250816
#5 0x0000000000000000 in ?? ()
No symbol table info available.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1687004/+subscriptions
More information about the foundations-bugs
mailing list