最終更新以降(過去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.3
Skypeのどのバージョンであるかわからず、さらにskypeforlinux --help
失敗します。
を再インストールし、skypeforlinux
root以外のユーザーと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.
実行すると、この項目が表示されます。skypeforlinux
root
またユーザーと一緒に実行します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
その後、あなたの経験に関するバグレポートをマイクロソフトに送信することができますが、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.log
Chromeサンドボックスに関するヒント:
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。