ci_native_asan: UndefinedBehaviorSanitizer: null-pointer-use qt/test/wallettests.cpp:424:25 in #796

issue maflcko openend this issue on February 19, 2024
  1. maflcko commented at 10:54 am on February 19, 2024: contributor

    Not sure if it is reproducible, but the CI task failed locally.

    Commit: baed5edeb611d949982c849461949c645f8998a7

    Log:

      0QDEBUG : AppTests::appTests() requestInitialize : Requesting initialize
      1QDEBUG : AppTests::appTests() Running initialization in thread
      2QDEBUG : AppTests::appTests() initializeResult : Initialization result:  true
      3QINFO  : AppTests::appTests() Platform customization: "other"
      4QWARN  : AppTests::appTests() This plugin does not support propagateSizeHints()
      5QWARN  : AppTests::appTests() This plugin does not support propagateSizeHints()
      6QWARN  : AppTests::appTests() This plugin does not support raise()
      7QWARN  : AppTests::appTests() This plugin does not support raise()
      8QWARN  : AppTests::appTests() This plugin does not support grabbing the keyboard
      9QWARN  : AppTests::appTests() This plugin does not support propagateSizeHints()
     10QDEBUG : AppTests::appTests() requestShutdown : Requesting shutdown
     11QDEBUG : AppTests::appTests() Running Shutdown in thread
     12QDEBUG : AppTests::appTests() Shutdown finished
     13PASS   : AppTests::appTests()
     14PASS   : AppTests::cleanupTestCase()
     15Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 3839ms
     16********* Finished testing of AppTests *********
     17********* Start testing of OptionTests *********
     18Config: Using QtTest library 5.15.10, Qt 5.15.10 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.2.0), ubuntu 24.04
     19PASS   : OptionTests::initTestCase()
     20PASS   : OptionTests::migrateSettings()
     21PASS   : OptionTests::integerGetArgBug()
     22PASS   : OptionTests::parametersInteraction()
     23PASS   : OptionTests::extractFilter()
     24PASS   : OptionTests::cleanupTestCase()
     25Totals: 6 passed, 0 failed, 0 skipped, 0 blacklisted, 206ms
     26********* Finished testing of OptionTests *********
     27********* Start testing of URITests *********
     28Config: Using QtTest library 5.15.10, Qt 5.15.10 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.2.0), ubuntu 24.04
     29PASS   : URITests::initTestCase()
     30PASS   : URITests::uriTests()
     31PASS   : URITests::cleanupTestCase()
     32Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 71ms
     33********* Finished testing of URITests *********
     34********* Start testing of RPCNestedTests *********
     35Config: Using QtTest library 5.15.10, Qt 5.15.10 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.2.0), ubuntu 24.04
     36PASS   : RPCNestedTests::initTestCase()
     37PASS   : RPCNestedTests::rpcNestedTests()
     38PASS   : RPCNestedTests::cleanupTestCase()
     39Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 319ms
     40********* Finished testing of RPCNestedTests *********
     41********* Start testing of WalletTests *********
     42Config: Using QtTest library 5.15.10, Qt 5.15.10 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.2.0), ubuntu 24.04
     43PASS   : WalletTests::initTestCase()
     44QWARN  : WalletTests::walletTests() This plugin does not support propagateSizeHints()
     45QDEBUG : WalletTests::walletTests() "NotifyTransactionChanged: 4114323b3e020fd3f2b58c7bb1bd8a9a981c8c0eb46850a13eff96a49aab254a status= 0"
     46QDEBUG : WalletTests::walletTests() "NotifyTransactionChanged: 20bb379fd28f090730ac2d207b92c6e95c69dfa48a8118577edb20e068c9a65d status= 1"
     47QDEBUG : WalletTests::walletTests() "NotifyTransactionChanged: 7467dc87e862887003b42c5890f2216b4c8e86bccd40600c89fdbb3fc4045748 status= 1"
     48QDEBUG : WalletTests::walletTests() "NotifyAddressBookChanged: mfWxJ45yp2SFn7UciZyNpvDKrzbhyfKrY8  isMine=0 purpose=1 status=0"
     49QWARN  : WalletTests::walletTests() This plugin does not support propagateSizeHints()
     50QDEBUG : WalletTests::walletTests() "TransactionTablePriv::updateWallet: 4114323b3e020fd3f2b58c7bb1bd8a9a981c8c0eb46850a13eff96a49aab254a 0"
     51QDEBUG : WalletTests::walletTests() "    inModel=0 Index=24-24 showTransaction=1 derivedStatus=0"
     52QDEBUG : WalletTests::walletTests() "TransactionTablePriv::updateWallet: 20bb379fd28f090730ac2d207b92c6e95c69dfa48a8118577edb20e068c9a65d 1"
     53QDEBUG : WalletTests::walletTests() "    inModel=1 Index=34-35 showTransaction=1 derivedStatus=1"
     54QDEBUG : WalletTests::walletTests() "TransactionTablePriv::updateWallet: 7467dc87e862887003b42c5890f2216b4c8e86bccd40600c89fdbb3fc4045748 1"
     55QDEBUG : WalletTests::walletTests() "    inModel=1 Index=23-24 showTransaction=1 derivedStatus=1"
     56QDEBUG : WalletTests::walletTests() "NotifyTransactionChanged: a494857ece43133f7df5973a868dddc26005f5f6e6cad22962cb86e1dd1fe7d7 status= 0"
     57QDEBUG : WalletTests::walletTests() "NotifyTransactionChanged: 1d5b20ad1872c813e6fd16b0715d68fa59f782c5912a94b5d5f64e39b50e1865 status= 1"
     58QDEBUG : WalletTests::walletTests() "TransactionTablePriv::updateWallet: a494857ece43133f7df5973a868dddc26005f5f6e6cad22962cb86e1dd1fe7d7 0"
     59QDEBUG : WalletTests::walletTests() "    inModel=0 Index=98-98 showTransaction=1 derivedStatus=0"
     60QDEBUG : WalletTests::walletTests() "TransactionTablePriv::updateWallet: 1d5b20ad1872c813e6fd16b0715d68fa59f782c5912a94b5d5f64e39b50e1865 1"
     61QDEBUG : WalletTests::walletTests() "    inModel=1 Index=37-38 showTransaction=1 derivedStatus=1"
     62QWARN  : WalletTests::walletTests() This plugin does not support propagateSizeHints()
     63QWARN  : WalletTests::walletTests() This plugin does not support propagateSizeHints()
     64QWARN  : WalletTests::walletTests() This plugin does not support propagateSizeHints()
     65QDEBUG : WalletTests::walletTests() "NotifyTransactionChanged: 2678b475926860d80db9c93a8d8cb4fe6b23d0dcb3e9c817b8f899a72d74b648 status= 0"
     66QDEBUG : WalletTests::walletTests() "NotifyTransactionChanged: 1d5b20ad1872c813e6fd16b0715d68fa59f782c5912a94b5d5f64e39b50e1865 status= 1"
     67QDEBUG : WalletTests::walletTests() "NotifyTransactionChanged: a494857ece43133f7df5973a868dddc26005f5f6e6cad22962cb86e1dd1fe7d7 status= 1"
     68QDEBUG : WalletTests::walletTests() "TransactionTablePriv::updateWallet: a494857ece43133f7df5973a868dddc26005f5f6e6cad22962cb86e1dd1fe7d7 1"
     69QDEBUG : WalletTests::walletTests() "    inModel=1 Index=98-99 showTransaction=1 derivedStatus=1"
     70QDEBUG : WalletTests::walletTests() "TransactionTablePriv::updateWallet: 2678b475926860d80db9c93a8d8cb4fe6b23d0dcb3e9c817b8f899a72d74b648 0"
     71QDEBUG : WalletTests::walletTests() "    inModel=0 Index=24-24 showTransaction=1 derivedStatus=0"
     72QDEBUG : WalletTests::walletTests() "TransactionTablePriv::updateWallet: 1d5b20ad1872c813e6fd16b0715d68fa59f782c5912a94b5d5f64e39b50e1865 1"
     73QDEBUG : WalletTests::walletTests() "    inModel=1 Index=38-39 showTransaction=1 derivedStatus=1"
     74QDEBUG : WalletTests::walletTests() "TransactionTablePriv::updateWallet: a494857ece43133f7df5973a868dddc26005f5f6e6cad22962cb86e1dd1fe7d7 1"
     75QDEBUG : WalletTests::walletTests() "    inModel=1 Index=99-100 showTransaction=1 derivedStatus=1"
     76QWARN  : WalletTests::walletTests() This plugin does not support propagateSizeHints()
     77QDEBUG : WalletTests::walletTests() "NotifyAddressBookChanged: bcrt1q7mfls0cy2a2lthq3uvmrrxj5evm3wjjy723zte TEST_LABEL_1 isMine=1 purpose=0 status=0"
     78QWARN  : WalletTests::walletTests() This plugin does not support propagateSizeHints()
     79QWARN  : WalletTests::walletTests() This plugin does not support propagateSizeHints()
     80qt/test/wallettests.cpp:424:25: runtime error: member call on null pointer of type 'QWidget'
     81    [#0](/bitcoin-core-gui/0/) 0x5560f14de140 in (anonymous namespace)::TestGUIWatchOnly(interfaces::Node&, TestChain100Setup&)::$_0::operator()() const src/qt/test/wallettests.cpp:424:25
     82    [#1](/bitcoin-core-gui/1/) 0x5560f14de140 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, (anonymous namespace)::TestGUIWatchOnly(interfaces::Node&, TestChain100Setup&)::$_0>::call((anonymous namespace)::TestGUIWatchOnly(interfaces::Node&, TestChain100Setup&)::$_0&, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146:13
     83    [#2](/bitcoin-core-gui/2/) 0x5560f14de140 in void QtPrivate::Functor<(anonymous namespace)::TestGUIWatchOnly(interfaces::Node&, TestChain100Setup&)::$_0, 0>::call<QtPrivate::List<>, void>((anonymous namespace)::TestGUIWatchOnly(interfaces::Node&, TestChain100Setup&)::$_0&, void*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256:13
     84    [#3](/bitcoin-core-gui/3/) 0x5560f14de140 in QtPrivate::QFunctorSlotObject<(anonymous namespace)::TestGUIWatchOnly(interfaces::Node&, TestChain100Setup&)::$_0, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:443:17
     85    [#4](/bitcoin-core-gui/4/) 0x7fddc6a1522d  (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x31122d) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
     86    [#5](/bitcoin-core-gui/5/) 0x7fddc6a193bc in QTimer::timeout(QTimer::QPrivateSignal) (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x3153bc) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
     87    [#6](/bitcoin-core-gui/6/) 0x7fddc6a085fa in QObject::event(QEvent*) (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x3045fa) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
     88    [#7](/bitcoin-core-gui/7/) 0x7fddc61b4ce4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x16bce4) (BuildId: 516be217062fa68e0ca66e5fcaa1f3f48dd30f2e)
     89    [#8](/bitcoin-core-gui/8/) 0x7fddc69da557 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2d6557) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
     90    [#9](/bitcoin-core-gui/9/) 0x7fddc6a3689a in QTimerInfoList::activateTimers() (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x33289a) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
     91    [#10](/bitcoin-core-gui/10/) 0x7fddc6a37200  (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x333200) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
     92    [#11](/bitcoin-core-gui/11/) 0x7fddc45132e4  (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5c2e4) (BuildId: 8c2fc27a5f1b449f81e9923160e79b664a0f768d)
     93    [#12](/bitcoin-core-gui/12/) 0x7fddc45715fe  (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0xba5fe) (BuildId: 8c2fc27a5f1b449f81e9923160e79b664a0f768d)
     94    [#13](/bitcoin-core-gui/13/) 0x7fddc4511402 in g_main_context_iteration (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5a402) (BuildId: 8c2fc27a5f1b449f81e9923160e79b664a0f768d)
     95    [#14](/bitcoin-core-gui/14/) 0x7fddc6a37568 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x333568) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
     96    [#15](/bitcoin-core-gui/15/) 0x7fddc69d8eca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2d4eca) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
     97    [#16](/bitcoin-core-gui/16/) 0x7fddc63d3dba in QDialog::exec() (/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x38adba) (BuildId: 516be217062fa68e0ca66e5fcaa1f3f48dd30f2e)
     98    [#17](/bitcoin-core-gui/17/) 0x5560f188b06d in SendCoinsDialog::sendButtonClicked(bool) src/qt/sendcoinsdialog.cpp:490:86
     99    [#18](/bitcoin-core-gui/18/) 0x5560f1a043b4 in SendCoinsDialog::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) src/qt/moc_sendcoinsdialog.cpp:204:21
    100    [#19](/bitcoin-core-gui/19/) 0x7fddc69e6169 in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2e2169) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
    101    [#20](/bitcoin-core-gui/20/) 0x7fddc69eb441 in QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2e7441) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
    102    [#21](/bitcoin-core-gui/21/) 0x5560f14d9807 in QMetaObject::invokeMethod(QObject*, char const*, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:460:16
    103    [#22](/bitcoin-core-gui/22/) 0x5560f14d9807 in (anonymous namespace)::SendCoins(wallet::CWallet&, SendCoinsDialog&, std::variant<CNoDestination, PubKeyDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, WitnessUnknown> const&, long, bool, QMessageBox::StandardButton) src/qt/test/wallettests.cpp:94:20
    104    [#23](/bitcoin-core-gui/23/) 0x5560f14c7afe in (anonymous namespace)::TestGUIWatchOnly(interfaces::Node&, TestChain100Setup&) src/qt/test/wallettests.cpp:434:5
    105    [#24](/bitcoin-core-gui/24/) 0x5560f14c7afe in (anonymous namespace)::TestGUI(interfaces::Node&) src/qt/test/wallettests.cpp:463:5
    106    [#25](/bitcoin-core-gui/25/) 0x7fddc69e6169 in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2e2169) (BuildId: 3dd62787f80bea8a1096126325d5e2cc18a9eeec)
    107    [#26](/bitcoin-core-gui/26/) 0x7fddc5882c4e  (/lib/x86_64-linux-gnu/libQt5Test.so.5+0x1cc4e) (BuildId: 1d836bb649cef549e91c35e6058e6c7462e58cbc)
    108    [#27](/bitcoin-core-gui/27/) 0x7fddc58836ef  (/lib/x86_64-linux-gnu/libQt5Test.so.5+0x1d6ef) (BuildId: 1d836bb649cef549e91c35e6058e6c7462e58cbc)
    109    [#28](/bitcoin-core-gui/28/) 0x7fddc5883ca8  (/lib/x86_64-linux-gnu/libQt5Test.so.5+0x1dca8) (BuildId: 1d836bb649cef549e91c35e6058e6c7462e58cbc)
    110    [#29](/bitcoin-core-gui/29/) 0x7fddc588420f in QTest::qRun() (/lib/x86_64-linux-gnu/libQt5Test.so.5+0x1e20f) (BuildId: 1d836bb649cef549e91c35e6058e6c7462e58cbc)
    111    [#30](/bitcoin-core-gui/30/) 0x7fddc58845e6 in QTest::qExec(QObject*, int, char**) (/lib/x86_64-linux-gnu/libQt5Test.so.5+0x1e5e6) (BuildId: 1d836bb649cef549e91c35e6058e6c7462e58cbc)
    112    [#31](/bitcoin-core-gui/31/) 0x5560f1487173 in main src/qt/test/test_main.cpp:106:26
    113    [#32](/bitcoin-core-gui/32/) 0x7fddc4f1a0cf  (/lib/x86_64-linux-gnu/libc.so.6+0x280cf) (BuildId: f0b834daa3d05a80967e9ec2f990a1ea71c958fa)
    114    [#33](/bitcoin-core-gui/33/) 0x7fddc4f1a188 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28188) (BuildId: f0b834daa3d05a80967e9ec2f990a1ea71c958fa)
    115    [#34](/bitcoin-core-gui/34/) 0x5560f1356ef4 in _start (/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_bitcoin-qt+0xe0aef4) (BuildId: 9c78526e5b58cf29e94ac5e1661a9bc2614760e7)
    116
    117SUMMARY: UndefinedBehaviorSanitizer: null-pointer-use qt/test/wallettests.cpp:424:25 in
    118FAIL qt/test/test_bitcoin-qt (exit status: 1)
    119
    120============================================================================
    121Testsuite summary for Bitcoin Core 26.99.0
    122============================================================================
    123# TOTAL: 4
    124# PASS:  3
    125# SKIP:  0
    126# XFAIL: 0
    127# FAIL:  1
    128# XPASS: 0
    129# ERROR: 0
    130============================================================================
    131See src/test-suite.log
    132Please report to https://github.com/bitcoin/bitcoin/issues
    133============================================================================
    134make[4]: *** [Makefile:20621: test-suite.log] Error 1
    135make[4]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src'
    136make[3]: *** [Makefile:20729: check-TESTS] Error 2
    137make[3]: *** Waiting for unfinished jobs....
    138make[3]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src'
    139make[2]: *** [Makefile:20848: check-am] Error 2
    140make[2]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src'
    141make[1]: *** [Makefile:20513: check-recursive] Error 1
    142make[1]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src'
    143make: *** [Makefile:813: check-recursive] Error 1
    
  2. maflcko renamed this:
    ci_native_asan:
    ci_native_asan: UndefinedBehaviorSanitizer: null-pointer-use qt/test/wallettests.cpp:424:25 in
    on Feb 19, 2024
  3. maflcko added the label Tests on Feb 19, 2024
  4. maflcko added the label CI failed on Feb 19, 2024
  5. hebasto commented at 11:27 am on February 19, 2024: member
    cc @furszy
  6. hebasto commented at 11:55 am on February 19, 2024: member

    Not sure if it is reproducible…

    I can’t to reproduce it.

  7. maflcko commented at 11:58 am on February 19, 2024: contributor

    You can reproduce with:

     0diff --git a/src/qt/test/wallettests.cpp b/src/qt/test/wallettests.cpp
     1index f5b86f44a6..142ec821e2 100644
     2--- a/src/qt/test/wallettests.cpp
     3+++ b/src/qt/test/wallettests.cpp
     4@@ -429,6 +429,7 @@ void TestGUIWatchOnly(interfaces::Node& node, TestChain100Setup& test)
     5         }
     6     });
     7     timer.start(500);
     8+    std::this_thread::sleep_for(500ms);
     9 
    10     // Send tx and verify PSBT copied to the clipboard.
    11     SendCoins(*wallet.get(), sendCoinsDialog, PKHash(), 5 * COIN, /*rbf=*/false, QMessageBox::Save);
    
  8. hebasto cross-referenced this on Feb 19, 2024 from issue test: Recognize dialog object by name by hebasto
  9. furszy commented at 2:09 pm on February 19, 2024: member
    It is because the test is trying to access the QMessageBox::Discard button on a dialog that does not have a discard button. It does not happen regularly because SendCoins() usually confirms the SendConfirmationDialog dialog in less than 500ms, which destructs the dialog, only leaving the psbt dialog active by the time the timer is triggered.
  10. hebasto commented at 11:23 am on February 20, 2024: member

    @maflcko

    Does #797 fix this issue for you?

  11. hebasto closed this on Feb 20, 2024

  12. hebasto referenced this in commit d301c99554 on Feb 20, 2024

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/gui. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-10-31 23:20 UTC

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