truffle
truffle copied to clipboard
Deployment crashes with ETIMEDOUT
Issue
Deployment crashes because of ETIMEDOUT
when requesting the latest block using Infura as provider with a stable internet connection. This deployment was to Kovan but I suspect it would also happen when deploying to mainnet.
2_deploy_timelock.js
====================
Replacing 'DSPause'
-------------------
> transaction hash: 0x00e68e105052798ca01866ef6d10e3bcba07ac9b6e89ec41e7ed3e94f5259b20
⠼ Blocks: 4 Seconds: 23
C:\Users\User\Desktop\contracts\node_modules\request\request.js:848
var e = new Error('ETIMEDOUT')
^
Error: PollingBlockTracker - encountered an error while attempting to update latest block:
Error: ETIMEDOUT
at Timeout.<anonymous> (C:\Users\User\Desktop\contracts\node_modules\request\request.js:848:19)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)
at PollingBlockTracker._performSync (C:\Users\User\Desktop\contracts\node_modules\eth-block-tracker\src\polling.js:51:24)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
The same error also appears with a different message:
-----------------------------------
> transaction hash: 0xfb8adea09261fae8fe28b13b2f0a1c71dff8b766905b905de37baadedea1958a
⠴ Blocks: 0 Seconds: 0Error [ERR_UNHANDLED_ERROR]: Unhandled error. ({
code: -32603,
message: 'ETIMEDOUT',
data: { originalError: { code: 'ETIMEDOUT', connect: true } },
stack: 'Error: ETIMEDOUT\n' +
' at Timeout.<anonymous> (C:\\Users\\User\\Desktop\\contracts\\node_modules\\request\\request.js:848:19)\n' +
' at listOnTimeout (internal/timers.js:554:17)\n' +
' at processTimers (internal/timers.js:497:7)'
})
at Web3ProviderEngine.emit (events.js:303:17)
at C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\index.js:57:14
at afterRequest (C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\index.js:151:21)
at C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\index.js:176:21
at C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\index.js:238:9
at C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\node_modules\async\internal\once.js:12:16
at replenish (C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\node_modules\async\internal\eachOfLimit.js:61:25)
at C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\node_modules\async\internal\eachOfLimit.js:71:9
at eachLimit (C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\node_modules\async\eachLimit.js:43:36)
at C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\node_modules\async\internal\doLimit.js:9:16
at end (C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\index.js:217:5)
at Request._callback (C:\Users\User\Desktop\contracts\node_modules\@trufflesuite\web3-provider-engine\subproviders\rpc.js:36:21)
at self.callback (C:\Users\User\Desktop\contracts\node_modules\request\request.js:185:22)
at Request.emit (events.js:314:20)
at Timeout.<anonymous> (C:\Users\User\Desktop\contracts\node_modules\request\request.js:851:16)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)
Steps to Reproduce
Hard to reproduce, does not happen everytime.
Expected Behavior
Do not crash the deployment but instead retry to fetch the latest block while printing a warning.
Environment
- Operating System: Windows 10
- Truffle version (
truffle version
):Truffle v5.1.50 (core: 5.1.50)
- node version (
node --version
):v12.19.0
- npm version (
npm --version
):6.14.8