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


72

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

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


2
相同的问题正在影响其他电子应用程序:github.com/shiftkey/desktop/issues/78
安德鲁(

降级到3.1.1懈怠可能是一个临时的解决方案- answers.microsoft.com/en-us/skype/forum/...
esfy

在ubuntu 18.10上存在相同的问题,使用snap安装后我能够成功运行slacksudo snap install slack --classic
Waqleh,

1
对于任何遇到此问题的人,答案是Slack在此处建立了一个自定义rpm: slack-files.com/T12KS1G65-FE65TFDD3-4f8a6c545f我联系了支持人员,这是他们发送的。
Brandon Authier

2
在Linux 3.3.4的Slack中修复:slack.com/release-notes/linux
Ted Percival

Answers:


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在您的OS上轻松找到其他版本: sudo updatedb && locate libnode

我使用了原子一号,因为我确定编辑器的最新工作更新。


19
如果有人已经拥有VSCode而不是Atom,那么我正在成功使用VSCode库sudo ln -fs /usr/share/code/libnode.so /usr/lib/slack/libnode.so
Maximiliano Padulo

4
/usr/lib/slack/slack: symbol lookup error: /usr/lib/slack/slack: undefined symbol: udata_setCommonData_59这样做后得到了……我还缺少其他东西吗?
Sardathrion-反对SE滥用

1
使用atomic的node.so,我设法启动了Slack。但是我无法打个电话,除了黑屏什么都没有发生。
Damien Cassou

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

3
@hypnomaki我也通过复制libffmpeg.so(来自Skype)使电话正常工作。
达米安·卡苏

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


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

@lundgren是否有理由建议您手动下载Atom,而不是从dnf安装它?应避免使用手动安装,而应选择软件包,以便使系统保持最新状态并解决安全问题。
安迪

1
工作了请客!
罗伯特·莫斯卡尔

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

如果有人在对话中包含您的@userid,则Slack每次都会刷新。并且Slack每次都需要几秒钟的刷新时间。不建议。
askb

15

此问题最早在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尝试播放新消息的通知声音,它只会重新启动,而不是四处播放片段。


14

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

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

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

sudo updatedb && locate libnode

请不要在答案部分提出问题。使用评论部分或提出新问题。
want2learn

1
您是否尝试过Slack的Snap软件包?
Trish
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.