为什么 Slack return 在 Fedora 29 升级后出现分段错误?

Why does Slack return a Segmentation fault after Fedora 29 upgrade?

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

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

使用 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 的 "outdated" 版本中。我刚刚从最新的 atom.rpm 安装中复制了另一个版本的 libnode.so

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 已经说过的,您可以通过以下方式在 OS 上轻松找到 libnode.so 的其他版本: sudo updatedb && locate libnode

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

如@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可能有更好的,或者官方的来源;但是我快速查找,我没有看到一个,而且我的系统上没有安装它。

感谢@Flat 的初始问答 ;),我真的需要 slack 应用程序而不是基于网络的版本

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

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

sudo updatedb && locate libnode

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

Issue reported on Electron apps

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

For Slack users who replaced libnode.so from somewhere else (and got the app running again) but still get the occasional crash, disable your notification sound for now. It seems if Slack tries to play the notification sound for a new message, it simply restarts instead of ever getting around to playing the clip.