div by zero
I'm not sure if this is a sign of a corrupted database or if this is a real bug:
Running indexer...
Arguments:
Running indexer for existing blocks and expecting new blocks...
Running indexer in the foreground
call btracker_app.main('btracker_app', 1000000000);
NOTICE: Last block processed by application: 78898157
NOTICE: Entering application main loop...
NOTICE: HAF instance is ready. Exiting wait loop...
NOTICE: Attempting to process block range: <78898159,78898159>
NOTICE: Processing balances
NOTICE: Processing delegations, rewards, savings, withdraws!!!!!!!!!!!!!!!!!!!
ERROR: division by zero
CONTEXT: SQL statement "WITH claim_reward_balance_operation AS MATERIALIZED
(
SELECT
(SELECT id FROM hive.btracker_app_accounts_view WHERE name = (body)->'value'->>'account') AS _account,
((body)->'value'->'reward_hive'->>'amount')::BIGINT AS _hive_payout,
((body)->'value'->'reward_hbd'->>'amount')::BIGINT AS _hbd_payout,
((body)->'value'->'reward_vests'->>'amount')::numeric AS _vesting_payout
)
INSERT INTO btracker_app.account_rewards
(
account,
nai,
balance,
source_op,
source_op_block
)
SELECT
_account,
13,
_hbd_payout,
_source_op,
_source_op_block
FROM claim_reward_balance_operation
WHERE _hbd_payout > 0
UNION ALL
SELECT
_account,
21,
_hive_payout,
_source_op,
_source_op_block
FROM claim_reward_balance_operation
WHERE _hive_payout > 0
UNION ALL
SELECT
_account,
37,
_vesting_payout,
_source_op,
_source_op_block
FROM claim_reward_balance_operation
WHERE _vesting_payout > 0
UNION ALL
SELECT
crbo._account,
38,
(SELECT ROUND(caar.balance * crbo._vesting_payout / car.balance, 3)
FROM btracker_app.account_rewards car
JOIN btracker_app.account_rewards caar ON caar.nai = 38 AND caar.account = car.account
WHERE car.nai = 37 and car.account = crbo._account),
_source_op,
_source_op_block
FROM claim_reward_balance_operation crbo
WHERE crbo._vesting_payout > 0
ON CONFLICT ON CONSTRAINT pk_account_rewards
DO UPDATE SET
balance = btracker_app.account_rewards.balance - EXCLUDED.balance,
source_op = EXCLUDED.source_op,
source_op_block = EXCLUDED.source_op_block"
PL/pgSQL function btracker_app.process_claim_reward_balance_operation(jsonb,bigint,integer) line 3 at SQL statement
SQL statement "SELECT btracker_app.process_claim_reward_balance_operation(___balance_change.body, ___balance_change.source_op, ___balance_change.source_op_block)"
PL/pgSQL function btracker_app.process_block_range_data_c(integer,integer,integer) line 111 at PERFORM
SQL statement "SELECT btracker_app.process_block_range_data_c(_block, _block)"
PL/pgSQL function btracker_app.processblock(integer) line 3 at PERFORM
SQL statement "CALL btracker_app.processBlock(__next_block_range.last_block)"
PL/pgSQL function btracker_app.main(character varying,integer) line 40 at CALL