atom / apm

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

Unable to install packages on Windows 7 with apm 1.12.9 (Atom 1.12.2) - ECONNRESET but no proxy in use #646

Open shepmaster opened 7 years ago

shepmaster commented 7 years ago

When trying to install the language-rust package, I keep getting this error:

C:\Users\IEUser>apm install language-rust
INFO: Could not find files for the given pattern(s).
The system cannot find the file specified.
Installing language-rust to C:\Users\IEUser\.atom\packages failed
Request for package information failed: read ECONNRESET (5 attempts) (ECONNRESET)

My searching seems to indicate that this is normally caused by failing to configure a proxy server. However, I do not have a proxy server:

C:\Users\IEUser>netsh.exe winhttp show proxy

Current WinHTTP proxy settings:

    Direct access (no proxy server).

I have disabled the Windows Firewall and Windows Defender, but neither had any observable change (I have since re-enabled these). I am running this on a Microsoft-provided VM, but every other network connection has worked just fine! Installing packages through the GUI even worked, before I wiped this VM and re-created it.

I see that apm 1.15 has been released, but for the life of me I cannot figure out how to update it, so I have been unable to try that.

The complete installation output when using --verbose:

INFO: Could not find files for the given pattern(s).
The system cannot find the file specified.
REQUEST { url: 'https://atom.io/api/packages/language-rust',
  json: true,
  retries: 4,
  strictSSL: true,
  headers: { 'User-Agent': 'npm/3.10.5 node/v4.4.5 win32 ia32' },
  callback: [Function],
  method: 'GET' }
REQUEST make request https://atom.io/api/packages/language-rust
REQUEST onRequestResponse https://atom.io/api/packages/language-rust 200 { server: 'Cowboy',
  connection: 'close',
  date: 'Sun, 13 Nov 2016 16:47:26 GMT',
  status: '200 OK',
  'x-frame-options': 'DENY',
  'x-xss-protection': '1; mode=block',
  'x-content-type-options': 'nosniff',
  'strict-transport-security': 'max-age=631152000',
  'content-security-policy': 'default-src \'self\'; connect-src \'self\'; font-src https://github-atom-io-herokuapp-com.global.ssl.fastly.net; frame-src \'self\' https://www.youtube.com; img-src https://* \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net data:; media-src \'none\'; object-src \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net; script-src \'self\' \'unsafe-inline\' https://ssl.google-analytics.com https://www.google-analytics.com https://platform.twitter.com https://github-atom-io-herokuapp-com.global.ssl.fastly.net; style-src \'self\' \'unsafe-inline\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net;',
  'content-type': 'application/json; charset=utf-8',
  etag: 'W/"3ba8f91e11eb4663ac134f1dd61ad828"',
  'cache-control': 'max-age=0, private, must-revalidate',
  'x-request-id': '8cdf1dc6-d4a6-4fbd-8548-449ba1ec09e2',
  'x-runtime': '0.013291',
  'x-rack-cache': 'miss',
  vary: 'Origin',
  via: '1.1 vegur' }
REQUEST reading response's body
REQUEST finish init function https://atom.io/api/packages/language-rust
REQUEST { url: 'https://atom.io/api/packages/language-rust',
  json: true,
  retries: 4,
  strictSSL: true,
  headers: { 'User-Agent': 'npm/3.10.5 node/v4.4.5 win32 ia32' },
  callback: [Function],
  method: 'GET' }
REQUEST response end https://atom.io/api/packages/language-rust 200 { server: 'Cowboy',
  connection: 'close',
  date: 'Sun, 13 Nov 2016 16:47:26 GMT',
  status: '200 OK',
  'x-frame-options': 'DENY',
  'x-xss-protection': '1; mode=block',
  'x-content-type-options': 'nosniff',
  'strict-transport-security': 'max-age=631152000',
  'content-security-policy': 'default-src \'self\'; connect-src \'self\'; font-src https://github-atom-io-herokuapp-com.global.ssl.fastly.net; frame-src \'self\' https://www.youtube.com; img-src https://* \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net data:; media-src \'none\'; object-src \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net; script-src \'self\' \'unsafe-inline\' https://ssl.google-analytics.com https://www.google-analytics.com https://platform.twitter.com https://github-atom-io-herokuapp-com.global.ssl.fastly.net; style-src \'self\' \'unsafe-inline\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net;',
  'content-type': 'application/json; charset=utf-8',
  etag: 'W/"3ba8f91e11eb4663ac134f1dd61ad828"',
  'cache-control': 'max-age=0, private, must-revalidate',
  'x-request-id': '8cdf1dc6-d4a6-4fbd-8548-449ba1ec09e2',
  'x-runtime': '0.013291',
  'x-rack-cache': 'miss',
  vary: 'Origin',
  via: '1.1 vegur' }
REQUEST end event https://atom.io/api/packages/language-rust
REQUEST invalid JSON received https://atom.io/api/packages/language-rust
REQUEST emitting complete https://atom.io/api/packages/language-rust
REQUEST make request https://atom.io/api/packages/language-rust
REQUEST onRequestResponse https://atom.io/api/packages/language-rust 200 { server: 'Cowboy',
  connection: 'close',
  date: 'Sun, 13 Nov 2016 16:47:26 GMT',
  status: '200 OK',
  'x-frame-options': 'DENY',
  'x-xss-protection': '1; mode=block',
  'x-content-type-options': 'nosniff',
  'strict-transport-security': 'max-age=631152000',
  'content-security-policy': 'default-src \'self\'; connect-src \'self\'; font-src https://github-atom-io-herokuapp-com.global.ssl.fastly.net; frame-src \'self\' https://www.youtube.com; img-src https://* \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net data:; media-src \'none\'; object-src \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net; script-src \'self\' \'unsafe-inline\' https://ssl.google-analytics.com https://www.google-analytics.com https://platform.twitter.com https://github-atom-io-herokuapp-com.global.ssl.fastly.net; style-src \'self\' \'unsafe-inline\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net;',
  'content-type': 'application/json; charset=utf-8',
  etag: 'W/"3ba8f91e11eb4663ac134f1dd61ad828"',
  'cache-control': 'max-age=0, private, must-revalidate',
  'x-request-id': '3ef9786b-217d-4a22-8df4-e9ceeb381727',
  'x-runtime': '0.013014',
  'x-rack-cache': 'miss',
  vary: 'Origin',
  via: '1.1 vegur' }
REQUEST reading response's body
REQUEST finish init function https://atom.io/api/packages/language-rust
REQUEST { url: 'https://atom.io/api/packages/language-rust',
  json: true,
  retries: 4,
  strictSSL: true,
  headers: { 'User-Agent': 'npm/3.10.5 node/v4.4.5 win32 ia32' },
  callback: [Function],
  method: 'GET' }
REQUEST response end https://atom.io/api/packages/language-rust 200 { server: 'Cowboy',
  connection: 'close',
  date: 'Sun, 13 Nov 2016 16:47:26 GMT',
  status: '200 OK',
  'x-frame-options': 'DENY',
  'x-xss-protection': '1; mode=block',
  'x-content-type-options': 'nosniff',
  'strict-transport-security': 'max-age=631152000',
  'content-security-policy': 'default-src \'self\'; connect-src \'self\'; font-src https://github-atom-io-herokuapp-com.global.ssl.fastly.net; frame-src \'self\' https://www.youtube.com; img-src https://* \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net data:; media-src \'none\'; object-src \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net; script-src \'self\' \'unsafe-inline\' https://ssl.google-analytics.com https://www.google-analytics.com https://platform.twitter.com https://github-atom-io-herokuapp-com.global.ssl.fastly.net; style-src \'self\' \'unsafe-inline\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net;',
  'content-type': 'application/json; charset=utf-8',
  etag: 'W/"3ba8f91e11eb4663ac134f1dd61ad828"',
  'cache-control': 'max-age=0, private, must-revalidate',
  'x-request-id': '3ef9786b-217d-4a22-8df4-e9ceeb381727',
  'x-runtime': '0.013014',
  'x-rack-cache': 'miss',
  vary: 'Origin',
  via: '1.1 vegur' }
REQUEST end event https://atom.io/api/packages/language-rust
REQUEST invalid JSON received https://atom.io/api/packages/language-rust
REQUEST emitting complete https://atom.io/api/packages/language-rust
REQUEST make request https://atom.io/api/packages/language-rust
REQUEST onRequestResponse https://atom.io/api/packages/language-rust 200 { server: 'Cowboy',
  connection: 'close',
  date: 'Sun, 13 Nov 2016 16:47:26 GMT',
  status: '200 OK',
  'x-frame-options': 'DENY',
  'x-xss-protection': '1; mode=block',
  'x-content-type-options': 'nosniff',
  'strict-transport-security': 'max-age=631152000',
  'content-security-policy': 'default-src \'self\'; connect-src \'self\'; font-src https://github-atom-io-herokuapp-com.global.ssl.fastly.net; frame-src \'self\' https://www.youtube.com; img-src https://* \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net data:; media-src \'none\'; object-src \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net; script-src \'self\' \'unsafe-inline\' https://ssl.google-analytics.com https://www.google-analytics.com https://platform.twitter.com https://github-atom-io-herokuapp-com.global.ssl.fastly.net; style-src \'self\' \'unsafe-inline\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net;',
  'content-type': 'application/json; charset=utf-8',
  etag: 'W/"3ba8f91e11eb4663ac134f1dd61ad828"',
  'cache-control': 'max-age=0, private, must-revalidate',
  'x-request-id': 'c4a42f8b-c2b4-430b-95bd-f5ad8e17cc0e',
  'x-runtime': '0.014796',
  'x-rack-cache': 'miss',
  vary: 'Origin',
  via: '1.1 vegur' }
REQUEST reading response's body
REQUEST finish init function https://atom.io/api/packages/language-rust
REQUEST { url: 'https://atom.io/api/packages/language-rust',
  json: true,
  retries: 4,
  strictSSL: true,
  headers: { 'User-Agent': 'npm/3.10.5 node/v4.4.5 win32 ia32' },
  callback: [Function],
  method: 'GET' }
REQUEST response end https://atom.io/api/packages/language-rust 200 { server: 'Cowboy',
  connection: 'close',
  date: 'Sun, 13 Nov 2016 16:47:26 GMT',
  status: '200 OK',
  'x-frame-options': 'DENY',
  'x-xss-protection': '1; mode=block',
  'x-content-type-options': 'nosniff',
  'strict-transport-security': 'max-age=631152000',
  'content-security-policy': 'default-src \'self\'; connect-src \'self\'; font-src https://github-atom-io-herokuapp-com.global.ssl.fastly.net; frame-src \'self\' https://www.youtube.com; img-src https://* \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net data:; media-src \'none\'; object-src \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net; script-src \'self\' \'unsafe-inline\' https://ssl.google-analytics.com https://www.google-analytics.com https://platform.twitter.com https://github-atom-io-herokuapp-com.global.ssl.fastly.net; style-src \'self\' \'unsafe-inline\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net;',
  'content-type': 'application/json; charset=utf-8',
  etag: 'W/"3ba8f91e11eb4663ac134f1dd61ad828"',
  'cache-control': 'max-age=0, private, must-revalidate',
  'x-request-id': 'c4a42f8b-c2b4-430b-95bd-f5ad8e17cc0e',
  'x-runtime': '0.014796',
  'x-rack-cache': 'miss',
  vary: 'Origin',
  via: '1.1 vegur' }
REQUEST end event https://atom.io/api/packages/language-rust
REQUEST has body https://atom.io/api/packages/language-rust 1448
REQUEST invalid JSON received https://atom.io/api/packages/language-rust
REQUEST emitting complete https://atom.io/api/packages/language-rust
REQUEST make request https://atom.io/api/packages/language-rust
REQUEST onRequestResponse https://atom.io/api/packages/language-rust 200 { server: 'Cowboy',
  connection: 'close',
  date: 'Sun, 13 Nov 2016 16:47:26 GMT',
  status: '200 OK',
  'x-frame-options': 'DENY',
  'x-xss-protection': '1; mode=block',
  'x-content-type-options': 'nosniff',
  'strict-transport-security': 'max-age=631152000',
  'content-security-policy': 'default-src \'self\'; connect-src \'self\'; font-src https://github-atom-io-herokuapp-com.global.ssl.fastly.net; frame-src \'self\' https://www.youtube.com; img-src https://* \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net data:; media-src \'none\'; object-src \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net; script-src \'self\' \'unsafe-inline\' https://ssl.google-analytics.com https://www.google-analytics.com https://platform.twitter.com https://github-atom-io-herokuapp-com.global.ssl.fastly.net; style-src \'self\' \'unsafe-inline\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net;',
  'content-type': 'application/json; charset=utf-8',
  etag: 'W/"3ba8f91e11eb4663ac134f1dd61ad828"',
  'cache-control': 'max-age=0, private, must-revalidate',
  'x-request-id': '7012f65a-468c-4633-9545-fb26b61c3dd5',
  'x-runtime': '0.012621',
  'x-rack-cache': 'miss',
  vary: 'Origin',
  via: '1.1 vegur' }
REQUEST reading response's body
REQUEST finish init function https://atom.io/api/packages/language-rust
REQUEST { url: 'https://atom.io/api/packages/language-rust',
  json: true,
  retries: 4,
  strictSSL: true,
  headers: { 'User-Agent': 'npm/3.10.5 node/v4.4.5 win32 ia32' },
  callback: [Function],
  method: 'GET' }
REQUEST response end https://atom.io/api/packages/language-rust 200 { server: 'Cowboy',
  connection: 'close',
  date: 'Sun, 13 Nov 2016 16:47:26 GMT',
  status: '200 OK',
  'x-frame-options': 'DENY',
  'x-xss-protection': '1; mode=block',
  'x-content-type-options': 'nosniff',
  'strict-transport-security': 'max-age=631152000',
  'content-security-policy': 'default-src \'self\'; connect-src \'self\'; font-src https://github-atom-io-herokuapp-com.global.ssl.fastly.net; frame-src \'self\' https://www.youtube.com; img-src https://* \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net data:; media-src \'none\'; object-src \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net; script-src \'self\' \'unsafe-inline\' https://ssl.google-analytics.com https://www.google-analytics.com https://platform.twitter.com https://github-atom-io-herokuapp-com.global.ssl.fastly.net; style-src \'self\' \'unsafe-inline\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net;',
  'content-type': 'application/json; charset=utf-8',
  etag: 'W/"3ba8f91e11eb4663ac134f1dd61ad828"',
  'cache-control': 'max-age=0, private, must-revalidate',
  'x-request-id': '7012f65a-468c-4633-9545-fb26b61c3dd5',
  'x-runtime': '0.012621',
  'x-rack-cache': 'miss',
  vary: 'Origin',
  via: '1.1 vegur' }
REQUEST end event https://atom.io/api/packages/language-rust
REQUEST invalid JSON received https://atom.io/api/packages/language-rust
REQUEST emitting complete https://atom.io/api/packages/language-rust
REQUEST make request https://atom.io/api/packages/language-rust
REQUEST onRequestResponse https://atom.io/api/packages/language-rust 200 { server: 'Cowboy',
  connection: 'close',
  date: 'Sun, 13 Nov 2016 16:47:27 GMT',
  status: '200 OK',
  'x-frame-options': 'DENY',
  'x-xss-protection': '1; mode=block',
  'x-content-type-options': 'nosniff',
  'strict-transport-security': 'max-age=631152000',
  'content-security-policy': 'default-src \'self\'; connect-src \'self\'; font-src https://github-atom-io-herokuapp-com.global.ssl.fastly.net; frame-src \'self\' https://www.youtube.com; img-src https://* \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net data:; media-src \'none\'; object-src \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net; script-src \'self\' \'unsafe-inline\' https://ssl.google-analytics.com https://www.google-analytics.com https://platform.twitter.com https://github-atom-io-herokuapp-com.global.ssl.fastly.net; style-src \'self\' \'unsafe-inline\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net;',
  'content-type': 'application/json; charset=utf-8',
  etag: 'W/"3ba8f91e11eb4663ac134f1dd61ad828"',
  'cache-control': 'max-age=0, private, must-revalidate',
  'x-request-id': 'e18e2df6-2748-4386-b9ea-ce2f1887de70',
  'x-runtime': '0.012873',
  'x-rack-cache': 'miss',
  vary: 'Origin',
  via: '1.1 vegur' }
REQUEST reading response's body
REQUEST finish init function https://atom.io/api/packages/language-rust
Request for package information failed: read ECONNRESET (5 attempts) (ECONNRESET)
REQUEST response end https://atom.io/api/packages/language-rust 200 { server: 'Cowboy',
  connection: 'close',
  date: 'Sun, 13 Nov 2016 16:47:27 GMT',
  status: '200 OK',
  'x-frame-options': 'DENY',
  'x-xss-protection': '1; mode=block',
  'x-content-type-options': 'nosniff',
  'strict-transport-security': 'max-age=631152000',
  'content-security-policy': 'default-src \'self\'; connect-src \'self\'; font-src https://github-atom-io-herokuapp-com.global.ssl.fastly.net; frame-src \'self\' https://www.youtube.com; img-src https://* \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net data:; media-src \'none\'; object-src \'self\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net; script-src \'self\' \'unsafe-inline\' https://ssl.google-analytics.com https://www.google-analytics.com https://platform.twitter.com https://github-atom-io-herokuapp-com.global.ssl.fastly.net; style-src \'self\' \'unsafe-inline\' https://github-atom-io-herokuapp-com.global.ssl.fastly.net;',
  'content-type': 'application/json; charset=utf-8',
  etag: 'W/"3ba8f91e11eb4663ac134f1dd61ad828"',
  'cache-control': 'max-age=0, private, must-revalidate',
  'x-request-id': 'e18e2df6-2748-4386-b9ea-ce2f1887de70',
  'x-runtime': '0.012873',
  'x-rack-cache': 'miss',
  vary: 'Origin',
  via: '1.1 vegur' }
REQUEST end event https://atom.io/api/packages/language-rust
REQUEST has body https://atom.io/api/packages/language-rust 5544
REQUEST invalid JSON received https://atom.io/api/packages/language-rust
REQUEST emitting complete https://atom.io/api/packages/language-rust
shepmaster commented 7 years ago

After some amount of time, this works.

kaven276 commented 7 years ago

It's seems 'strictSSL: true,' affect, like curl use strict SSL mode will fail

CollinChaffin commented 7 years ago

This should not have been closed just because "eventually" after retrying a number of times it finally works. If all software only had to work to those standards, none of us would even use our computers, LOL.

I'm also on Win7x64 and EVERY time I open Atom, and open the settings tab, I am greeted with TWO of these messages:

Fetching outdated packages and themes failed.
Request for package information failed: read ECONNRESET

Only upon waiting (as you indicated) then MANUALLY clicking the "check for updates" button, do these TWO GLARING RED ERRORS get superseded by a success. Of note, these TWO GLARING RED ugly error boxes will NEVER disappear or clear out unless manually clicked the "X" to do so.

I believe this is simply an issue with the SSL as someone below also indicated, but should probably be left open (I request this issue reopened) until the actual root cause is addressed and fixed.

shepmaster commented 7 years ago

After some amount of time, this works.

For reference, I meant "after waiting the weeks after opening the original issue, I can no longer reproduce the problem". It's entirely possible that what you are experiencing is different, but I've reopened it in case it's useful for the maintainers.

FelixVicis commented 5 years ago

Happening here as well. No proxy, just ECONNRESET

After doing some digging,

The issue was noticed after an update to atom. Persisted after a rollback to a previous version. I can't say that it hasn't been a problem for a while.

EDIT: Also, just to be safe, I set strict-ssl to false in the apm config. Didn't help.

OS: Ubuntu 16.04

~$ apm --version
apm  1.19.0
npm  3.10.10
node 6.9.5 x64
atom 1.26.0
python 2.7.12
git 2.7.4

~$ atom --version
Atom    : 1.26.0
Electron: 1.7.11
Chrome  : 58.0.3029.110
Node    : 7.9.0
paklie commented 5 years ago

just happened to me, but in my opinion this has something to do with network problems. I was connected to wi-fi and this case happened, but because I was in a hurry I changed the connection to 4g and the problem solved