在Fedora 29升级后,Slack为什么会返回分段错误?

时间:2018-10-31 13:48:06

标签: linux fedora slack fedora-29

我将Fedora从28升级到了最新的29,而Slack不再起作用。它返回一个Segmentation fault (core dumped)

编辑:此问题已在Slack 3.3.4中修复

4 个答案:

答案 0 :(得分:77)

通过valgrind我获得了以下输出:

Process terminating with default action of signal 11 (SIGSEGV): dumping core
 Bad permissions for mapped region at address 0xDBF060
   at 0xDBF060: ??? (in /usr/lib/slack/slack)
   by 0x7112071: node::http2::Http2Session::Callbacks::Callbacks(bool) (in /usr/lib/slack/libnode.so)
   by 0x7112134: ??? (in /usr/lib/slack/libnode.so)
   by 0x5853CE9: call_init.part.0 (in /usr/lib64/ld-2.28.so)
   by 0x5853DE9: _dl_init (in /usr/lib64/ld-2.28.so)
   by 0x5845149: ??? (in /usr/lib64/ld-2.28.so)

问题似乎出在libnode.so的“过时”版本中。我刚刚从最新的libnode.so安装中复制了atom.rpm的另一个版本:

sudo mv /usr/lib/slack/libnode.so /usr/lib/slack/libnode.so.old sudo ln -s /usr/share/atom/libnode.so /usr/lib/slack/libnode.so


修改

就像用户Pierre Bellan所说的那样,您可以通过以下操作在您的操作系统上轻松找到libnode.so的其他版本: sudo updatedb && locate libnode

我使用原子一是因为我确信编辑器的最新工作更新。

答案 1 :(得分:28)

正如@Flat指出的那样,包含的libnode.so在fedora 29中不起作用。

http://atom.io下载最新的atom.rpm(我以前从未听说过...)

安装它,将坏的lib移开,并将新的lib符号链接到位:

sudo dnf install ~/Downloads/atom.x86_64.rpm
sudo mv /usr/lib/slack/libnode.so /usr/lib/slack/libnode.so.bad
sudo ln -s /usr/share/atom/libnode.so /usr/lib/slack/libnode.so

可能有更好的libnode.so或官方来源;但是我看的很快,没有看到一个,而且它也没有安装在系统的其他任何地方。

答案 2 :(得分:14)

对于最初的问题和答案,请@@ Flat;),我真的需要在应用程序上放松,而不是基于Web的版本

在安装不需要的东西之前,请检查目录中是否还没有其他软件提供的库。

例如,我在vscode上也找到了一个可用的libnode.so版本

sudo updatedb && locate libnode

答案 3 :(得分:13)

此问题最早在Arch linux上更新为glibc 2.28时报告。 Fedora 29和Ubuntu 18.10的用户都已经在许多Electron应用程序中遇到了此错误。 Slack的Snap软件包在这些发行版的版本上都可以正常工作。可以将其glibc版本降级为2.27的用户不会出现段错误。

Issue reported on Electron apps

11月7日,Electron问题上增加了新的评论-仅供参考,以关闭libnode。而且,如果这样做,您可能想在Slack发布修复程序时将其切换回去。

  

对于从其他地方替换libnode.so(并使应用再次运行)但仍然偶尔崩溃的Slack用户,请暂时禁用您的通知声音。   看来,如果Slack尝试播放新消息的通知声音,它只会重新启动,而不是四处播放剪辑。