RPC broken on some IPv6 machines #1819

issue gavinandresen opened this issue on September 11, 2012
  1. gavinandresen commented at 6:51 PM on September 11, 2012: contributor

    Report from the forums: https://bitcointalk.org/index.php?topic=106236.msg1175793#msg1175793

    09/09/12 23:28:43 ThreadMessageHandler started 09/09/12 23:28:43 ThreadOpenConnections started 09/09/12 23:28:43 trying connection xxxx lastseen=0.0hrs 09/09/12 23:28:43 ThreadOpenAddedConnections started 09/09/12 23:28:43 ThreadOpenAddedConnections exited 09/09/12 23:28:43 ThreadSocketHandler started 09/09/12 23:28:43 ThreadIRCSeed exited 09/09/12 23:28:43 Error: An error occurred while setting up the RPC port 8332 for listening: Address family not supported by protocol 09/09/12 23:28:43 ThreadRPCServer exited 09/09/12 23:28:43 Flush(false) 09/09/12 23:28:43 blkindex.dat refcount=0 09/09/12 23:28:43 blkindex.dat checkpoint 09/09/12 23:28:43 connected xxxx 09/09/12 23:28:43 send version message: version 60002, blocks=183152, us=0.0.0.0:0, them=xxxx:8333, peer=xxxx:8333 09/09/12 23:28:43 ThreadSocketHandler exited 09/09/12 23:28:43 ThreadMessageHandler exited

    to make it work, one must comment out or remove the following in bitcoinrpc.cpp:

        acceptor->open(endpoint.protocol());
        acceptor->set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
    
        // Try making the socket dual IPv6/IPv4 (if listening on the "any" address)
        boost::system::error_code v6_only_error;
        acceptor->set_option(boost::asio::ip::v6_only(loopback), v6_only_error);
    
        acceptor->bind(endpoint);
        acceptor->listen(socket_base::max_connections);
    
        RPCListen(acceptor, context, fUseSSL);
        // Cancel outstanding listen-requests for this acceptor when shutting down
        StopRequests.connect(signals2::slot<void ()>(
                    static_cast<void (ip::tcp::acceptor::*)()>(&ip::tcp::acceptor::close), acceptor.get())
                .track(acceptor));
    
        // If dual IPv6/IPv4 failed (or we're opening loopback interfaces only), open IPv4 separately
        if (loopback || v6_only_error)
    

    then it does:

    09/10/12 00:00:22 ThreadMessageHandler started 09/10/12 00:00:22 ThreadOpenConnections started 09/10/12 00:00:22 trying connection xxxx lastseen=0.0hrs 09/10/12 00:00:22 ThreadOpenAddedConnections started 09/10/12 00:00:22 ThreadOpenAddedConnections exited 09/10/12 00:00:22 ThreadSocketHandler started 09/10/12 00:00:22 ThreadIRCSeed exited 09/10/12 00:00:22 connected xxxx 09/10/12 00:00:22 send version message: version 60002, blocks=183152, us=0.0.0.0:0, them=xxxx:8333, peer=xxxx:8333 09/10/12 00:00:22 Added time data, samples 2, offset -1 (+0 minutes) 09/10/12 00:00:22 Flushed 0 addresses to peers.dat 57ms 09/10/12 00:00:22 receive version message: version 60002, blocks=198073, us=xxxx:44586, them=xxxx:8333, peer=xxxx:8333 09/10/12 00:00:23 received block 0000000000000045a7f8 from xxxx:8333 09/10/12 00:00:23 SetBestChain: new best=0000000000000045a7f8 height=183153 work=345239274296880467532 date=06/05/12 18:48:15 09/10/12 00:00:23 ProcessBlock: ACCEPTED

    and so on

  2. gavinandresen referenced this in commit 7cfce5689c on Sep 12, 2012
  3. laanwj commented at 5:44 AM on September 14, 2012: member

    This has been fixed, closing

  4. laanwj closed this on Sep 14, 2012

  5. owlhooter referenced this in commit d6e2aa843c on Oct 10, 2018
  6. KolbyML referenced this in commit b6562473aa on Dec 5, 2020
  7. DrahtBot locked this on Sep 8, 2021
Labels

Milestone
0.7.0


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-02 15:16 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me