Skypeforlinux 将不再启动

Skypeforlinux 将不再启动

自最新更新以来(过去两周内)skypeforlinux停止工作,我在日志中找到的唯一内容是 [ 324.575813] traps: skypeforlinux[2487] trap int3 ip:555cb8dab847 sp:7fff797c57b0 error:0 in skypeforlinux[555cb6e96000+5016000].谷歌搜索没有返回任何有用的东西,大多数结果都是关于陷阱invalid opcode而不是int3陷阱。

操作系统是kali-rolling 2019.3,不知道 Skype 是哪个版本,甚至skypeforlinux --help失败。

我尝试重新安装skypeforlinux,我尝试以非根用户和根用户身份运行它,我已经升级了所有内容并重新启动了系统几次,但没有解决问题。

有谁有如何解决这个问题的建议,或者至少获得更多信息来找出罪魁祸首?

根据要求,这里是 apt-cache 输出:

skypeforlinux:
  Installed: 8.51.0.86
  Candidate: 8.51.0.86
  Version table:
 *** 8.51.0.86 500
        500 https://repo.skype.com/deb stable/main amd64 Packages
        100 /var/lib/dpkg/status
     8.51.0.72 500
        500 https://repo.skype.com/deb stable/main amd64 Packages
     8.50.0.38 500
        500 https://repo.skype.com/deb stable/main amd64 Packages
     8.49.0.49 500
        500 https://repo.skype.com/deb stable/main amd64 Packages
     8.48.0.51 500
        500 https://repo.skype.com/deb stable/main amd64 Packages

查看日志,$HOME/.config/skypeforlinux/logs/skype-startup.log我看到一个条目:我在[7784:0821/103123.389602:FATAL:atom_main_delegate.cc(207)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.运行时得到它skypeforlinuxroot 与用户一起运行它non-root

答案1

在 Centos 7 下从 8.50.0.38-1.x86_64 升级到版本 8.51.0.86-1.x86_64 后,我遇到了同样的问题。

通过检查日志文件,我发现以下消息:

FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, 
but is not configured correctly. Rather than run without sandboxing I'm aborting now. 
You need to make sure that /usr/share/skypeforlinux/chrome-sandbox is owned by root 
and has mode 4755

如果您按照错误消息中的说明进行操作:

    chmod 4755 /usr/share/skypeforlinux/chrome-sandbox

它解决了这个问题。

答案2

因此,您的skypeforlinux版本是 8.51.0.86,这是目前的最新版本 - 这是最近发布的。事实上,我的 Debian 10 系统上有完全相同的版本,并且运行得很好。

int3是一条 x86 处理器指令,用于实现调试断点。

但在您的情况下,int3当不在调试器下运行时遇到skypeforlinux,因此 int3 陷阱向量指向默认内核例程,这本质上相当于SIGTRAP向程序发送信号。

为什么skypeforlinux程序代码包含int3没有调试器的生产版本中的指令?只有能够访问源代码的微软人员skypeforlinux才能回答这个问题,而无需进行大量的逆向工程工作。

请注意,微软仅承诺skypeforlinux适用于 Ubuntu、Debian、OpenSuSE 和 Fedora。最新版本可能意外地包含了一些调试代码,这些代码仅在某些条件与任何受支持的发行版不匹配时才会执行,并导致 Skype 崩溃,因为预期的调试环境不存在。

您可以尝试将 Skype 降级到以前的版本(或输出中列出的任何版本apt-cache policy),看看这是否更适合您:

# apt install skypeforlinux=8.51.0.72
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be DOWNGRADED:
  skypeforlinux
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
Need to get 0 B/79.0 MB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue? [Y/n]

如果降级软件包版本有帮助,您可能希望将软件包设置为保留,因此apt upgrade在取消保留之前不会再次升级它:

# apt-mark hold skypeforlinux

然后,您可能会向 Microsoft 发送有关您的体验的错误报告,但由于他们没有做出任何支持 Kali 的承诺,因此它可能会被忽略或被分配一个非常低的优先级。

答案3

我在 Manjaro 中遇到了这个问题。经过研究,我发现

chmod 4755 /usr/share/skypeforlinux/chrome-sandbox

不是解决 Arch 或基于 Debian 的发行版中问题的首选方法。相反,建议使用

sudo sh -c 'echo "kernel.unprivileged_userns_clone=1" > /etc/sysctl.d/00-local-userns.conf'

以获得持久的解决方案。更多信息可以找到在 LXC-Debian Wiki

编辑:乔纳斯·柏林指出原文中的一个错误命令,并进一步检查验证了他的评论。另外,删除了之前指向错误命令的链接。谢谢,乔纳斯。

答案4

我在 CentOS Linux 7.something 上尝试过chmod 4755 /usr/share/skypeforlinux/chrome-sandbox但没有成功(Skype 版本)。8.61.0.77-1因此我决定强制降级:

yum list skypeforlinux --showduplicates
sudo yum downgrade skypeforlinux-8.57.0.116-1

问题是,8.57.0.116-1同时这是其 RPM 存储库中最旧的可用版本,它也不起作用。skype-startup.logChrome沙盒的提示:

cat ~/.config/skypeforlinux/logs/skype-startup.log

然而,在降级之后chmod,我收到了另一条 Electron 错误消息:

A JavaScript error occurred in the main process
Uncaught Exception:
Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/share/skypeforlinux/resources/app.asar.unpacked/node_modules/electron-utility/build/Release/electron_utility.node)
...

检查可用版本时libstdc++

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

...它表明这3.4.19是最新的可用版本 - 而这将3.4.21是必需的。


但这很容易解决,通过编辑~/.bashrc和扩展LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64

它需要链接/usr/local/lib64/libstdc++.so.6,知道版本3.4.21。当它没有从那里获取时,也可以将其直接添加到 中/bin/skypeforlinux,但缺点是每次软件包升级后它都会丢失。这适用于当前版本8.61.0.77-1。我还发现,这基本上是 Electron问题#17972

相关内容