Closed benoitf closed 1 year ago
This looks like as expected because the those sock
only available after setup
so once you install the extension then you need to install the crc
otherwise all the calls for status go through those sock and if they are not available, you will get this. May be in our extension codebase we need to make sure not make call to those socket until they are not available.
I mean, extension should catch the error (to avoid the unhandled promise rejection)
There are probably missing await
instructions
Right. They should be handled... if not available, this should result in a catch + no-op.
11:59:40 [main] [OpenShift-Local] Cannot sync preferences: RequestError: connect ENOENT //?/pipe/crc-http
at ClientRequest.<anonymous> (C:\Users\gbraad\.local\share\containers\podman-desktop\plugins\OpenShift-Local\dist\extension.js:8531:101)
at Object.onceWrapper (node:events:628:26)
at ClientRequest.emit (node:events:525:35)
at Socket.socketErrorListener (node:_http_client:502:9)
at Socket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
input: undefined,
code: 'ENOENT',
timings: {
start: 1683259175712,
socket: 1683259175726,
lookup: undefined,
connect: undefined,
secureConnect: undefined,
upload: undefined,
response: undefined,
end: undefined,
error: 1683259175728,
abort: undefined,
phases: {
wait: 14,
dns: undefined,
tcp: undefined,
tls: undefined,
request: undefined,
firstByte: undefined,
download: undefined,
total: 16
}
},
options: {
request: undefined,
agent: { http: undefined, https: undefined, http2: undefined },
h2session: undefined,
decompress: true,
timeout: {
connect: undefined,
lookup: undefined,
read: undefined,
request: undefined,
response: undefined,
secureConnect: undefined,
send: undefined,
socket: undefined
},
prefixUrl: '',
body: undefined,
form: undefined,
json: undefined,
cookieJar: undefined,
ignoreInvalidCookies: false,
searchParams: undefined,
dnsLookup: undefined,
dnsCache: undefined,
context: {},
hooks: {
init: [],
beforeRequest: [],
beforeError: [],
beforeRedirect: [],
beforeRetry: [],
afterResponse: []
},
followRedirect: true,
maxRedirects: 10,
cache: undefined,
throwHttpErrors: false,
username: '',
password: '',
http2: false,
allowGetBody: false,
headers: {
'user-agent': 'got (https://github.com/sindresorhus/got)',
'accept-encoding': 'gzip, deflate, br'
},
methodRewriting: false,
dnsLookupIpVersion: undefined,
parseJson: [Function: parse],
stringifyJson: [Function: stringify],
retry: {
limit: 0,
methods: [ 'GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE' ],
statusCodes: [
408, 413, 429, 500,
502, 503, 504, 521,
522, 524
],
errorCodes: [
'ETIMEDOUT',
'ECONNRESET',
'EADDRINUSE',
'ECONNREFUSED',
'EPIPE',
'ENOTFOUND',
'ENETUNREACH',
'EAI_AGAIN'
],
maxRetryAfter: undefined,
calculateDelay: [Function: calculateDelay],
backoffLimit: Infinity,
noise: 100
},
localAddress: undefined,
method: 'GET',
createConnection: undefined,
cacheOptions: {
shared: undefined,
cacheHeuristic: undefined,
immutableMinTimeToLive: undefined,
ignoreCargoCult: undefined
},
https: {
alpnProtocols: undefined,
rejectUnauthorized: undefined,
checkServerIdentity: undefined,
certificateAuthority: undefined,
key: undefined,
certificate: undefined,
passphrase: undefined,
pfx: undefined,
ciphers: undefined,
honorCipherOrder: undefined,
minVersion: undefined,
maxVersion: undefined,
signatureAlgorithms: undefined,
tlsSessionLifetime: undefined,
dhparam: undefined,
ecdhCurve: undefined,
certificateRevocationLists: undefined
},
encoding: undefined,
resolveBodyOnly: false,
isStream: false,
responseType: 'text',
url: URL {
href: 'http://unix//?/pipe/crc-http:/api/config',
origin: 'http://unix',
protocol: 'http:',
username: '',
password: '',
host: 'unix',
hostname: 'unix',
port: '',
pathname: '//',
search: '?/pipe/crc-http:/api/config',
searchParams: URLSearchParams { '/pipe/crc-http:/api/config' => '' },
hash: ''
},
pagination: {
transform: [Function: transform],
paginate: [Function: paginate],
filter: [Function: filter],
shouldContinue: [Function: shouldContinue],
countLimit: Infinity,
backoff: 0,
requestLimit: 10000,
stackAllItems: false
},
setHost: true,
maxHeaderSize: undefined,
signal: undefined,
enableUnixSockets: true
}
}
(node:37692) UnhandledPromiseRejectionWarning: RequestError: connect ENOENT //?/pipe/crc-http
at ClientRequest.<anonymous> (C:\Users\gbraad\.local\share\containers\podman-desktop\plugins\OpenShift-Local\dist\extension.js:8531:101)
at Object.onceWrapper (node:events:628:26)
at ClientRequest.emit (node:events:525:35)
at Socket.socketErrorListener (node:_http_client:502:9)
at Socket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1494:16)
(node:37692) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 6)
Hello, FYI starting on a fresh OS install (no crc at all installed)
I got
Upon the activation of the extension