Some issues with IPv6

root@hive7B12-04:/# ./subspace-node-ubuntu-x86_64-v2-mainnet-2024-nov-28 run --chain mainnet --rpc-methods unsafe --rpc-listen-on 0.0.0.0:9944 --rpc-cors all --rpc-max-connections 9999 --base-path "/subnode" --n
ame "subspaceli" --sync snap  --prometheus-listen-on 0.0.0.0:9191 --farmer | tee -a "/subnode/node.log"                                                                                                            
2024-12-07T06:17:35.121453Z  INFO subspace_node::commands::run: Subspace
2024-12-07T06:17:35.121487Z  INFO subspace_node::commands::run: ✌️  version 0.1.0-16118dab78eb73bbc9601edae708ce7702f2155c                                                                                         
2024-12-07T06:17:35.121490Z  INFO subspace_node::commands::run: ❤️  by Subspace Labs <https://subspace.network>                                                                                                    
2024-12-07T06:17:35.121492Z  INFO subspace_node::commands::run: � Chain specification: Autonomys Mainnet
2024-12-07T06:17:35.121494Z  INFO subspace_node::commands::run: �  Node name: subspaceli
2024-12-07T06:17:35.121498Z  INFO subspace_node::commands::run: � Node path: /subnode
2024-12-07T06:17:36.546867Z  INFO Consensus: sc_service::client::client: � Initializing Genesis block/state (state: 0xfa78…2d69, header-hash: 0x6645…21bd)    
2024-12-07T06:17:37.271962Z  INFO Consensus: subspace_networking::constructor: DSN instance configured. allow_non_global_addresses_in_dht=false peer_id=12D3KooWHHiMBzs6z5MnyMMtB3HzJCCQhDHzejSvMqrD62572PKB protoc
ol_version=/subspace/2/66455a580aabff303720aa83adbe6c44502922251c03ba73686d5245da9e21bd
2024-12-07T06:17:37.272365Z  INFO Consensus: libp2p_swarm: local_peer_id=12D3KooWHHiMBzs6z5MnyMMtB3HzJCCQhDHzejSvMqrD62572PKB
2024-12-07T06:17:37.275113Z  INFO Consensus: subspace_networking::constructor: Failed to listen on /ip6/::/tcp/30433 (), falling back to random port
2024-12-07T06:17:37.277545Z ERROR Consensus: sc_service::task_manager: Essential task `txpool-background` failed. Shutting down service.    
2024-12-07T06:17:37.277571Z ERROR Consensus: sc_service::task_manager: Essential task `basic-block-import-worker` failed. Shutting down service.    
Error: SubstrateService(Other("Failed to build a full subspace node 3: SubspaceDsn(CreationError(TransportError(Other(Custom { kind: Other, error: Other(Right(Custom { kind: Other, error: Transport(Custom { kind
: Other, error: Other(Left(Left(Os { code: 97, kind: Uncategorized, message: \"Address family not supported by protocol\" }))) }) })) }))))"))

The issue occurs for some users, and after investigation, adding the following startup parameter resolves the problem:
–listen-on /ip4/0.0.0.0/tcp/30333

What is the underlying principle of this solution?

This likely means that they somehow disabled IPv6 support globally and because software listens on both IPv4 and IPv6 by default, it stops working.

When you specify listen address explicitly, it overrides defaults (rather that adding on top), meaning software no longer tries to listen on IPv6.

I’m curious in what conditions users have IPv6 disabled and how common is it.

This situation is probably not very common. They are all using the HiveOS operating system. I think the issue might be related to HiveOS itself, as it may not have IPv6 enabled by default. HiveOS is generally used by large cryptocurrency mining farms, like those with hundreds of machines, as it makes management easier. For home users, even if the ISP doesn’t provide an IPv6 address, I remember they still have a local IPv6 address that starts with “fe”.

Not having public IPv6 address is certainly non-issue here, it is only for IPv6 stack disabled on the OS level for some reason.