bitcoin/bitcoin — pull request #3501 by wtogami (2014-01-09 14:01:10+00:00)
Title: (TESTING-DO-NOT-COMMIT-YET) Upgrade gitian win32 to boost-1.55.

Fixes rare and difficult to trigger failure where all network activity just stops.

Litecoin 0.8.6.1 upgraded the gitian win32 environment to precise and boost-1.54 in exactly the same manner as Bitcoin master. After Litecoin 0.8.6.1 was released we began to hear complaints from Windows users about block sync getting stuck forever. When networking stops the GUI remains responsive and the debug.log has a few lines like this before stopping entirely.

```2013-12-28 12:40:46 socket send error 10054
2013-12-28 12:40:46 disconnecting node 125.86.21.116:1985```

Several hours after the point where it fails, ```netstat -a``` on Windows reports a great many connections stuck in the CLOSED_WAIT state.

https://litecointalk.org/index.php?topic=12526.0
Testing by several members of the Litecoin community found that downgrading to boost-1.50 seemed to fix the issue. We also tried boost-1.55 which also seems to fix the issue.

https://svn.boost.org/trac/boost/ticket/8933
This upstream ticket against boost-1.54 might be related. This is confusing though as Bitcoin does not use boost ASIO except for RPC which is disabled by default on the -qt builds. Whatever the issue, at this point it seems that boost-1.55 solves the issue, or at least none of the Litecoin testers of the boost-1.55 builds have reported the permanent network failure condition that occurs with boost-1.54.

http://download1.rpmfusion.org/~warren/bitcoin-win32-network-test/
This is a gitian win32 build of bitcoin-qt.exe at 13e99e463d4aa0bd2b2892010ca8c7007c40c242. I personally reproduced a similar failure only a few thousand blocks into a fresh sync on Windows 7 x64. Unlike the 0.8.x + boost-1.54 client it did not have the 10054 errors in debug.log. Instead the log just stopped. GUI remained responsive. Subsequent ```addnode ADDRESS onetry``` appeared to add an entry to ```getpeerinfo``` but it was clearly defective.

![defective-addnode](https://f.cloud.github.com/assets/93665/1878101/520a531c-7935-11e3-8ff8-4300fe3e59ab.jpg)

Note that it failed to read the subver and it received zero bytes from this peer.