graphprotocol / graphprotocol/graph-node
[Bug] Deterministic subgraph failures being reported as non-deterministic
Open
Nobody has claimed this yet.
bug
Stale
- Dominant language
- Rust
- Stars
- 3.2k
- Forks
- 1.1k
- Avg merge
- 4d 1h
- Merged PRs (30d)
- 1
Description
Bug report
These are all examples of deterministic failures that are being incorrectly categorised as non-deterministic failures
Relevant log output
[
{
"ipfsHash": "QmWFi6uciaQPQmo1xRrahNwfiWLGeN9GTDJMuCfV8iVXSe",
"fatalError": {
"message": "failed to process trigger: Failed to process substreams block: Entity PoolDayData[0xada15f0f68f9e7d4230c97d942616f1db3f2a9c4-19889]: missing value for non-nullable field `date`",
"block": {
"number": "20100395",
"hash": "0x3661643266396331656531393132363362313066313566353236313930396464",
"__typename": "Block"
},
"handler": null,
"deterministic": false,
"__typename": "SubgraphError"
}
},
{
"ipfsHash": "QmaqjayWnJntBFg5fr4TbvPHhVDG3xbbvuA4FCDaUuxz8X",
"fatalError": "failed to process trigger: block #21586871 (0x158d…6bda), transaction b92f1e508502add12c1c3659e1c300cba3257ba467d21c3b7759a02c8ae5dd26: module instantiation failed: attempted to divide BigDecimal `86400` by zero\twasm backtrace:\t 0: 0x4b99 - <unknown>!~lib/@graphprotocol/graph-ts/common/numbers/BigDecimal#div\t 1: 0x522d - <unknown>!start:src/modules/Rewards\t 2: 0xef4a - <unknown>!~start\t",
"network": "gnosis",
"chainHeadBlock": "34909325",
"latestBlock": "21586870"
},
{
"ipfsHash": "QmVtNnXse2zWVRsfNGW8SxvipS9SVwC7g9qyQMHvUQbqAP",
"fatalError": "internal constraint violated: duplicate entity FeeRecord[0xf6dc7014f8ae2e55f87d886206d2219e59a0d47f_0xae78736cd615f374d3085123a210448e74fc6393] in result set, block = 17694794",
"network": "mainnet",
"chainHeadBlock": "20282368",
"latestBlock": "17694795"
},
{
"ipfsHash": "QmWFi6uciaQPQmo1xRrahNwfiWLGeN9GTDJMuCfV8iVXSe",
"fatalError": "failed to process trigger: Failed to process substreams block: Entity PositionSnapshot[736502#20100135]: missing value for non-nullable field `owner`",
"network": "mainnet",
"chainHeadBlock": "20282368",
"latestBlock": "20100134"
},
{
"ipfsHash": "QmPfSbPF6PcT2ETAXMoFCPcz2CaKysRBXcUecHPySK66rk",
"fatalError": "failed to process trigger: block #198186126 (0xd01a…a2cd), transaction ba2236724306f75a1228af269a4ef5b6c21e2756f17a1fffdbb2f66a58e1883a: Subgraph panicked with message: called `Result::unwrap()` on an `Err` value: MemoryAccessError { _private: () }",
"network": "arbitrum-one",
"chainHeadBlock": "231038876",
"latestBlock": "198186125"
}
]
IPFS hash
No response
Subgraph name or link to explorer
No response
Some information to help us out
- Tick this box if this bug is caused by a regression found in the latest release.
- Tick this box if this bug is specific to the hosted service.
- I have searched the issue tracker to make sure this issue is not a duplicate.
OS information
None
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named in the report. Start by locating the logic that assigns the deterministic field for subgraph failures, then reproduce it with the listed missing-field, division-by-zero, duplicate-entity, and WASM errors; done means deterministic failures are no longer reported as non-deterministic.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend-api-design, blockchain
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100