Summary: | asyncmsgq.c: Assertion 'a->asyncq = pa_asyncq_new(size)' failed at pulsecore/asyncmsgq.c:66, function pa_asyncmsgq_new(). Aborting. | ||
---|---|---|---|
Product: | PulseAudio | Reporter: | Marcin Lewandowski <marcin> |
Component: | core | Assignee: | pulseaudio-bugs |
Status: | RESOLVED FIXED | QA Contact: | pulseaudio-bugs |
Severity: | critical | ||
Priority: | medium | CC: | lennart |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 96750 | ||
Attachments: | Log error if we hit file desciptors limit |
Description
Marcin Lewandowski
2016-06-30 08:23:00 UTC
PA 8.0 does the same. I have found out that once this happens, the code flow is the following: * pa_asyncmsgq_new calls * pa_asyncq_new here it fails on !(l->write_fdsem = pa_fdsem_new()) * pa_fdsem_new here it fails on pa_pipe_cloexec(f->fds) < 0 * pa_pipe_cloexec HAVE_PIPE2 is set if ((r = pipe2(pipefd, O_CLOEXEC)) >= 0) { pa_log("(r = pipe2(pipefd, O_CLOEXEC)) >= 0"); goto finish; } has to return < 0 because it does not jump into finish but then if (errno != EINVAL && errno != ENOSYS) matches, so it returns r, which is < 0. Created attachment 124795 [details] [review] Log error if we hit file desciptors limit It seems that I just hit FD limit, but well, message is less than explanatory now, so I added some logging. Crasher, marking as a 10.0 blocker. Thanks for the logging patch. I applied it now. I'll try to come up with a fix for the crash. Here's a patch that will hopefully fix the crash: https://patchwork.freedesktop.org/patch/110227/ I committed the patch now. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.