[RPC] Bug: RPC Batching does not work with more than 1 multi wallet #11257

issue NicolasDorier opened this issue on September 6, 2017
  1. NicolasDorier commented at 2:08 PM on September 6, 2017: contributor

    UPDATE:

    Turns out the issue was caused not by testnet, but by having 2 wallets @ryanofsky found out !


    Step to reproduce:

    This work on regtest just fine:

    bitcoind -wallet=test -regtest -rpcpassword=abc -rpcuser=abc
    

    Try to make a batch RPC request to /wallet/test:

    [{"jsonrpc":"1.0","id":1,"method":"getbalance","params":["*"]}]
    

    You get the expected result.

    However; same things with testnet:

    bitcoind -wallet=test -testnet -rpcpassword=abc -rpcuser=abc
    

    Result:

    "Wallet file not specified (must request wallet RPC through /wallet/<filename> uri-path)."

    This problem is limited to batched RPC request on testnet as just making the exact same request without the '[' and ']' works fine. It works also fine on regtest, which is crazy. I will look into later.

  2. NicolasDorier renamed this:
    RPC Batching does not work with multi wallet on Testnet
    [RPC] Bug: RPC Batching does not work with multi wallet on Testnet
    on Sep 6, 2017
  3. sipa commented at 3:06 PM on September 6, 2017: member

    Very strange! Does it work if you use the wallet URL?

  4. ryanofsky commented at 8:34 PM on September 6, 2017: contributor

    Seems to be a bug in JSONRPCExecOne. It is creating a request object without assigning a url.

  5. sipa commented at 8:54 PM on September 6, 2017: member

    Is this a 0.15.0 issue?

  6. fanquake added the label RPC/REST/ZMQ on Sep 6, 2017
  7. ryanofsky commented at 2:07 PM on September 7, 2017: contributor

    Is this a 0.15.0 issue?

    Actually, I'm not sure the bug I see in JSONRPCExecOne is the same one Nicolas is reporting. The bug in JSONRPCExecOne (which is only called for batch requests and not single requests) is that request uri field is not filled, so if more than one wallet file is loaded, "Wallet file not specified" errors will trigger when a wallet RPC is called. This is a bug in 0.15, but not a regression because previous releases did not support loading multiple wallets.

    Nicolas's issue is more confusing because despite multiwallet being mentioned in issue title, steps to reproduce only show bitcoind being started with a single -wallet argument. Also, strangely the bug happens with testnet but not regtest.

  8. ryanofsky referenced this in commit 990d24a96d on Sep 7, 2017
  9. ryanofsky referenced this in commit b7205b88f0 on Sep 7, 2017
  10. ryanofsky cross-referenced this on Sep 7, 2017 from issue Fix uninitialized URI in batch RPC requests by ryanofsky
  11. ryanofsky referenced this in commit 379bd795e0 on Sep 7, 2017
  12. ryanofsky referenced this in commit c0c652ccc2 on Sep 7, 2017
  13. NicolasDorier commented at 6:03 AM on September 10, 2017: contributor

    Sorry I was in holidays @ryanofsky . This bug came into a "production" testnet. I confirm that my bitcoind has two wallets, and did not tried to reproduce on a blank new bitcoind, as I have none other with testnet under the hand for now. Sorry for the misleading description. :(

  14. NicolasDorier renamed this:
    [RPC] Bug: RPC Batching does not work with multi wallet on Testnet
    [RPC] Bug: RPC Batching does not work with more than 1 multi wallet
    on Sep 10, 2017
  15. NicolasDorier commented at 6:29 AM on September 10, 2017: contributor

    @sipa yes, 0.15.0 issue. Hopefully ryanosky's fix can make it in time. Testing it now.

  16. NicolasDorier commented at 7:17 AM on September 10, 2017: contributor
  17. NicolasDorier closed this on Sep 10, 2017

  18. sipa reopened this on Sep 10, 2017

  19. sipa commented at 7:27 AM on September 10, 2017: member

    Please don't close issues until the fix is actually merged.

  20. ryanofsky referenced this in commit edafc718ad on Oct 3, 2017
  21. ryanofsky referenced this in commit 1027a14f8b on Oct 3, 2017
  22. ryanofsky referenced this in commit 236a4378a3 on Oct 4, 2017
  23. ryanofsky referenced this in commit 52174747fd on Oct 4, 2017
  24. ryanofsky referenced this in commit 4526d21e52 on Oct 4, 2017
  25. laanwj closed this on Oct 12, 2017

  26. laanwj referenced this in commit f74459dba6 on Oct 12, 2017
  27. MarcoFalke referenced this in commit a7db0fd4ab on Nov 2, 2017
  28. MarcoFalke referenced this in commit 492093115e on Nov 2, 2017
  29. MarcoFalke referenced this in commit 70268454e8 on Nov 8, 2017
  30. MarcoFalke referenced this in commit 3a6cdd459c on Nov 8, 2017
  31. deadalnix referenced this in commit 6ac60ac90c on Mar 10, 2018
  32. HashUnlimited referenced this in commit fe94af2c15 on Mar 12, 2018
  33. HashUnlimited referenced this in commit 7bd5ec072d on Mar 12, 2018
  34. bambache referenced this in commit 162c35bbb0 on Jan 11, 2019
  35. bambache referenced this in commit d89e6a9825 on Jan 11, 2019
  36. codablock referenced this in commit 6a10b36925 on Sep 26, 2019
  37. codablock referenced this in commit d7119e6487 on Sep 30, 2019
  38. charlesrocket referenced this in commit 26ddafdd1e on Dec 16, 2019
  39. barrystyle referenced this in commit 5970217cb6 on Jan 22, 2020
  40. Overtorment cross-referenced this on Jul 30, 2020 from issue myNodeBTC 0.2.12 Has Issue with LndHub by HamishMacEwan
  41. bitcoin locked this on Sep 8, 2021

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-20 06:55 UTC