72

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

编辑:该问题已在 Slack 3.3.4 上得到修复

4

4 回答 4

78

我得到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

我使用 atom one 是因为我确信编辑器最近的工作更新。

于 2018-10-31T13:48:06.413 回答
28

正如@Flat 所指出的,包含的 libnode.so 不适用于 fedora 29。

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

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

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 来源;但是我快速查找,我没有看到一个,并且它没有安装在我系统上的其他任何地方。

于 2018-10-31T14:53:22.940 回答
14

这个问题在 Arch linux 更新到 glibc 2.28 时首次被报告。Fedora 29 和 Ubuntu 18.10 用户在许多 Electron 应用程序中都遇到了这个错误。Slack 的 Snap 包在这些版本的发行版上运行良好。可以将 glibc 版本降级到 2.27 的用户不会出现段错误。

Electron 应用程序上报告的问题

11 月 7 日,在 Electron 问题中添加了一条新评论 - 仅供参考,关于切换 libnode。如果你这样做了,你可能想在 Slack 发布修复程序时将其切换回来。

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

于 2018-10-31T22:51:20.830 回答
14

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

在安装不需要的东西之前,请检查目录是否该 lib 尚未从另一个软件中存在。

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

sudo updatedb && locate libnode
于 2018-10-31T15:38:42.423 回答