ERROR from webrtc-transport-pion Failed to accept data channel
Version
- https://github.com/ipfs/kubo/pull/10955 @ 1324b78
Config
default
Description
From manual staging test:
Nov 08 12:21:44 kubo-staging-us-east-02 ipfs[1779293]: 2025-11-08T12:21:44.976Z ERROR webrtc-transport-pion webrtc/logger.go:45 Failed to accept data channel: failed to send ChannelOpen ACK: sending payload data in non-established state: state=Closed
This could be similar noise as one we fixed for websockets in https://github.com/ipfs/kubo/issues/11033
Another one (on my private node):
2025-11-08T17:25:17.147+0100 ERROR webrtc-transport-pion webrtc/logger.go:45 Failed to accept data channel: DataChannel message Payload Protocol Identifier is value we can't handle WebRTC Binary
Triage: Need to reproduce and determine if it is a real issue or noise.
This is yet another bug introduced in go-libp2p 0.44 - fix in https://github.com/libp2p/go-libp2p/pull/3426
For reference, this is cosmetic operational noise that was already fixed by @sukunrt but go-libp2p 0.44 reverted his fix. Without fix "only" (but unfortunately scary) side-effect are ERROR logs every few hours:
-
2025-11-11T17:23:41.841+0100 ERROR webrtc-transport-pion webrtc/logger.go:45 Failed to accept data channel: failed to send ChannelOpen ACK: sending payload data in non-established state: state=Closed -
2025-11-11T21:02:53.474+0100 ERROR webrtc-transport-pion webrtc/logger.go:45 Failed to accept data channel: failed to send ChannelOpen ACK: sending payload data in non-established state: state=Closed
Does not occur often, but sometimes:
-
2025-11-19T10:54:43.509+0100 ERROR webrtc-transport-pion webrtc/logger.go:45 Failed to accept data channel: DataChannel message Payload Protocol Identifier is value we can't handle WebRTC Binary -
2025-11-19T11:08:16.923+0100 ERROR webrtc-transport-pion webrtc/logger.go:45 Failed to accept data channel: failed to send ChannelOpen ACK: sending payload data in non-established state: state=Closed -
2025-11-19T16:41:36.947+0100 ERROR webrtc-transport-pion webrtc/logger.go:45 Failed to accept data channel: failed to send ChannelOpen ACK: sending payload data in non-established state: state=Closed
My fix from https://github.com/libp2p/go-libp2p/pull/3426 got merged, meaning this issue is only waiting for Kubo to switch to go-libp2p v0.46 (likely will happen in 0.40)