atom / apm

Atom Package Manager
https://atom.io/packages
MIT License
1.27k stars 296 forks source link

ETIMEDOUT error on Windows #665

Closed bennyborn closed 7 years ago

bennyborn commented 7 years ago

Hi there, I'm on Windows 10 (which should not matter) and trying to update my packages either via apm update or directly in atoms gui results in the following error message:

Request for package information failed: connect ETIMEDOUT 54.225.223.184:443

It alternates between the IPs 54.225.223.184 and 107.21.249.214.

Trying to open https://{IP} yields to an ERR_SSL_PROTOCOL_ERROR error in Chrome. Upon further inspection multiple tools say that the server does not have any SSL certificate at all.

root@DESKTOP-T6FJF0J:/mnt/c/Users/benny# openssl s_client -showcerts -connect 54.225.223.184:443
CONNECTED(00000003)
140500044809888:error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error:s23_clnt.c:770:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 295 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

Maybe someone forgot to update some certs? ;)

Atom    : 1.12.7
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0
apm  1.12.9
npm  3.10.5
node 4.4.5
python 2.7.12
git 2.11.0.windows.1
visual studio
michb commented 7 years ago

same problem for me

jsolisu commented 7 years ago

Same problem for me on Windows 7.

lee-dohm commented 7 years ago

107.21.249.214 is one of the IP addresses for atom.io:

[master][~/.dotfiles] nslookup atom.io
Server:         [snip]
Address:        [snip]

Non-authoritative answer:
Name:   atom.io
Address: 75.101.145.225
Name:   atom.io
Address: 107.21.249.214
Name:   atom.io
Address: 23.23.128.123
Name:   atom.io
Address: 107.21.206.81
Name:   atom.io
Address: 23.21.77.86
Name:   atom.io
Address: 23.23.117.228
Name:   atom.io
Address: 50.19.93.247
Name:   atom.io
Address: 184.72.248.171

I don't know what the other one is.

lee-dohm commented 7 years ago

When I go to https://atom.io in Chrome and look in the Network tab, it consistently hits 23.21.77.86 and the site displays correctly. But when I go directly to https://23.21.77.86 in Chrome, I get the ERR_SSL_PROTOCOL_ERROR. So it would appear that going directly to the IP address proves nothing about the SSL status of the site.

bennyborn commented 7 years ago

But why does apm then use the IP directly and not the hostname?

lee-dohm commented 7 years ago

@bennyborn It doesn't on my machine.

https://gist.github.com/lee-dohm/252390c9ebdce068aa67d093fc19fe5c

lee-dohm commented 7 years ago

Additionally, you didn't fill out the template which included requests for things like versions of Atom and apm and steps to reproduce the problem. Please edit the description to include all of the information from the template and I can investigate further.

bennyborn commented 7 years ago

@lee-dohm apm outdated --verbose looks the same on my machine but doing an update always brings up the mentioned error including the ip, not a hostname. Maybe node itself throws this error containing only the IP? Anyway, I still can not explain why this happens :\

Sorry, didn't think any of this information would be useful in this case. Updated my original post

lee-dohm commented 7 years ago

What steps are you performing to reproduce the problem? Can you give me a step-by-step of what exactly you mean by "doing an update"?

Oh, it also appears that 54.225.223.184 is another IP address for atom.io.

bennyborn commented 7 years ago

Two possible ways:

  1. Open Atom GUI
  2. Open Settings Page
  3. Select Update-Tab
  4. Wait for the error to occur
  5. Click on "Show output"

or

  1. Open Shell
  2. Write apm update
  3. Wait for the error to occur
lee-dohm commented 7 years ago

I just edited my /etc/hosts file to force atom.io to resolve to 54.225.223.184. I launched https://atom.io in my browser and verified that the site loaded fine and that the desired IP address was the one hit.

screen_shot_2016-12-30_at_5_02_01_pm

So this is definitely not an SSL certificate problem.

lee-dohm commented 7 years ago

What is the output of apm list for you?

bennyborn commented 7 years ago
C:\Users\benny>apm list
INFORMATION: Es konnten keine Dateien mit dem angegebenen
Muster gefunden werden.
Das System kann die angegebene Datei nicht finden.
Built-in Atom Packages (89)
├── atom-dark-syntax@0.27.0
├── atom-dark-ui@0.52.0
├── atom-light-syntax@0.28.0
├── atom-light-ui@0.45.0
├── base16-tomorrow-dark-theme@1.3.0
├── base16-tomorrow-light-theme@1.3.0
├── one-dark-ui@1.6.2
├── one-light-ui@1.6.2
├── one-dark-syntax@1.5.0
├── one-light-syntax@1.5.0
├── solarized-dark-syntax@1.0.5
├── solarized-light-syntax@1.0.5
├── about@1.7.0
├── archive-view@0.62.0
├── autocomplete-atom-api@0.10.0
├── autocomplete-css@0.13.1
├── autocomplete-html@0.7.2
├── autocomplete-plus@2.31.4
├── autocomplete-snippets@1.11.0
├── autoflow@0.27.0
├── autosave@0.23.1
├── background-tips@0.26.1
├── bookmarks@0.42.0
├── bracket-matcher@0.82.2
├── command-palette@0.39.0
├── deprecation-cop@0.54.1
├── dev-live-reload@0.47.0
├── encoding-selector@0.22.0
├── exception-reporting@0.40.0
├── find-and-replace@0.202.2
├── fuzzy-finder@1.4.0
├── git-diff@1.1.0
├── go-to-line@0.31.0
├── grammar-selector@0.48.2
├── image-view@0.60.0
├── incompatible-packages@0.26.1
├── keybinding-resolver@0.35.0
├── line-ending-selector@0.5.0
├── link@0.31.2
├── markdown-preview@0.158.8
├── metrics@1.1.2
├── notifications@0.65.1
├── open-on-github@1.2.1
├── package-generator@1.0.1
├── settings-view@0.243.1
├── snippets@1.0.4
├── spell-check@0.68.4
├── status-bar@1.4.1
├── styleguide@0.47.2
├── symbols-view@0.113.1
├── tabs@0.103.0
├── timecop@0.33.2
├── tree-view@0.210.0
├── update-package-dependencies@0.10.0
├── welcome@0.35.1
├── whitespace@0.35.0
├── wrap-guide@0.38.2
├── language-c@0.54.0
├── language-clojure@0.22.1
├── language-coffee-script@0.48.0
├── language-csharp@0.13.0
├── language-css@0.40.1
├── language-gfm@0.88.0
├── language-git@0.15.0
├── language-go@0.43.0
├── language-html@0.47.1
├── language-hyperlink@0.16.1
├── language-java@0.24.0
├── language-javascript@0.122.0
├── language-json@0.18.3
├── language-less@0.29.6
├── language-make@0.22.2
├── language-mustache@0.13.0
├── language-objective-c@0.15.1
├── language-perl@0.37.0
├── language-php@0.37.3
├── language-property-list@0.8.0
├── language-python@0.45.1
├── language-ruby@0.70.2
├── language-ruby-on-rails@0.25.1
├── language-sass@0.57.0
├── language-shellscript@0.23.0
├── language-source@0.9.0
├── language-sql@0.25.0
├── language-text@0.7.1
├── language-todo@0.29.1
├── language-toml@0.18.1
├── language-xml@0.34.12
└── language-yaml@0.27.1

Community Packages (49) C:\Users\benny\.atom\packages
├── atom-beautify@0.29.13
├── atom-dark-fusion-syntax@1.2.4
├── atom-material-syntax@0.4.6
├── atom-minify@0.7.5
├── atom-pair@2.0.10
├── atom-password-generator@0.2.2
├── autocomplete-php@0.3.7
├── autocomplete-plus@2.31.2
├── block-comment-plus@0.4.0
├── build@0.65.0
├── build-grunt@0.4.0
├── build-npm-apm@0.12.0
├── busy@0.6.0
├── color-picker@2.2.2
├── docblockr@0.8.5
├── file-icons@1.7.19
├── git-plus@5.16.2
├── highlight-selected@0.11.2
├── language-apache@1.5.0
├── language-jade@0.7.1
├── language-pug@0.0.17
├── linter@1.11.16
├── linter-coffeescript@1.0.0
├── linter-jshint@2.1.0
├── linter-jsonlint@1.3.0
├── linter-php@1.2.0
├── linter-pug@1.3.0
├── linter-pylint@1.2.1
├── livereload@0.4.4
├── markdown-pdf@1.5.0
├── markdown-scroll-sync@2.1.2
├── minimap@4.25.0
├── nucleus-dark-ui@0.9.5
├── overwatch-dark-syntax@2.1.0
├── pdf-view@0.50.0
├── pigments@0.34.0
├── project-manager@2.9.7
├── random@1.3.0
├── rest-client@1.2.2
├── sass-autocompile@0.13.0
├── script@3.9.0
├── simple-drag-drop-text@0.3.1
├── sort-lines@0.14.0
├── string-looper@0.1.2
├── sync-settings@0.7.2
├── terminal-panel@1.14.1
├── text-manipulation@0.6.0
├── unique-code@0.3.1
└── uuidgen@1.2.1

└── (empty)
lee-dohm commented 7 years ago

I notice you have autocomplete-plus installed in your community packages. Do you still get the error if you uninstall it from your community packages and use the built-in version?

bennyborn commented 7 years ago

Sorry, uninstalled it but still the same problem. Any idea where exactly (in code) apm tries to pull some kind of list from atom.io? Maybe I can take a look at it directly if I know where to search :)

lee-dohm commented 7 years ago

The code for apm upgrade is here: https://github.com/atom/apm/blob/master/src/upgrade.coffee. I don't know exactly where the code is you're wanting to look at off the top of my head, but hopefully that will narrow it down for you.

lee-dohm commented 7 years ago

I noticed that this is a duplicate of https://github.com/atom/apm/issues/641. I'm going to close this as duplicate. Please continue the discussion on the original issue.