我每次重启 lifecycle,怎么出现的错误都不一样1633181454818 - {“name”:“Error”,“message”:"",“stack”:“Error\n at Queue._onMessage (/opt/app/node_modules/.pnpm/[email protected]/node_modules/bee-queue/lib/queue.js:138:22)\n at RedisClient.emit (events.js:400:28)\n at return_pub_sub (/opt/app/node_modules/.pnpm/[email protected]/node_modules/redis/index.js:786:18)\n at RedisClient.return_reply (/opt/app/node_modules/.pnpm/[email protected]/node_modules/redis/index.js:833:9)\n at JavascriptRedisParser.returnReply (/opt/app/node_modules/.pnpm/[email protected]/node_modules/redis/index.js:192:18)\n at JavascriptRedisParser.execute (/opt/app/node_modules/.pnpm/[email protected]/node_modules/redis-parser/lib/parser.js:574:12)\n at Socket. (/opt/app/node_modules/.pnpm/[email protected]/node_modules/redis/index.js:274:27)\n at Socket.emit (events.js:400:28)\n at addChunk (internal/streams/readable.js:290:12)\n at readableAddChunk (internal/streams/readable.js:265:9)”}
目前的办法,就是通过修改,来换成别的矿机
monitor提示
1633616192732 - {"name":"SyntaxError","message":"Unexpected token I in JSON at position 0","stack":"SyntaxError: Unexpected token I in JSON at position 0\n at JSON.parse (<anonymous>)\n at file:///opt/app/src/lifecycle/pruntime.js:22:24\n at runMicrotasks (<anonymous>)\n at processTicksAndRejections (internal/process/task_queues.js:95:5)\n at async paraBlockSync (file:///opt/app/src/lifecycle/pruntime.js:285:11)\n at async Promise.all (index 1)"}
lifecycle启动后,挂了,提示如下错误:
events.js:377
throw er; // Unhandled 'error' event
^
RequestError: write EPIPE
at ClientRequest.<anonymous> (/opt/app/node_modules/.pnpm/[email protected]/node_modules/got/dist/source/core/index.js:956:111)
at Object.onceWrapper (events.js:520:26)
at ClientRequest.emit (events.js:412:35)
at ClientRequest.origin.emit (/opt/app/node_modules/.pnpm/@[email protected]/node_modules/@szmarczak/http-timer/dist/source/index.js:43:20)
at Socket.socketErrorListener (_http_client.js:475:9)
at Socket.emit (events.js:412:35)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21)
at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:94:16)
Emitted 'error' event on Request instance at:
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21) {
code: 'EPIPE',
timings: {
start: 1633522856113,
socket: 1633522856113,
lookup: 1633522857116,
connect: 1633522857116,
secureConnect: undefined,
upload: 1633522872125,
response: 1633522872124,
end: undefined,
error: 1633522872125,
abort: undefined,
phases: {
wait: 0,
dns: 1003,
tcp: 0,
tls: undefined,
request: 15009,
firstByte: NaN,
download: undefined,
total: 16012
}
}
}
ELIFECYCLE Command failed with exit code 1.
pruntime 提示{“name”:”TimeoutError”,”code”:”ETIMEDOUT”,”timings”}
1633436893663 - {“name”:“TimeoutError”,“code”:“ETIMEDOUT”,“timings”:{“start”:1633436863663,“socket”:1633436863663,“lookup”:1633436863664,“connect”:1633436863664,“error”:1633436893663,“phases”:{“wait”:0,“dns”:1,“tcp”:0,“total”:30000}},“event”:“request”,“message”:“Timeout awaiting ‘request’ for 30000ms”,“stack”:“RequestError: Timeout awaiting ‘request’ for 30000ms\n at ClientRequest. (/opt/app/node_modules/.pnpm/[email protected]/node_modules/got/dist/source/core/index.js:956:65)\n at Object.onceWrapper (events.js:520:26)\n at ClientRequest.emit (events.js:412:35)\n at ClientRequest.origin.emit (/opt/app/node_modules/.pnpm/@[email protected]/node_modules/@szmarczak/http-timer/dist/source/index.js:43:20)\n at Socket.socketErrorListener (_http_client.js:475:9)\n at Socket.emit (events.js:412:35)\n at emitErrorNT (internal/streams/destroy.js:106:8)\n at emitErrorCloseNT (internal/streams/destroy.js:74:3)\n at processTicksAndRejections (internal/process/task_queues.js:82:21)\n at Timeout.timeoutHandler [as _onTimeout] (/opt/app/node_modules/.pnpm/[email protected]/node_modules/got/dist/source/core/utils/timed-out.js:36:25)\n at listOnTimeout (internal/timers.js:559:11)\n at processTimers (internal/timers.js:500:7)”}
pruntime设置超时时间
version: "3"
services:
pruntime:
image: phalanetwork/phala-pruntime
container_name: pruntime
restart: always
hostname: pruntime
environment:
- "ENABLE_KICK_API=1"
- ROCKET_KEEP_ALIVE=300
- ROCKET_READ_TIMEOUT=300
- ROCKET_WRITE_TIMEOUT=300
volumes:
- "./data:/root/data"
devices:
- "/dev/sgx/enclave:/dev/sgx/enclave"
- "/dev/sgx/provision:/dev/sgx/provision"
ports:
- "8000:8000"
你测试过了,修改超时时间,可以修复这个问题吗,我的prb还在同步高度
设置了5分钟,5分钟后一样的提示超时。
挂的机器单独跑,机器非常卡。
你是在大概多少高度出现的超时,我在测试prb了
同步完了 启用矿机的时候
我出现timeout是在9w-10w高度的时候,全部出现timeouterr,暂时还没找到方法
另外,BlockNumberMismatch这个报错,我清理了所有prb的数据<谨慎处理,prb会重新同步,也要不少时间>,还在验证中…
同步完了再加矿机
BlockNumberMismatch,重启lifecycle
重启过,添加的worker到达一定高度后,依然出现这个BlockNumberMismatch,并且高度卡住不动
prb不再使用gas账号,而是直接使用pool账号,共同使用pool地址,建议在添加worker时,每台设置那个stake Amount为10个pha,默认是>1个pha,建议复制完整,包括后面的0,这个就是用来作gas费的范围
Thanks
呼叫官方爸爸
还在进一步验证中
我一共100多台,有10多台能正常到mining,其余全是timeoutError和BlockNumberMismatch