-
-
Notifications
You must be signed in to change notification settings - Fork 37
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
Error logged in logfile #550
Comments
Seems like your DNS server couldn't resolve the API domain. What resolver are you using? Maybe there's an issue with DNS and Windows virtualization? |
I have seen this on several of my (4) probes. Will dive into it, one of these runs “Docker for Windows”, the other three VMware Workstation on Windows. Need to determine whether it also happens on the one running “Docker for Windows”. Since they all use different DNS servers, that is not the issue but it could be VMware and/or Windows. The probe continues to work fine when the error occurs so it is not a too big issue. The 3 VMware probes run docker on a minimal DietPI distro (Debian based) since that distro comes ready to go as a VMware VM. Very quick to set up. |
I've heard before of DNS issues under Windows virtualization and Docker, that's why it was my first thought. |
Just had a thought. The docker container created by the standard command line as specified on the Globalping website, defaults to a blocking local log. That implies that when the log becomes larger and the log is asked for, say with “docker logs -f”, docker blocks the probe processing. Could this lead to this issue? I noticed that a “docker logs [container id] runs fine (not very intensive, so blocking will be short) but the moment I do a “docker logs - since 5 min [container id] the error occurs. Then docker needs to read the whole log file, determine from where to show it, which is more intensive and blocking might interfere with the probe processing? |
docker logs and the process inside should be completely independent, unless maybe the device is so underpowered that the logs reading completely overloads the system, even light weight tasks like DNS. But I really doubt it |
Software probe running on DietPi in a VMware VM on Windows 10.
On probes running the above I see this regularly in the log file (docker logs [container-id]):
Any clues?
node:internal/process/promises:289
triggerUncaughtException(err, true /* fromPromise */);
^
RequestError: getaddrinfo EAI_AGAIN data.jsdelivr.com
at ClientRequest. (file:///app/node_modules/got/dist/source/core/index.js:790:107)
at Object.onceWrapper (node:events:634:26)
at ClientRequest.emit (node:events:531:35)
at TLSSocket.socketErrorListener (node:_http_client:500:9)
at TLSSocket.emit (node:events:519:28)
at emitErrorNT (node:internal/streams/destroy:169:8)
at emitErrorCloseNT (node:internal/streams/destroy:128:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26) {
input: undefined,
code: 'EAI_AGAIN',
timings: {
start: 1728229654530,
socket: 1728229654533,
lookup: 1728229664543,
connect: undefined,
secureConnect: undefined,
upload: undefined,
response: undefined,
end: undefined,
error: 1728229664544,
abort: undefined,
phases: {
wait: 3,
dns: 10010,
tcp: undefined,
tls: undefined,
request: undefined,
firstByte: undefined,
download: undefined,
total: 10014
}
},
options: Options {
_unixOptions: undefined,
_internals: {
request: undefined,
agent: { http: undefined, https: undefined, http2: undefined },
h2session: undefined,
decompress: true,
timeout: {
connect: undefined,
lookup: undefined,
read: undefined,
request: 15000,
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: true,
username: '',
password: '',
http2: false,
allowGetBody: false,
headers: {
'user-agent': 'got (https://github.com/sindresorhus/got)',
accept: 'application/json',
'accept-encoding': 'gzip, deflate, br'
},
methodRewriting: false,
dnsLookupIpVersion: undefined,
parseJson: [Function: parse],
stringifyJson: [Function: stringify],
retry: {
limit: 2,
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 {},
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
},
_merging: false,
_init: [ { timeout: { request: 15000 } } ]
}
}
Node.js v20.13.0
``
The text was updated successfully, but these errors were encountered: