Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: CXXABI requirements for older distros #129360

Merged
merged 3 commits into from
Aug 6, 2021
Merged

Conversation

deepak1556
Copy link
Collaborator

@deepak1556 deepak1556 commented Jul 25, 2021

With Electron 13 update, we are now able to use the libcxx library from chromium and statically link it to our native modules. Advantage of this approach is that the runtime and native modules use the same libcxx library. The increase in bundle size is significantly small (~10MB). Currently we only do this on linux.

Fixes #115784

@rockdreamer
Copy link

As an affected user, just wanted to say thanks for working on this. If there's some way I can help by testing a build, I'll gladly do that :)

@deepak1556
Copy link
Collaborator Author

Here is an early build for testing, appreciate the help!

This PR will be merged for testing with insiders for August iteration, currently ironing out some test failures with remote scenario.

@jgaer
Copy link

jgaer commented Aug 2, 2021

Here is an early build for testing, appreciate the help!

This PR will be merged for testing with insiders for August iteration, currently ironing out some test failures with remote scenario.

Thanks for addressing this. I just installed on RHEL7.7 and it runs, but I am unable to install the java package from a vsix file. I get an error XHR Failed.

@deepak1556
Copy link
Collaborator Author

Are you facing the issue with installing any extension ? Can you provide the output of code --verbose when it fails.

@jgaer
Copy link

jgaer commented Aug 2, 2021 via email

@deepak1556
Copy link
Collaborator Author

Since it is only affecting certain installs, and also the problem is at the network layer. The root issue is definitely different, can you follow these steps to get a network log,

  1. launch with code --log-net-log=/tmp/netlog.json
  2. Perform the failing and successful extension installs
  3. Quit the application

Send the generated netlog.json at /tmp to Deepak.Mohan@microsoft.com. You can also send the --verbose log to the same address.

@deepak1556
Copy link
Collaborator Author

@jgaer thanks for the logs, there are no errors in the runtime log which is good. As for the network log, all of the requests have failed with connection timed out after resolving the hosts.

t=155131 [st=     0] +SOCKET_ALIVE  [dt=127271]
                      --> source_dependency = 72 (SSL_CONNECT_JOB)
t=155131 [st=     0]   +TCP_CONNECT  [dt=127271]
                        --> address_list = ["13.107.42.18:443"]
                        --> canonical_name = ""
t=155131 [st=     0]     +TCP_CONNECT_ATTEMPT  [dt=127271]
                          --> address = "13.107.42.18:443"
t=282402 [st=127271]     -TCP_CONNECT_ATTEMPT
                          --> os_error = 110
t=282402 [st=127271]   -TCP_CONNECT
                        --> net_error = -118 (ERR_CONNECTION_TIMED_OUT)
t=282402 [st=127271] -SOCKET_ALIVE

I doubt the problem is in the client, but lets confirm. Can you provide the output of

nc -vz 13.107.42.18 443

About is the address of marketplace.visualstudio.com, please install netcat if nc command is not available.

@jgaer
Copy link

jgaer commented Aug 3, 2021 via email

@rockdreamer
Copy link

Hi @deepak1556 , this build is a massive improvement over the current experience for me!

Please consider the following smoke tests, I used the build for a couple of hours.

  • I installed it on a fresh provisioned CentOS Linux release 7.9.2009 (Core) VM, startup was fine.
  • Installed eamodio.gitlens and mhutchie.git-graph extensions. Once I removed sclo-git25 and added wandisco's repository, I got the full git experience.
  • Installed christian-kohler.path-intellisense extension, worked all right
  • installed the following C++ extensions
    • ms-vscode.cpptools
    • timzoet.clangtidygui
    • notskm.clang-tidy
    • xaver.clang-format
    • ms-vscode.cmake-tools
      got a screen asking to look for C++ compilers and it recognised quite a few!
      debugging, cmake compile_commands.json recognition worked fine, I was able to navigate definitions and includes
  • Installed the following Python extensions
    • ms-python.python
    • ms-python.vscode-pylance
    • njpwerner.autodocstring
    • himanoa.python-autopep8
    • littlefoxteam.vscode-python-test-adapter
      I was able to add a launch configuration and debug on our custom python builds

Installed remote development extensions:

  • Added a host to config file (previously missing). Got this output
[20:34:41.465] Received install output: local-server-1> Spawned ssh, pid=10995
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
Bad owner or permissions on /home/vagrant/.ssh/config
  • chmod g-rw ~/.ssh/config allowed the connection to succeed but I was then faced with
    Failed to connect to the remote extension host server (Error: Connection error: Unauthorized client refused)

The remote host is an ubuntu 20.04 VM. remote node starts up fine but refuses connection for some reason.

Let me know if you need further logs or debug info :)

@deepak1556
Copy link
Collaborator Author

@jgaer I misunderstood your issue then, in that case lets open a separate issue once this PR is available with insiders. I will loop in the relevant component owner to look at it. Failing to install from vsix should not have anything to do with this PR.

@rockdreamer thats great to know, thanks for the detailed testing and yeah the remote extension will fail for now. Working on fixing it.

@deepak1556
Copy link
Collaborator Author

Verified all the native module tests pass with this build config. Merging for testing with insiders.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update rpm dependencies file for newer CXXABI requirement
3 participants