Starting bitcoin-qt with -nowallet and then opening a wallet does not show the wallet #15453

issue achow101 openend this issue on February 20, 2019
  1. achow101 commented at 10:26 pm on February 20, 2019: member
    When starting bitcoin-qt with -nowallet to explicitly not load any wallets initially, attempting to load a wallet using the Open Wallet menu option results in the wallet being loaded but the GUI does not change. The wallet is reachable via the RPC interface but the GUI still says that no wallets are loaded.
  2. promag commented at 11:38 pm on February 20, 2019: member
    Should tag with 0.18.
  3. fanquake added this to the milestone 0.18.0 on Feb 20, 2019
  4. fanquake added the label GUI on Feb 20, 2019
  5. fanquake added the label Wallet on Feb 20, 2019
  6. promag commented at 11:52 pm on February 20, 2019: member
    @achow101 I fail to reproduce, mind sharing more details, Qt version etc.
  7. jnewbery commented at 0:18 am on February 21, 2019: member
    I tested this exact scenario in the PR that added the “open wallet” menu and it worked for me.
  8. promag commented at 0:31 am on February 21, 2019: member
    Also tested with #15450 and still works.
  9. achow101 commented at 0:33 am on February 21, 2019: member
    Bitcoin Core version v0.17.99.0-f9775a8655 (64-bit) Qt version 5.7.1 Using Debian 9
  10. achow101 commented at 1:18 am on February 21, 2019: member
    I built it using the depends system and this bug is not present. It seems that the issue has to do with Qt 5.7.1.
  11. fanquake commented at 4:29 am on February 21, 2019: member

    Can confirm this issue. I compiled master inside a new Debian 9.8 vm (qt 5.7.1), a new wallet opened with the Open wallet menu doesn’t display in the GUI.

    debian 9 8

  12. promag commented at 0:15 am on February 22, 2019: member
    @fanquake mind testing with same fix of #15455?
  13. achow101 commented at 0:57 am on February 22, 2019: member
    I’ve tried with that patch but it does not fix this.
  14. jonasschnelli commented at 6:34 am on February 22, 2019: contributor
    I was not able to reproduce this, not on OSX self compiled master, not on Ubuntu 18.04.1 with a nightly build (gitian build of master) nor with self compiled master on Ubuntu (Qt 5.9.5). Either a timing issue or a Qt upstream difference.
  15. Sjors commented at 9:33 am on February 23, 2019: member
    My guess is that this is a QT 5.7 issue. @achow101 does it go away when you use the depends 5.9 version?
  16. promag commented at 9:35 am on February 23, 2019: member
    @Sjors yes, in IRC he said it works.
  17. promag commented at 9:36 am on February 23, 2019: member
    I’m working on a fix.
  18. fanquake commented at 10:16 am on March 2, 2019: member
    @promag mentioned (line 197) that #15478 is a potential fix for this issue.
  19. fanquake removed this from the milestone 0.18.0 on Mar 15, 2019
  20. fanquake added this to the milestone 0.18.1 on Mar 15, 2019
  21. fanquake commented at 6:24 am on March 15, 2019: member
    Moving this to the 0.18.1 milestone.
  22. promag commented at 11:51 am on May 28, 2019: member
    @fanquake care to test with #15478?
  23. jonasschnelli added the label Bug on May 29, 2019
  24. fanquake commented at 2:53 am on July 4, 2019: member
    @promag is #16261 a potential fix for this?
  25. promag commented at 1:08 pm on July 4, 2019: member
    @fanquake yes I think so.
  26. hebasto commented at 4:45 pm on July 6, 2019: member

    Can confirm this bug on Debian 9.9 (Qt 5.7.1, master 8c69fae94410f54bad13be0f34d54370fddbf4b3).

    Debugging info:

     0hebasto@debian:~/bitcoin$ QT_FATAL_WARNINGS=1 lldb ./src/qt/bitcoin-qt -- -regtest -nowallet -debug=qt
     1(lldb) target create "./src/qt/bitcoin-qt"
     2Current executable set to './src/qt/bitcoin-qt' (x86_64).
     3(lldb) settings set -- target.run-args  "-regtest" "-nowallet" "-debug=qt"
     4(lldb) run
     5Process 890 launched: './src/qt/bitcoin-qt' (x86_64)
     6Process 890 stopped
     7* thread [#17](/bitcoin-bitcoin/17/): tid = 912, 0x00007ffff400bfff libc.so.6`gsignal + 207, name = 'QThread', stop reason = signal SIGABRT
     8    frame [#0](/bitcoin-bitcoin/0/): 0x00007ffff400bfff libc.so.6`gsignal + 207
     9libc.so.6`gsignal:
    10->  0x7ffff400bfff <+207>: addq   $0x88, %rsp
    11    0x7ffff400c006 <+214>: movl   %r8d, %eax
    12    0x7ffff400c009 <+217>: popq   %rbx
    13    0x7ffff400c00a <+218>: retq   
    14(lldb) bt
    15error: bitcoin-qt Parsing a die that is being parsed die: 0x0112da0e: DW_TAG_subprogram getOrCreateWallet
    16error: bitcoin-qt 0x010f864e: DW_TAG_member '_M_local_buf' refers to type 0x011168a2 which extends beyond the bounds of 0x010f8646
    17* thread [#17](/bitcoin-bitcoin/17/): tid = 912, 0x00007ffff400bfff libc.so.6`gsignal + 207, name = 'QThread', stop reason = signal SIGABRT
    18  * frame [#0](/bitcoin-bitcoin/0/): 0x00007ffff400bfff libc.so.6`gsignal + 207
    19    frame [#1](/bitcoin-bitcoin/1/): 0x00007ffff400d42a libc.so.6`abort + 362
    20    frame [#2](/bitcoin-bitcoin/2/): 0x00007ffff632b895 libQt5Core.so.5`QMessageLogger::warning(char const*, ...) const + 341
    21    frame [#3](/bitcoin-bitcoin/3/): 0x00007ffff6520179 libQt5Core.so.5`QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const + 2569
    22    frame [#4](/bitcoin-bitcoin/4/): 0x00007ffff65258aa libQt5Core.so.5`QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) + 2410
    23    frame [#5](/bitcoin-bitcoin/5/): 0x000055555565abb8 bitcoin-qt`WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> >) [inlined] QMetaObject::invokeMethod(val9=<unavailable>, val8=<unavailable>, val7=<unavailable>, val6=<unavailable>, val5=<unavailable>, val4=<unavailable>, val3=<unavailable>, val2=<unavailable>, val1=<unavailable>, val0=<unavailable>, type=QueuedConnection, member="", obj=0x00005555571f1aa0) + 63 at qobjectdefs.h:461
    24    frame [#6](/bitcoin-bitcoin/6/): 0x000055555565ab79 bitcoin-qt`WalletController::getOrCreateWallet(this=0x00005555571f1aa0, wallet=unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> > @ 0x00007fffb1ff8ae0) + 809 at walletcontroller.cpp:124
    25    frame [#7](/bitcoin-bitcoin/7/): 0x000055555565ad2e bitcoin-qt`std::_Function_handler<void(std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> >), WalletController::WalletController(interfaces::Node&, const PlatformStyle*, OptionsModel*, QObject*)::<lambda(std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> >)> >::_M_invoke(const std::_Any_data &const, std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> > &&const) + 12 at walletcontroller.cpp:25
    

    debug.log:

    0...
    12019-07-06T12:34:51Z GUI: QMetaMethod::invoke: Unable to handle unregistered datatype 'WalletModel*'
    

    It seems the problem is here: https://github.com/bitcoin/bitcoin/blob/8c69fae94410f54bad13be0f34d54370fddbf4b3/src/qt/walletcontroller.cpp#L118-L125 @fanquake I failed to build the Bitcoin Core with the downloaded Qt 5.7.1 on bionic. Could you give me a piece of advice?

  27. promag commented at 2:46 pm on July 13, 2019: member
    Fixed by #16348?
  28. hebasto commented at 2:58 pm on July 13, 2019: member

    @promag

    Fixed by #16348?

    Yes.

  29. MarcoFalke closed this on Jul 13, 2019

  30. pull[bot] referenced this in commit 9059a6f248 on Aug 12, 2019
  31. sidhujag referenced this in commit 4bea2828a2 on Aug 13, 2019
  32. Munkybooty referenced this in commit 158061f4f2 on Nov 25, 2021
  33. Munkybooty referenced this in commit eedd48926c on Nov 30, 2021
  34. DrahtBot locked this on Dec 16, 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: 2024-12-18 15:12 UTC

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