bitcoind hangs on RPC shutdown in wine #4156

issue laanwj opened this issue on May 9, 2014
  1. laanwj commented at 6:10 AM on May 9, 2014: member

    I don't quite understand why yet. It keeps hanging forever on the line in StopRPCThreads that deletes the rpc_io_service:

    delete rpc_io_service; rpc_io_service = NULL;
    

    So it never properly shuts down. The curious thing is that it gets through all the (assumingly) more time consuming steps before it like joining all the working threads. Removing the line fixes shutdown (but leaks a pointer, so isn't a workable solution).

    Haven't tested in Windows proper yet, but usually I've found that Wine is very good at detecting subtle bugs so I am filing this. This happens in the gitian-built executable.

  2. laanwj added the label Windows on May 9, 2014
  3. laanwj commented at 8:01 AM on May 9, 2014: member

    Ok, the problem seems to be that the boost::asio::io_service destructor waits for the acceptors to finish (on windows, with this version of boost). This never happens as they are not cancelled. Same for the timers, I think.

  4. laanwj referenced this in commit 355746f2a0 on May 9, 2014
  5. laanwj commented at 8:04 AM on May 9, 2014: member

    Added a commit to #4142 to solve this.

  6. laanwj added the label Bug on May 9, 2014
  7. laanwj added the label Priority Medium on May 9, 2014
  8. laanwj added the label RPC on May 9, 2014
  9. laanwj referenced this in commit cef44941e7 on May 12, 2014
  10. laanwj closed this on May 12, 2014

  11. laanwj referenced this in commit 9f535d4104 on May 12, 2014
  12. MathyV referenced this in commit fb6a49ba83 on Nov 3, 2014
  13. reddink referenced this in commit bb1a9f6cf9 on May 27, 2020
  14. MarcoFalke locked this on Sep 8, 2021
Contributors

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-04-13 15:15 UTC

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