错误:分配:无法签入命名的 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 构建任务中的变量

重命名没有正确分配名称的文件

futex 工具返回了意外的错误代码并已中止

错误 TS4058:导出函数的返回类型具有或正在使用来自外部模块 Y 的名称 X,但无法命名

升级到 VS 2015 后签入策略不起作用

在 FIleNet P8 中执行签入操作时开始上传失败错误