错误:分配:无法签入命名的 futex 名称 = jack_sem.system 错误 = 权限被拒绝
Posted
技术标签:
【中文标题】错误:分配:无法签入命名的 futex 名称 = jack_sem.system 错误 = 权限被拒绝【英文标题】:ERROR: Allocate: can't check in named futex name = jack_sem.system err = Permission denied 【发布时间】:2017-04-25 13:20:26 【问题描述】:jack 音频服务器最近在我的计算机上停止工作。我已经在网上搜索了大约 2 个小时,但我找不到任何解决我遇到的错误的方法。这是错误日志:
Fri Dec 9 19:33:09 2016: ------------------
Fri Dec 9 19:33:09 2016: Controller activated. Version 1.9.11 (unknown) built on Fri Dec 9 06:06:45 2016
Fri Dec 9 19:33:09 2016: Loading settings from "/home/sean/.config/jack/conf.xml" using expat_2.1.0 ...
Fri Dec 9 19:33:09 2016: setting parameter 'engine':'driver':'(null)' to value "alsa"
Fri Dec 9 19:33:09 2016: setting parameter 'engine':'realtime':'(null)' to value "true"
Fri Dec 9 19:33:09 2016: setting parameter 'engine':'verbose':'(null)' to value "false"
Fri Dec 9 19:33:09 2016: setting parameter 'engine':'client-timeout':'(null)' to value "500"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'device' to value "hw:USB"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'capture' to value "hw:USB"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'playback' to value "hw:USB"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'rate' to value "44100"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'period' to value "1024"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'nperiods' to value "2"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'hwmon' to value "false"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'hwmeter' to value "false"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'duplex' to value "true"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'softmode' to value "false"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'monitor' to value "false"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'dither' to value "n"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'inchannels' to value "2"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'outchannels' to value "2"
Fri Dec 9 19:33:09 2016: setting parameter 'drivers':'alsa':'shorts' to value "false"
Fri Dec 9 19:33:09 2016: Listening for D-Bus messages
Fri Dec 9 19:33:10 2016: Starting jack server...
Fri Dec 9 19:33:10 2016: JACK server starting in realtime mode with priority 10
Fri Dec 9 19:33:10 2016: self-connect-mode is "Don't restrict self connect requests"
Fri Dec 9 19:33:10 2016: ERROR: Allocate: can't check in named futex name = jack_sem.system err = Permission denied
Fri Dec 9 19:33:10 2016: ERROR: Cannot allocate synchro
Fri Dec 9 19:33:10 2016: ERROR: Cannot allocate internal client for driver
Fri Dec 9 19:33:10 2016: ERROR: Cannot initialize driver
Fri Dec 9 19:33:10 2016: ERROR: JackServer::Open failed with -1
Fri Dec 9 19:33:10 2016: ERROR: Failed to open server
如果有帮助,这是我的uname -a
输出:
Linux Sean-Lappy 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
我能想到的唯一冲突是我最近安装了LMMS并使用sudo apt-get autoremove
删除了一堆旧内核
任何帮助将不胜感激。
更新(2016 年 12 月 14 日):
我还没有找到解决这个问题的方法。我在源代码中挖掘了 jack 并在 JackLinuxFutex.cpp 的第 114 或 124 行查明了错误
这里是完整的、详细的 jack 输出:http://pastebin.com/1FbNwCJU
我也从源代码安装了千斤顶,但无济于事。
如果有人知道修复方法,那就太好了,因为我目前无法在笔记本电脑上使用任何音频设备。
【问题讨论】:
这里发生了同样的事情。 Jack 突然停止使用 pulseaudio。可能是更新搞砸了 我遇到错误:“错误:分配:无法签入命名的 futex 名称 = jack_sem.1000_default_Calf Compressor err = 资源暂时不可用”,其中“Calf Compressor”只是任何客户端填满允许的客户总数(显然)。客户端(或 futex)的数量是否有限制?如果是这样,我该如何增加? 【参考方案1】:我终于解决了这个问题。这是我使用的步骤:
卸载所有与声音相关的内容
sudo apt-get purge jackd qjackctl cadence pulseaudio pulseaudio-module-jack alsa
重启
重新安装除 jack 之外的所有内容
sudo apt-get install alsa alsa-firmware-loaders alsa-tools alsa-tools-gui alsa-firmware alsa-utils pulseaudio pulseaudio-module-jack cadence
重启
下载并解压jack源代码
sudo apt-get install unzip
wget https://github.com/jackaudio/jack2/archive/master.zip
unzip master.zip
安装依赖
sudo apt-get install libasound2-dev
使用 --alsa
标志从源代码编译 jack
cd jack2-master
./waf configure --alsa
./waf build
sudo ./waf install
我不知道这是否是最好的方法,或者它是否适用于其他人的机器,但我可以告诉你,jack 现在运行成功,我又在听音乐了。
【讨论】:
以上是关于错误:分配:无法签入命名的 futex 名称 = jack_sem.system 错误 = 权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在门控签入期间获取搁置集名称并将其分配给 tfs 构建任务中的变量