fix(beacon-node): cleanly exit process on graceful shutdown - #5330
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
fa70880 to
6b7fd39
Compare
6b7fd39 to
f4006e7
Compare
Performance Report鉁旓笍 no performance regression detected Full benchmark results
|
cd80dbe to
4f18664
Compare
| await this.chain.persistToDisk(); | ||
| await this.chain.close(); | ||
| await this.db.stop(); | ||
| if (this.controller) this.controller.abort(); |
There was a problem hiding this comment.
Abort must be called before closing db
There was a problem hiding this comment.
In general, it is best to abort as late as possible in shutdown sequence. This ensures all intervals/timeouts are cleared first and then all remaining pending operations are aborted. Prevents edge case where abort is done and interval schedules another operation which would be stuck pending and delay shutdown.
674b94f to
42a3d70
Compare
|
|
||
| /** | ||
| * Short delay before closing db to give async operations sufficient time to complete | ||
| * and prevent "Database is not open" errors when shutting down beacon node. |
There was a problem hiding this comment.
As per documentation, "Database is not open" only happens if close is already called and some async operation still tries to execute db queries. If db query is already executed before, the database will wait for any pending operations to finish before closing.
(process is cleanly exited now)
(after further testing 500ms seems sufficient)
95a5e71 to
32983cd
Compare
|
馃帀 This PR is included in v1.9.0 馃帀 |
Motivation
Cleanly exit beacon node on graceful shutdown without requiring
process.exit, closes #5317Description
Uses why-is-node-running to identify active handles. (alternativ tool: wtfnode)
Most of the time process exits but there are errors such asError: QUEUE_ERROR_QUEUE_ABORTED.In some cases the process keeps running, I guess depends on the timing...good news is that workers are all closed correctly
why-is-node-running output
There are 1411 handle(s) keeping the process running
TTYWRAP
node:internal/async_hooks:202
node:internal/bootstrap/switches/is_main_thread:51
node:internal/bootstrap/switches/is_main_thread:170
/home/nico/projects/ethereum/lodestar/node_modules/siginfo/index.js:3 - if (process.stderr.isTTY || force === true) {
/home/nico/projects/ethereum/lodestar/node_modules/why-is-node-running/include.js:3 - require('siginfo')(why, true)
node:internal/modules/cjs/loader:1159
node:internal/modules/cjs/loader:1213
node:internal/modules/cjs/loader:1037
FILEHANDLE
node:internal/async_hooks:202
FILEHANDLE
node:internal/async_hooks:202
FILEHANDLE
node:internal/async_hooks:202
... more node:internal/async_hooks:202
TTYWRAP
node:internal/async_hooks:202
node:internal/bootstrap/switches/is_main_thread:51
node:internal/bootstrap/switches/is_main_thread:148
node:internal/bootstrap/loaders:189
node:internal/bootstrap/loaders:311
node:internal/bootstrap/loaders:291
node:internal/bootstrap/loaders:296
TTYWRAP
node:internal/async_hooks:202
node:internal/bootstrap/switches/is_main_thread:196
node:internal/bootstrap/loaders:189
node:internal/bootstrap/loaders:311
node:internal/bootstrap/loaders:291
node:internal/bootstrap/loaders:296
node:internal/bootstrap/loaders:276
DNSCHANNEL
node:internal/async_hooks:202
node:internal/dns/utils:79
node:internal/dns/utils:74
node:internal/dns/utils:241
node:internal/dns/utils:251
node:internal/dns/promises:367
node:internal/bootstrap/loaders:331
node:internal/bootstrap/loaders:362
node:dns/promises:3
JSSTREAM
node:internal/async_hooks:202
node:internal/js_stream_socket:49
/home/nico/projects/ethereum/lodestar/node_modules/http2-wrapper/source/utils/js-stream-socket.js:6 - const JSStreamSocket = (new tls.TLSSocket(new stream.PassThrough()))._handle._parentWrap.constructor;
node:internal/modules/cjs/loader:1159
node:internal/modules/cjs/loader:1213
node:internal/modules/cjs/loader:1037
node:internal/modules/cjs/loader:878
node:internal/modules/cjs/loader:1061
TLSWRAP
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/http2-wrapper/source/utils/js-stream-socket.js:6 - const JSStreamSocket = (new tls.TLSSocket(new stream.PassThrough()))._handle._parentWrap.constructor;
node:internal/modules/cjs/loader:1159
node:internal/modules/cjs/loader:1213
node:internal/modules/cjs/loader:1037
node:internal/modules/cjs/loader:878
node:internal/modules/cjs/loader:1061
FILEHANDLE
node:internal/async_hooks:202
FILEHANDLE
node:internal/async_hooks:202
FILEHANDLE
node:internal/async_hooks:202
FILEHANDLE
node:internal/async_hooks:202
... more node:internal/async_hooks:202
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/got/node_modules/decompress-response/index.js:43 - const decompressStream = isBrotli ? zlib.createBrotliDecompress() : zlib.createUnzip();
file:///home/nico/projects/ethereum/lodestar/node_modules/got/dist/source/core/index.js:549
file:///home/nico/projects/ethereum/lodestar/node_modules/got/dist/source/core/index.js:736
file:///home/nico/projects/ethereum/lodestar/node_modules/got/dist/source/core/index.js:754
nan:test.DelayRequest
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/gc-stats/index.js:17 - gcstats.afterGC(function(stats) {
/home/nico/projects/ethereum/lodestar/node_modules/prometheus-gc-stats/index.js:58 - gc().on('stats', stats => {
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/metrics/nodeJsMetrics.js:14
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/metrics/metrics.js:21
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/node/nodejs.js:81
node:internal/process/task_queues:95
file:///home/nico/projects/ethereum/lodestar/packages/cli/lib/cmds/beacon/handler.js:52
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
Timeout
node:internal/async_hooks:202
node:internal/async_hooks:505
node:internal/timers:159
node:internal/timers:193
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/chain/clock/LocalClock.js:23
node:internal/timers:564
node:internal/timers:507
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
However, it is much better than on
unstablebranch which never exitswhy-is-node-running output on unstable
There are 1436 handle(s) keeping the process running
TTYWRAP
node:internal/async_hooks:202
node:internal/bootstrap/switches/is_main_thread:51
node:internal/bootstrap/switches/is_main_thread:170
/home/nico/projects/ethereum/lodestar/node_modules/siginfo/index.js:3 - if (process.stderr.isTTY || force === true) {
/home/nico/projects/ethereum/lodestar/node_modules/why-is-node-running/include.js:3 - require('siginfo')(why, true)
node:internal/modules/cjs/loader:1159
node:internal/modules/cjs/loader:1213
node:internal/modules/cjs/loader:1037
FILEHANDLE
node:internal/async_hooks:202
FILEHANDLE
node:internal/async_hooks:202
FILEHANDLE
node:internal/async_hooks:202
FILEHANDLE
node:internal/async_hooks:202
....more node:internal/async_hooks:202
TTYWRAP
node:internal/async_hooks:202
node:internal/bootstrap/switches/is_main_thread:51
node:internal/bootstrap/switches/is_main_thread:148
node:internal/bootstrap/loaders:189
node:internal/bootstrap/loaders:311
node:internal/bootstrap/loaders:291
node:internal/bootstrap/loaders:296
TTYWRAP
node:internal/async_hooks:202
node:internal/bootstrap/switches/is_main_thread:196
node:internal/bootstrap/loaders:189
node:internal/bootstrap/loaders:311
node:internal/bootstrap/loaders:291
node:internal/bootstrap/loaders:296
node:internal/bootstrap/loaders:276
DNSCHANNEL
node:internal/async_hooks:202
node:internal/dns/utils:79
node:internal/dns/utils:74
node:internal/dns/utils:241
node:internal/dns/utils:251
node:internal/dns/promises:367
node:internal/bootstrap/loaders:331
node:internal/bootstrap/loaders:362
node:dns/promises:3
JSSTREAM
node:internal/async_hooks:202
node:internal/js_stream_socket:49
/home/nico/projects/ethereum/lodestar/node_modules/http2-wrapper/source/utils/js-stream-socket.js:6 - const JSStreamSocket = (new tls.TLSSocket(new stream.PassThrough()))._handle._parentWrap.constructor;
node:internal/modules/cjs/loader:1159
node:internal/modules/cjs/loader:1213
node:internal/modules/cjs/loader:1037
node:internal/modules/cjs/loader:878
node:internal/modules/cjs/loader:1061
TLSWRAP
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/http2-wrapper/source/utils/js-stream-socket.js:6 - const JSStreamSocket = (new tls.TLSSocket(new stream.PassThrough()))._handle._parentWrap.constructor;
node:internal/modules/cjs/loader:1159
node:internal/modules/cjs/loader:1213
node:internal/modules/cjs/loader:1037
node:internal/modules/cjs/loader:878
node:internal/modules/cjs/loader:1061
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/got/node_modules/decompress-response/index.js:43 - const decompressStream = isBrotli ? zlib.createBrotliDecompress() : zlib.createUnzip();
file:///home/nico/projects/ethereum/lodestar/node_modules/got/dist/source/core/index.js:549
file:///home/nico/projects/ethereum/lodestar/node_modules/got/dist/source/core/index.js:736
file:///home/nico/projects/ethereum/lodestar/node_modules/got/dist/source/core/index.js:754
nan:test.DelayRequest
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/gc-stats/index.js:17 - gcstats.afterGC(function(stats) {
/home/nico/projects/ethereum/lodestar/node_modules/prometheus-gc-stats/index.js:58 - gc().on('stats', stats => {
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/metrics/nodeJsMetrics.js:14
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/metrics/metrics.js:21
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/node/nodejs.js:81
node:internal/process/task_queues:95
file:///home/nico/projects/ethereum/lodestar/packages/cli/lib/cmds/beacon/handler.js:52
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
Timeout
node:internal/async_hooks:202
node:internal/async_hooks:505
node:internal/timers:159
node:internal/timers:193
file:///home/nico/projects/ethereum/lodestar/packages/reqresp/lib/rate_limiter/ReqRespRateLimiter.js:59
file:///home/nico/projects/ethereum/lodestar/packages/reqresp/lib/ReqResp.js:70
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/network/reqresp/ReqRespBeaconNode.js:46
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/network/network.js:231
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
ZLIB
node:internal/async_hooks:202
/home/nico/projects/ethereum/lodestar/node_modules/node-fetch/lib/index.js:1622 - body = body.pipe(zlib.createGunzip(zlibOptions));
Timeout
node:internal/async_hooks:202
node:internal/async_hooks:505
node:internal/timers:159
node:internal/timers:193
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/chain/clock/LocalClock.js:23
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/chain/clock/LocalClock.js:37
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/chain/clock/LocalClock.js:51
file:///home/nico/projects/ethereum/lodestar/packages/beacon-node/lib/network/network.js:328
How to use this branch
yarn install && yarn buildCtrl +C to send SIGINT to process
Trigger why-is-node-running logs from another shell (see instructions)
Next steps
Error: QUEUE_ERROR_QUEUE_ABORTEDand other errorsEth1DepositDataTrackerprocess.exitjust to make sure...but lets clean up firstCleanup