Skypeforlinux は起動しなくなりました。

Skypeforlinux は起動しなくなりました。

最終更新以降(過去2週間以内)skypeforlinux動作が停止し、ログで私が見つけた唯一のものです [ 324.575813] traps: skypeforlinux[2487] trap int3 ip:555cb8dab847 sp:7fff797c57b0 error:0 in skypeforlinux[555cb6e96000+5016000]。 Google検索では有用な情報が検索されず、ほとんどの結果はトラップではinvalid opcodeなくint3トラップに関するものでした。

オペレーティングシステムはkali-rolling 2019.3Skypeのどのバージョンであるかわからず、さらにskypeforlinux --help失敗します。

を再インストールし、skypeforlinuxroot以外のユーザーとrootとして実行してみましたが、すべてをアップグレードしてシステムを数回再起動しましたが、問題は解決しませんでした。

この問題を解決する方法について提案があるか、少なくとも犯人を識別するための追加情報を入手できる人はいますか?

要求に応じて、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デバッガで実行されていないときに発生するため、skypeforlinuxint3トラップベクトルはデフォルトのカーネルルーチンを指し、これは基本的にSIGTRAPプログラムにシグナルを送信するのと同じです。

skypeforlinuxプログラムコードにint3デバッガのない本番バージョンの指示が含まれているのはなぜですか?skypeforlinux幅広いリバースエンジニアリングの努力なしにソースコードにアクセスできるマイクロソフト社員のみがこの質問に答えることができます。

マイクロソフトはskypeforlinuxUbuntu、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

その後、あなたの経験に関するバグレポートをマイクロソフトに送信することができますが、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

編集者:Jonas Berlinは元の記事で誤ったコマンドを指摘し、さらなる調査で彼の意見を確認しました。また、間違ったコマンドへの古いリンクが削除されました。ありがとう、ジョナス。

答え4

CentOS Linux 7.something(Skypeバージョン)ではchmod 4755 /usr/share/skypeforlinux/chrome-sandbox成功しませんでした。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

関連情報