From: Stefan Priebe <s.priebe@profihost.ag>
To: Florian Weimer <fweimer@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
netdev@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: Asterisk deadlocks since Kernel 4.1
Date: Wed, 18 Nov 2015 22:36:29 +0100 [thread overview]
Message-ID: <564CEF5D.3080005@profihost.ag> (raw)
In-Reply-To: <564CEB0C.40006@redhat.com>
Am 18.11.2015 um 22:18 schrieb Florian Weimer:
> On 11/18/2015 09:23 PM, Stefan Priebe wrote:
>>
>> Am 17.11.2015 um 20:43 schrieb Thomas Gleixner:
>>> On Tue, 17 Nov 2015, Stefan Priebe wrote:
>>>> I've now also two gdb backtraces from two crashes:
>>>> http://pastebin.com/raw.php?i=yih5jNt8
>>>>
>>>> http://pastebin.com/raw.php?i=kGEcvH4T
>>>
>>> They don't tell me anything as I have no idea of the inner workings of
>>> asterisk. You might be better of to talk to the asterisk folks to help
>>> you track down what that thing is waiting for, so we can actually look
>>> at a well defined area.
>>
>> The asterisk guys told me it's a livelock asterisk is waiting for
>> getaddrinfo / recvmsg.
>>
>> Thread 2 (Thread 0x7fbe989c6700 (LWP 12890)):
>> #0 0x00007fbeb9eb487d in recvmsg () from /lib/x86_64-linux-gnu/libc.so.6
>> #1 0x00007fbeb9ed4fcc in ?? () from /lib/x86_64-linux-gnu/libc.so.6
>> #2 0x00007fbeb9ed544a in ?? () from /lib/x86_64-linux-gnu/libc.so.6
>> #3 0x00007fbeb9e92007 in getaddrinfo () from
>> /lib/x86_64-linux-gnu/libc.so.6
>
> Stefan,
>
> please try to get a backtrace with debugging information. It is likely
> that this is the make_request/__check_pf functionality in glibc, but it
> would be nice to get some certainty.
sorry here it is. What I'm wondering is why is there ipv6 stuff? I don't
have ipv6 except for link local. Could it be this one?
https://bugzilla.redhat.com/show_bug.cgi?id=505105#c79
Thread 31 (Thread 0x7f295c011700 (LWP 26654)):
#0 0x00007f295de3287d in recvmsg () at
../sysdeps/unix/syscall-template.S:82
#1 0x00007f295de52fcc in make_request (fd=35, pid=26631,
seen_ipv4=<optimized out>, seen_ipv6=<optimized out>,
in6ai=<optimized out>, in6ailen=<optimized out>) at
../sysdeps/unix/sysv/linux/check_pf.c:119
#2 0x00007f295de5344a in __check_pf (seen_ipv4=0x7f295c00e85f,
seen_ipv6=0x7f295c00e85e, in6ai=0x7f295c00e840,
in6ailen=0x7f295c00e838) at ../sysdeps/unix/sysv/linux/check_pf.c:271
#3 0x00007f295de10007 in *__GI_getaddrinfo (name=0x7f295c00e8b0
"10.12.12.55", service=0x7f295c00e8bc "2135",
hints=0x7f295c00e910, pai=0x7f295c00e908) at
../sysdeps/posix/getaddrinfo.c:2389
#4 0x000000000050287e in ast_sockaddr_resolve (addrs=0x7f295c00e9d0,
str=0x7f295c00ea30 "10.12.12.55:2135", flags=0, family=2)
at netsock2.c:268
#5 0x00007f2958963ba2 in ast_sockaddr_resolve_first_af
(addr=0x7f29300591d8, name=0x7f295c00ea30 "10.12.12.55:2135", flag=0,
family=2) at chan_sip.c:30689
#6 0x00007f2958963cb5 in ast_sockaddr_resolve_first_transport
(addr=0x7f29300591d8, name=0x7f295c00ea30 "10.12.12.55:2135",
flag=0, transport=1) at chan_sip.c:30720
#7 0x00007f29588fd3cc in set_destination (p=0x7f2930058cc8,
uri=0x7f29300576e8 "sip:9052@10.12.12.55:2135;line=to7a729l")
at chan_sip.c:10455
#8 0x00007f29588fe6e0 in reqprep (req=0x7f295c00fee0, p=0x7f2930058cc8,
sipmethod=4, seqno=287, newbranch=1) at chan_sip.c:10778
#9 0x00007f295890a201 in transmit_state_notify (p=0x7f2930058cc8,
state=1, full=1, timeout=0) at chan_sip.c:13259
#10 0x00007f29589141bb in cb_extensionstate (context=0x7f295c010cd0
"hints", exten=0x7f295c010c80 "9052QS", state=1,
data=0x7f2930058cc8) at chan_sip.c:15117
#11 0x000000000050ebf6 in handle_statechange (datap=0x7f293acef830) at
pbx.c:4972
#12 0x0000000000555f8e in tps_processing_function (data=0x1f24f28) at
taskprocessor.c:327
#13 0x0000000000569280 in dummy_start (data=0x1ed76f0) at utils.c:1173
#14 0x00007f295d5dcb50 in start_thread (arg=<optimized out>) at
pthread_create.c:304
#15 0x00007f295de3195d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()
>
> Which glibc version do you use? Has it got a fix for CVE-2013-7423?
>
> So far, the only known cause for a hang in this place (that is, lack of
> return from recvmsg) is incorrect file descriptor use. (CVE-2013-7423
> is such an issue in glibc itself.) The kernel upgrade could change
> scheduling behavior, and the actual bug might have been latent before.
>
> Theoretically, recvmsg could also hang if the Netlink query was dropped
> by the kernel, or the final packet in the response was dropped. We
> never saw that happen, even under extreme load, but I didn't test with
> recent kernels.
>
> The glibc change Hannes mentioned won't detect the hang, but if there is
> incorrect file descriptor reuse going on, it is possible that the new
> assert catches it.
>
> Florian
>
next prev parent reply other threads:[~2015-11-18 21:36 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-17 14:44 Asterisk deadlocks since Kernel 4.1 Stefan Priebe - Profihost AG
2015-11-17 19:15 ` Thomas Gleixner
2015-11-17 19:27 ` Stefan Priebe
2015-11-17 19:43 ` Thomas Gleixner
2015-11-18 20:23 ` Stefan Priebe
2015-11-18 21:00 ` Hannes Frederic Sowa
2015-11-18 21:20 ` Stefan Priebe
2015-11-18 21:22 ` Hannes Frederic Sowa
2015-11-19 9:35 ` Stefan Priebe - Profihost AG
2015-11-18 21:18 ` Florian Weimer
2015-11-18 21:23 ` Stefan Priebe
2015-11-19 9:39 ` Florian Weimer
2015-11-18 21:36 ` Stefan Priebe [this message]
2015-11-18 21:40 ` Hannes Frederic Sowa
2015-11-18 21:42 ` Stefan Priebe
2015-11-18 21:58 ` Hannes Frederic Sowa
2015-11-19 9:44 ` Florian Weimer
2015-11-19 9:49 ` Stefan Priebe - Profihost AG
2015-11-19 9:56 ` Stefan Priebe - Profihost AG
2015-11-19 11:41 ` Hannes Frederic Sowa
2015-11-19 11:43 ` Stefan Priebe - Profihost AG
2015-11-19 12:41 ` Hannes Frederic Sowa
2015-11-19 12:46 ` Stefan Priebe - Profihost AG
2015-11-19 13:19 ` Florian Weimer
2015-11-19 19:51 ` Stefan Priebe
2015-11-23 12:44 ` Stefan Priebe - Profihost AG
2015-11-23 12:57 ` Hannes Frederic Sowa
2015-11-24 13:35 ` Stefan Priebe - Profihost AG
2015-12-02 9:45 ` Stefan Priebe - Profihost AG
2015-12-02 11:40 ` Hannes Frederic Sowa
2015-12-02 17:51 ` Philipp Hahn
2015-12-03 8:23 ` Stefan Priebe - Profihost AG
2015-12-04 18:26 ` Stefan Priebe
2015-12-05 1:08 ` Herbert Xu
2015-12-06 20:56 ` Stefan Priebe
2015-12-07 1:20 ` Herbert Xu
2015-12-07 6:58 ` Stefan Priebe - Profihost AG
2015-12-08 6:13 ` netlink: Add missing goto statement to netlink_insert Herbert Xu
2015-12-08 16:21 ` David Miller
2015-12-09 3:29 ` Greg KH
2015-12-07 7:41 ` Asterisk deadlocks since Kernel 4.1 Philipp Hahn
2015-12-05 14:19 ` Philipp Matthias Hahn
2015-12-05 15:34 ` Stefan Priebe
2015-12-02 17:15 ` Philipp Hahn
2015-12-02 18:23 ` Hannes Frederic Sowa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=564CEF5D.3080005@profihost.ag \
--to=s.priebe@profihost.ag \
--cc=fweimer@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).