Skip to content

Minor zetaclient nil pointer dereference #4412

@renan061

Description

@renan061

This is a "panic" error detected by chaos mode testing.
It doesn't crash the node because the panic gets recovered.

Description
In zetaclient/chains/bitcoin/observer/outbound.go:221 we can try to access a nil pointer p.

To Reproduce
Run chaos mode with ZetacoreClient.GetPendingNonce failure rate set to 100.

2025-11-03T15:31:26Z ERR ../../../go/delivery/zeta-node/zetaclient/chains/bitcoin/observer/outbound.go:216 > error="error calling a zetacore client function (failed to get pending nonces): chaos error: ZetacoreClient.GetPendingNoncesByChain (0 < 5)" chain=18444 module=outbound network=btc
2025-11-03T15:31:26Z INF ../../../go/delivery/zeta-node/pkg/ticker/ticker.go:221 > Ticker stopped module=scheduler task_group=btc:18444 task_name=fetch_utxos task_type=interval_ticker ticker_name=fetch_utxos
2025-11-03T15:31:26Z ERR ../../../go/delivery/zeta-node/pkg/bg/bg.go:97 > Background task failed error="panic during ticker run: runtime error: invalid memory address or nil pointer dereference at /go/delivery/zeta-node/zetaclient/chains/bitcoin/observer/outbound.go:221 +0x98" module=scheduler task_group=btc:18444 task_name=fetch_utxos task_type=interval_ticker worker.name=unknown

Expected Behavior
Function should return after logging the error in line 217.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions