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

Fla*_*lat 71 linux fedora slack fedora-29

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

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

Fla*_*lat 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)
Run Code Online (Sandbox Code Playgroud)

似乎问题出现在"过时"的版本中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

我使用了原子,因为我确信编辑器的最新工作更新.

  • 如果有人已经拥有VSCode而不是Atom,我正在使用VSCode库成功`sudo ln -fs /usr/share/code/libnode.so/usr/lib/slack/libnode.so` (19认同)
  • 我得到一个`/ usr/lib/slack/slack:符号查找错误:/ usr/lib/slack/slack:未定义符号:udata_setCommonData_59`这样做之后......我错过了其他的东西吗? (4认同)
  • 对于从其他地方替换libnode.so的Slack用户(并且让应用程序再次运行)但仍然偶尔会发生崩溃,请暂时禁用通知声音.似乎Slack试图播放新消息的通知声音,它只是重新启动而不是绕过播放剪辑. (4认同)
  • @hypnomaki我设法通过复制libffmpeg.so(来自Skype)来打电话. (3认同)

小智 28

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

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

安装它,移除坏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
Run Code Online (Sandbox Code Playgroud)

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

  • 我发现我已经从skypeforlinux获得了另一个libnode副本,该版本似乎适用于Slack(将/usr/share/skypeforlinux/libnode.so复制到/ usr/share/slack) (6认同)

小智 14

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

在安装您不需要的东西之前,检查目录是否已经存在来自其他软件的lib.

例如,我在vscode上找到了一个有效的libnode.so版本

sudo updatedb && locate libnode
Run Code Online (Sandbox Code Playgroud)


Tri*_*ish 13

这个问题首次在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试图播放新消息的通知声音,它只是重新启动而不是绕过播放剪辑.