EOSIO / EOSIO/demux-js

TypeError when running eos-transfers example

Open
#102 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
298
Forks
69
PR merge metrics
No merged PRs in 30d

Description

When running the unmodified eos-transfers example, after a while I get the following error:
```
{"name":"demux","hostname":"Ubuntu-1804-bionic-64-minimal","pid":30211,"level":30,"msg":"Rolling back 1 blocks to block 7986487...","time":"2019-01-10T05:07:43.811Z","v":0}
(node:30211) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'indexState' of undefined
at ObjectActionHandler.loadIndexState (/home/demo/demux-js/examples/eos-transfers/ObjectActionHandler.js:56:18)
at ObjectActionHandler. (/home/demo/demux-js/examples/eos-transfers/node_modules/demux/dist/AbstractActionHandler.js:165:79)
at Generator.next ()
at /home/demo/demux-js/examples/eos-transfers/node_modules/demux/dist/AbstractActionHandler.js:7:71
at new Promise ()
at __awaiter (/home/demo/demux-js/examples/eos-transfers/node_modules/demux/dist/AbstractActionHandler.js:3:12)
at ObjectActionHandler.refreshIndexState (/home/demo/demux-js/examples/eos-transfers/node_modules/demux/dist/AbstractActionHandler.js:164:16)
at ObjectActionHandler. (/home/demo/demux-js/examples/eos-transfers/node_modules/demux/dist/AbstractActionHandler.js:50:28)
at Generator.next ()
at fulfilled (/home/demo/demux-js/examples/eos-transfers/node_modules/demux/dist/AbstractActionHandler.js:4:58)
(node:30211) 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(). (rejection id: 4)
(node:30211) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
```

I suspect it has something to do with fork handling because it usually comes immediately after a fork has been handled, but not always. Sometimes it handles a dozen forks fine and then suddenly, the error pops up.

The Jungle testnet seems to have conditions that provoke this error more often than then mainnet.

Contributor guide

Open the contributing guide

Research direction

Run the unmodified examples/eos-transfers example against the Jungle testnet and observe behavior around fork handling. Inspect examples/eos-transfers/ObjectActionHandler.js at line 56 and the AbstractActionHandler stack shown in the report. Done means fork processing no longer produces the indexState TypeError or an unhandled promise rejection.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
blockchain
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.