#1560·fiber

Funds stuck in AwaitingChannelReady for hours — cannot abandon/shutdown; restart only adds failure detail (reproduced twice with same peer)

Author: chukwuma619Created Jul 15, 2026Updated Jul 15, 2026

Summary

On fnn 0.8.1, a channel can stay in:

AwaitingChannelReady(OUR_CHANNEL_READY)

for hours after funding is confirmed on-chain, never transitioning to ChannelReady.

While stuck:

  • abandon_channel is rejected (“please shutdown the channel instead”)
  • shutdown_channel (cooperative) is rejected (invalid state)
  • shutdown_channel(force=true) is rejected (invalid state)

I then restarted the node hoping it would recover. After restart, the channel was still stuck, and list_channels started showing:

failure_detail: "Peer disconnected during channel opening"

So that failure string is a post-restart symptom, not the original reason the open got stuck. Before restart, the channel was already stuck in AwaitingChannelReady with no recovery path.

Related: #1545, #606, #996.

Environment

  • Network: CKB testnet
  • fnn: 0.8.1

Timeline (current incident)

  1. Opened a public channel with peer 03bf42…7b10 (I already had 3 Ready channels with this peer).
  2. Funding confirmed on-chain.
  3. Local state stayed in AwaitingChannelReady(OUR_CHANNEL_READY) and did not become Ready after waiting ~2+ hours.
  4. Tried recovery RPCs while still in that state — all failed (see below).
  5. Restarted fnn to see if state would heal.
  6. After restart: still stuck in AwaitingChannelReady; now also shows failure_detail: "Peer disconnected during channel opening".
  7. Peer is currently connected again (list_peers); reconnect + retry shutdown still fails.

Pattern I observed (hypothesis)

Same remote peer both times:

  • Peer pubkey: 03bf4208b9ada97a5589ef9924819fe511b2a5e9ed3812df21a79435d39a147b10
  • Peer multiaddr: /ip4/49.13.159.45/tcp/8228/p2p/Qmc9gzZB7aHYrVNxpakaQ8mLFchnnkesLhDfPPJEHQNbPt

In my cases this correlates with ~100k CKB aggregate capacity already open / opening with this peer (hypothesis only):

  1. First wallet — large opens stuck (~100k + ~50k).
  2. Second wallet — opened smaller channels bit-by-bit. First three became ChannelReady (~20k + ~30k + ~50k ≈ 99,703 CKB). A fourth ~50k channel then stuck the same way.

This is not “first channel with peer fails”; Ready channels with the peer already existed when the latest one got stuck.

Incident A — first wallet (earlier)

My node pubkey
03ea6d62f0dab7a9a4e1162f7f7a19b78db9d908468728ae5e2407713cbb09f0e6

Announced address
/ip4/197.211.63.22/tcp/8228/p2p/QmPWAqZUFxYwjH3b9VKT1P9Nh6cQMCbvqHUBxzqVjxkD8i

Stuck channels (fnn 0.8.1). Funding confirmed; both AwaitingChannelReady with OUR_CHANNEL_READY|CHANNEL_READY. After restart attempts, failure detail was also Peer disconnected during channel opening.

  1. ~100k CKB

    • channel_id: 0x7cc479b706ce66e322c1c2dcacc2ca278e93d56c43eb31162a14046057457418
    • funding tx / outpoint: 0x852fac88c14602d51256511ecf7603706ac75fbb7f7219fab25377bc943f1dc1:0
    • created: 2026-07-10 01:30:15 UTC
  2. ~50k CKB

    • channel_id: 0x39c4c7e014f77cccc837ebc1c52c4e3842b1bdd8df07d4154933da48224dbe6c
    • funding tx / outpoint: 0x92a701c9c394f69a2f69305c7dd96858f7957e8a2dbc5411e628764c44ae67ae:0
    • created: 2026-07-10 01:41:06 UTC

I then created a new wallet / new Fiber node and tried again with smaller opens.

Incident B — current wallet (reproduced)

My node pubkey
0340bd6865d097df1b8b9c423d37aadc215d4c0e582184f0ddeb71ff3cd8a875e5

Working channels with the same peer (all ChannelReady)

Capacity channel_id created (UTC)
19901 CKB 0x87dd4362ad8ee82d984d11c08df72e1c13e1667e450491c7a42a8d3f1855d334 2026-07-10 12:29:18
29901 CKB 0x67e32c9112afad1c21650846c5c5ae2b5012144f271b55017db61fa8e2a978b7 2026-07-10 12:30:45
49901 CKB 0x2b0333d6b9179a69aeaca576a7f847db71589fdde2fb8f80801aa9cbfca2c49c 2026-07-10 12:33:05

Ready total with peer ≈ 99,703 CKB.

Stuck channel

  • channel_id: 0x897620a461ba4b80e6c3fa6ae4f30f909d9ea765737fc14a627eed2519404026
  • state: AwaitingChannelReady / flags OUR_CHANNEL_READY|CHANNEL_READY
  • failure (after node restart): Peer disconnected during channel opening
  • local balance / capacity: 49901 CKB (remote 0)
  • funding outpoint: 0xe66cc8817dad46a3af920192cf17eadb9211fa4d49c849815d6895838bde6d70:0
  • funding tx (confirmed): https://testnet.explorer.nervos.org/transaction/0xe66cc8817dad46a3af920192cf17eadb9211fa4d49c849815d6895838bde6d70
  • latest commitment tx hash: 0x09e2353ea3909e29637bc6d2b4aacb247d6a0e55f17f89f05e7fbfe59d905282
  • created: 2026-07-10 12:37:30 UTC
  • is_public: true, is_acceptor: false

RPC errors (while stuck / after restart)

abandon_channel:
Invalid parameter: Channel ... is in state AwaitingChannelReady(AwaitingChannelReadyFlags(OUR_CHANNEL_READY)), cannot be abandoned, please shutdown the channel instead

shutdown_channel (force=false):
Invalid state: Trying to send shutdown message while in invalid state AwaitingChannelReady(AwaitingChannelReadyFlags(OUR_CHANNEL_READY))

shutdown_channel (force=true):
Invalid state: Handling force shutdown command invalid state AwaitingChannelReady(AwaitingChannelReadyFlags(OUR_CHANNEL_READY))

Impact

  • Funding is confirmed on-chain.
  • Waiting hours does not complete ChannelReady.
  • Shutdown/abandon are both blocked.
  • Node restart does not recover funds; it only surfaces a disconnect failure detail.
  • Result: CKB locked with no supported retrieval path from portable/production 0.8.1 RPC.

Happy to provide more logs if useful.