Skip to content

Node Hangs on Cold Start with External Signer + Batch Poster #4208

@Bidon15

Description

@Bidon15

Fresh node startup hangs indefinitely when batch-poster.enable=true with external signer configuration. The hang occurs after TLS certificate loading but before HTTP server starts.

Environment

  • Nitro Version: main 1f915ab
  • Parent Chain: Sepolia
  • Configuration: External signer for batch poster with mTLS client certificates

Configuration

--node.batch-poster.enable=true
--node.batch-poster.data-poster.external-signer.url=<url>
--node.batch-poster.data-poster.external-signer.address=<address>
--node.batch-poster.data-poster.external-signer.method=eth_signTransaction
--node.batch-poster.data-poster.external-signer.client-cert=/certs/client.crt
--node.batch-poster.data-poster.external-signer.client-private-key=/certs/client.key
--node.batch-poster.data-poster.external-signer.root-ca=/certs/ca.crt
--node.staker.enable=false

Steps to Reproduce

  1. Deploy a new Orbit chain
  2. Start node with above configuration and empty data directory
  3. Node hangs indefinitely

Observed Behavior

Last logs before hang:

INFO [...] DA providers configured                  totalWriters=1
INFO [...] Client certificate for external signer is enabled

Node never reaches:

INFO [...] HTTP server started endpoint=[::]:8547

Key Observations

  1. Cold start hangs: Fresh data directory + batch-poster + external-signer = hang
  2. Warm start works: If node is first started with batch-poster.enable=false, then restarted with batch-poster.enable=true, it works
  3. Certificate logs appear twice: Even with staker disabled, the "Client certificate for external signer is enabled" message appears twice before the hang

Workaround

# 1. Start with batch-poster disabled
--node.batch-poster.enable=false

# 2. Wait for HTTP server to start

# 3. Restart with batch-poster enabled
--node.batch-poster.enable=true

Node starts successfully after this sequence.

Notes

  • External signer is reachable (verified independently)
  • Alt-DA is used
  • Certificates are valid (log message confirms successful loading)
  • Issue only occurs on fresh/cold start
  • Once database is initialized, subsequent restarts with batch-poster enabled work fine

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions