While reproducing the bug from #18517, I've noticed that the bitcoind.pid file has already been removed when the bitcoind hangs.
This PR makes Shutdown() keep the bitcoind.pid file available until the end.
This is a backport of Core PR18526
Differential D8910
Remove PID file at the very end PiRK on Jan 14 2021, 11:13. Authored by
Details
This is a backport of Core PR18526 ninja all check-all
Diff Detail
Event TimelineComment Actions Build Bitcoin ABC Diffs / Diff Testing (build-clang) failed.
Tail of the build log: [378/434] Running utility command for check-bitcoin-script_commitment_tests [379/434] bitcoin: testing bip32_tests [380/434] Running utility command for check-bitcoin-bip32_tests [381/434] bitcoin: testing settings_tests [382/434] Running utility command for check-bitcoin-settings_tests [383/434] bitcoin: testing streams_tests [384/434] bitcoin: testing timedata_tests [385/434] Running utility command for check-bitcoin-streams_tests [386/434] Running utility command for check-bitcoin-timedata_tests [387/434] bitcoin: testing transaction_tests [388/434] Running utility command for check-bitcoin-transaction_tests [389/434] bitcoin: testing uint256_tests [390/434] Running utility command for check-bitcoin-uint256_tests [391/434] bitcoin: testing walletdb_tests [392/434] Running utility command for check-bitcoin-walletdb_tests [393/434] bitcoin: testing undo_tests [394/434] bitcoin: testing serialize_tests [395/434] bitcoin: testing txvalidationcache_tests [396/434] Running utility command for check-bitcoin-undo_tests [397/434] Running utility command for check-bitcoin-serialize_tests [398/434] Running utility command for check-bitcoin-txvalidationcache_tests [399/434] bitcoin: testing util_threadnames_tests [400/434] Running utility command for check-bitcoin-util_threadnames_tests [401/434] bitcoin: testing validationinterface_tests [402/434] bitcoin: testing radix_tests [403/434] bitcoin: testing validation_chainstatemanager_tests [404/434] Running utility command for check-bitcoin-validation_chainstatemanager_tests [405/434] bitcoin: testing schnorr_tests [406/434] Running utility command for check-bitcoin-radix_tests [407/434] Running utility command for check-bitcoin-validationinterface_tests [408/434] Running utility command for check-bitcoin-schnorr_tests [409/434] bitcoin: testing cashaddr_tests [410/434] Running utility command for check-bitcoin-cashaddr_tests [411/434] bitcoin: testing getarg_tests [412/434] bitcoin: testing crypto_tests [413/434] Running utility command for check-bitcoin-getarg_tests [414/434] Running utility command for check-bitcoin-crypto_tests [415/434] bitcoin: testing coinselector_tests [416/434] Running utility command for check-bitcoin-coinselector_tests [417/434] bitcoin: testing script_tests [418/434] Running utility command for check-bitcoin-script_tests [419/434] bitcoin: testing monolith_opcodes_tests [420/434] bitcoin: testing util_tests [421/434] Running utility command for check-bitcoin-monolith_opcodes_tests [422/434] Running utility command for check-bitcoin-util_tests [423/434] bitcoin: testing cuckoocache_tests [424/434] Running utility command for check-bitcoin-cuckoocache_tests [425/434] bitcoin: testing skiplist_tests [426/434] Running utility command for check-bitcoin-skiplist_tests [427/434] bitcoin: testing coins_tests [428/434] Running utility command for check-bitcoin-coins_tests [429/434] bitcoin: testing op_reversebytes_tests [430/434] Running utility command for check-bitcoin-op_reversebytes_tests [431/434] Running bitcoin test suite PASSED: bitcoin test suite [432/434] secp256k1: testing secp256k1-tests [433/434] Running secp256k1 test suite PASSED: secp256k1 test suite ninja: build stopped: cannot make progress due to previous errors. Build build-clang failed with exit code 1 Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-clang-tidy) failed.
Tail of the build log: [418/427] Running utility command for check-bitcoin-coinselector_tests [419/427] bitcoin: testing coins_tests [420/427] bitcoin: testing op_reversebytes_tests [421/427] Running utility command for check-bitcoin-coins_tests [422/427] Running utility command for check-bitcoin-op_reversebytes_tests [423/427] Running bitcoin test suite PASSED: bitcoin test suite [424/427] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o [425/427] Linking CXX executable src/qt/test/test_bitcoin-qt [426/427] bitcoin-qt: testing test_bitcoin-qt FAILED: src/qt/test/CMakeFiles/check-bitcoin-qt-test_bitcoin-qt cd /work/abc-ci-builds/build-clang-tidy/src/qt/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang-tidy/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang-tidy/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-clang-tidy/test/log/bitcoin-qt-test_bitcoin-qt.log /work/abc-ci-builds/build-clang-tidy/src/qt/test/test_bitcoin-qt QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' ********* Start testing of AppTests ********* Config: Using QtTest library 5.11.3, Qt 5.11.3 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 8.3.0) PASS : AppTests::initTestCase() QINFO : AppTests::appTests() Backing up GUI settings to "/tmp/test_common_Bitcoin ABC/8408810ff59243ef4568ea88d48d5bb15c46602d2ade78ec938c29a7e7fa491f/regtest/guisettings.ini.bak" QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QDEBUG : AppTests::appTests() requestInitialize : Requesting initialize QDEBUG : AppTests::appTests() initialize : Running initialization in thread QDEBUG : AppTests::appTests() initializeResult : Initialization result: true QINFO : AppTests::appTests() Platform customization: "other" QDEBUG : AppTests::appTests() TransactionTablePriv::refreshWallet QWARN : AppTests::appTests() This plugin does not support propagateSizeHints() QWARN : AppTests::appTests() This plugin does not support propagateSizeHints() QWARN : AppTests::appTests() This plugin does not support raise() QWARN : AppTests::appTests() This plugin does not support raise() QWARN : AppTests::appTests() This plugin does not support grabbing the keyboard QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() This plugin does not support propagateSizeHints() QDEBUG : AppTests::appTests() requestShutdown : Requesting shutdown QDEBUG : AppTests::appTests() shutdown : Running Shutdown in thread QDEBUG : AppTests::appTests() NotifyUnload === Received signal at function time: 1168ms, total time: 1168ms, dumping stack === === End of stack trace === QFATAL : AppTests::appTests() Received signal 11 Function time: 1168ms Total time: 1168ms FAIL! : AppTests::appTests() Received a fatal error. Loc: [Unknown file(0)] Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 1171ms ********* Finished testing of AppTests ********* Aborted (core dumped) ninja: build stopped: cannot make progress due to previous errors. Build build-clang-tidy failed with exit code 1 Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-without-wallet) failed.
Tail of the build log: [341/398] bitcoin: testing timedata_tests [342/398] bitcoin: testing streams_tests [343/398] Running utility command for check-bitcoin-timedata_tests [344/398] Running utility command for check-bitcoin-streams_tests [345/398] bitcoin: testing uint256_tests [346/398] bitcoin: testing undo_tests [347/398] Running utility command for check-bitcoin-uint256_tests [348/398] bitcoin: testing util_threadnames_tests [349/398] Running utility command for check-bitcoin-undo_tests [350/398] Running utility command for check-bitcoin-util_threadnames_tests [351/398] bitcoin: testing validation_chainstatemanager_tests [352/398] bitcoin: testing compilerbug_tests [353/398] Running utility command for check-bitcoin-validation_chainstatemanager_tests [354/398] Running utility command for check-bitcoin-compilerbug_tests [355/398] bitcoin: testing sigencoding_tests [356/398] bitcoin: testing serialize_tests [357/398] Running utility command for check-bitcoin-sigencoding_tests [358/398] Running utility command for check-bitcoin-serialize_tests [359/398] bitcoin: testing checkpoints_tests [360/398] bitcoin: testing validationinterface_tests [361/398] bitcoin: testing txvalidationcache_tests [362/398] Running utility command for check-bitcoin-checkpoints_tests [363/398] Running utility command for check-bitcoin-validationinterface_tests [364/398] Running utility command for check-bitcoin-txvalidationcache_tests [365/398] bitcoin: testing radix_tests [366/398] Running utility command for check-bitcoin-radix_tests [367/398] bitcoin: testing crypto_tests [368/398] bitcoin: testing schnorr_tests [369/398] Running utility command for check-bitcoin-crypto_tests [370/398] Running utility command for check-bitcoin-schnorr_tests [371/398] bitcoin: testing cashaddr_tests [372/398] bitcoin: testing blockcheck_tests [373/398] bitcoin: testing script_standard_tests [374/398] Running utility command for check-bitcoin-cashaddr_tests [375/398] Running utility command for check-bitcoin-blockcheck_tests [376/398] Running utility command for check-bitcoin-script_standard_tests [377/398] bitcoin: testing getarg_tests [378/398] Running utility command for check-bitcoin-getarg_tests [379/398] bitcoin: testing validation_tests [380/398] Running utility command for check-bitcoin-validation_tests [381/398] bitcoin: testing util_tests [382/398] Running utility command for check-bitcoin-util_tests [383/398] bitcoin: testing monolith_opcodes_tests [384/398] bitcoin: testing cuckoocache_tests [385/398] Running utility command for check-bitcoin-monolith_opcodes_tests [386/398] Running utility command for check-bitcoin-cuckoocache_tests [387/398] bitcoin: testing skiplist_tests [388/398] Running utility command for check-bitcoin-skiplist_tests [389/398] bitcoin: testing validation_block_tests [390/398] Running utility command for check-bitcoin-validation_block_tests [391/398] bitcoin: testing op_reversebytes_tests [392/398] Running utility command for check-bitcoin-op_reversebytes_tests [393/398] bitcoin: testing transaction_tests [394/398] Running utility command for check-bitcoin-transaction_tests [395/398] bitcoin: testing coins_tests [396/398] Running utility command for check-bitcoin-coins_tests [397/398] Running bitcoin test suite PASSED: bitcoin test suite ninja: build stopped: cannot make progress due to previous errors. Build build-without-wallet failed with exit code 1 Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-diff) failed.
Tail of the build log: [749/757] bitcoin: testing op_reversebytes_tests [750/757] Running utility command for check-bitcoin-op_reversebytes_tests [751/757] Running bitcoin test suite PASSED: bitcoin test suite [752/757] Linking CXX executable src/qt/test/test_bitcoin-qt [753/757] bitcoin-upgrade-activated: testing coins_tests [754/757] Running utility command for check-bitcoin-upgrade-activated-coins_tests [755/757] Running bitcoin-upgrade-activated test suite PASSED: bitcoin-upgrade-activated test suite [756/757] bitcoin-qt: testing test_bitcoin-qt FAILED: src/qt/test/CMakeFiles/check-bitcoin-qt-test_bitcoin-qt cd /work/abc-ci-builds/build-diff/src/qt/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-diff/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-diff/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-diff/test/log/bitcoin-qt-test_bitcoin-qt.log /work/abc-ci-builds/build-diff/src/qt/test/test_bitcoin-qt QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' ********* Start testing of AppTests ********* Config: Using QtTest library 5.11.3, Qt 5.11.3 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 8.3.0) PASS : AppTests::initTestCase() QINFO : AppTests::appTests() Backing up GUI settings to "/tmp/test_common_Bitcoin ABC/e9b0449239a44821133f5712aa25c1497a947e6c5de9b67c5d696e3afd16ff09/regtest/guisettings.ini.bak" QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QDEBUG : AppTests::appTests() requestInitialize : Requesting initialize QDEBUG : AppTests::appTests() initialize : Running initialization in thread QDEBUG : AppTests::appTests() initializeResult : Initialization result: true QINFO : AppTests::appTests() Platform customization: "other" QDEBUG : AppTests::appTests() TransactionTablePriv::refreshWallet QWARN : AppTests::appTests() This plugin does not support propagateSizeHints() QWARN : AppTests::appTests() This plugin does not support propagateSizeHints() QWARN : AppTests::appTests() This plugin does not support raise() QWARN : AppTests::appTests() This plugin does not support raise() QWARN : AppTests::appTests() This plugin does not support grabbing the keyboard QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() This plugin does not support propagateSizeHints() QDEBUG : AppTests::appTests() requestShutdown : Requesting shutdown QDEBUG : AppTests::appTests() shutdown : Running Shutdown in thread QDEBUG : AppTests::appTests() NotifyUnload === Received signal at function time: 1027ms, total time: 1028ms, dumping stack === === End of stack trace === QFATAL : AppTests::appTests() Received signal 11 Function time: 1027ms Total time: 1028ms FAIL! : AppTests::appTests() Received a fatal error. Loc: [Unknown file(0)] Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 1032ms ********* Finished testing of AppTests ********* Aborted (core dumped) ninja: build stopped: cannot make progress due to previous errors. Build build-diff failed with exit code 1 Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-debug) failed.
Tail of the build log: [433/435] Running bitcoin test suite PASSED: bitcoin test suite [434/435] bitcoin-qt: testing test_bitcoin-qt FAILED: src/qt/test/CMakeFiles/check-bitcoin-qt-test_bitcoin-qt cd /work/abc-ci-builds/build-debug/src/qt/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-debug/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-debug/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-debug/test/log/bitcoin-qt-test_bitcoin-qt.log /work/abc-ci-builds/build-debug/src/qt/test/test_bitcoin-qt QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' ********* Start testing of AppTests ********* Config: Using QtTest library 5.11.3, Qt 5.11.3 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 8.3.0) PASS : AppTests::initTestCase() QINFO : AppTests::appTests() Backing up GUI settings to "/tmp/test_common_Bitcoin ABC/157ad59e73b847d307c6c2e05cf3f97c8cfb0c8e6a9069ca80379a11702480e4/regtest/guisettings.ini.bak" QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QDEBUG : AppTests::appTests() requestInitialize : Requesting initialize QDEBUG : AppTests::appTests() initialize : Running initialization in thread QDEBUG : AppTests::appTests() initializeResult : Initialization result: true QINFO : AppTests::appTests() Platform customization: "other" QDEBUG : AppTests::appTests() TransactionTablePriv::refreshWallet QWARN : AppTests::appTests() This plugin does not support propagateSizeHints() QWARN : AppTests::appTests() This plugin does not support propagateSizeHints() QWARN : AppTests::appTests() This plugin does not support raise() QWARN : AppTests::appTests() This plugin does not support raise() QWARN : AppTests::appTests() This plugin does not support grabbing the keyboard QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() QFont::setPointSizeF: Point size <= 0 (-1.000000), must be greater than 0 QWARN : AppTests::appTests() This plugin does not support propagateSizeHints() QDEBUG : AppTests::appTests() requestShutdown : Requesting shutdown QDEBUG : AppTests::appTests() shutdown : Running Shutdown in thread QDEBUG : AppTests::appTests() NotifyUnload ************************ EXCEPTION: St12system_error Operation not permitted bitcoin in Runaway exception QWARN : AppTests::appTests() This plugin does not support propagateSizeHints() === Received signal at function time: 300000ms, total time: 300001ms, dumping stack === === End of stack trace === QFATAL : AppTests::appTests() Test function timed out FAIL! : AppTests::appTests() Received a fatal error. Loc: [Unknown file(0)] Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 300005ms ********* Finished testing of AppTests ********* Aborted (core dumped) ninja: build stopped: cannot make progress due to previous errors. Build build-debug failed with exit code 1 Comment Actions move node.args = nullptr; after fs::remove(GetPidFile(*node.args)) (see PR19779 / D8646)) |