마지막 업데이트 이후(지난 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
루트가 아닌 사용자와 루트로 실행해 보았으며 모든 것을 업그레이드하고 시스템을 몇 번 다시 시작했지만 문제가 해결되지 않았습니다.
이 문제를 해결하는 방법에 대한 제안이 있거나 적어도 범인을 식별하기 위한 추가 정보를 얻을 수 있는 사람이 있습니까?
요청에 따라 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
광범위한 리버스 엔지니어링 노력 없이 소스 코드에 액세스할 수 있는 Microsoft 직원만이 이 질문에 답할 수 있습니다.
Microsoft는 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에서 - 데비안 위키.
편집자: 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.