intermittent Segmentation fault in mptest IPC path (callFnAsyncParams) #33277

issue DrahtBot opened this issue on September 2, 2025
  1. DrahtBot commented at 8:15 AM on September 2, 2025: contributor

    🚧 At least one of the CI tasks failed. <sub>Task ARM, unit tests, no functional tests: https://github.com/bitcoin/bitcoin/runs/49360561051</sub> <sub>LLM reason (✨ experimental): Segmentation fault in mptest IPC path (callFnAsyncParams) causing the test suite to fail.</sub>

    Originally posted by @DrahtBot in #30469 (comment)

    [23:59:57.639] + ulimit -s 512
    [23:59:57.639] + '[' -n '' ']'
    [23:59:57.639] + '[' '' = true ']'
    [23:59:57.639] + '[' true = true ']'
    [23:59:57.639] + DIR_UNIT_TEST_DATA=/ci_container_base/ci/scratch/qa-assets/unit_test_data/
    [23:59:57.639] + LD_LIBRARY_PATH=/ci_container_base/depends/arm-linux-gnueabihf/lib
    [23:59:57.639] + CTEST_OUTPUT_ON_FAILURE=ON
    [23:59:57.639] + ctest --test-dir /ci_container_base/ci/scratch/build-arm-linux-gnueabihf --stop-on-failure -j10 --timeout 2400
    [23:59:57.653] Internal ctest changing into directory: /ci_container_base/ci/scratch/build-arm-linux-gnueabihf
    [23:59:57.654] Test project /ci_container_base/ci/scratch/build-arm-linux-gnueabihf
    [23:59:57.660]         Start   1: univalue_test
    [23:59:57.663]         Start   2: univalue_object_test
    [23:59:57.665]         Start   3: mptest
    [23:59:57.667]         Start   4: secp256k1_noverify_tests
    [23:59:57.669]         Start   5: secp256k1_tests
    [23:59:57.670]         Start   6: secp256k1_exhaustive_tests
    [23:59:57.673]         Start   7: test_bitcoin-qt
    [23:59:57.675]         Start   8: bench_sanity_check
    [23:59:57.676]         Start   9: addrman_tests
    [23:59:57.679]         Start  10: allocator_tests
    [23:59:57.682]   1/148 Test   [#1](/bitcoin-bitcoin/1/): univalue_test ........................   Passed    0.02 sec
    [23:59:57.682]         Start  11: amount_tests
    [23:59:57.684]   2/148 Test   [#2](/bitcoin-bitcoin/2/): univalue_object_test .................   Passed    0.02 sec
    [23:59:57.684]         Start  12: argsman_tests
    [23:59:57.686]   3/148 Test   [#3](/bitcoin-bitcoin/3/): mptest ...............................***Failed    0.02 sec
    [23:59:57.686] [ TEST ] test.cpp:110: Call FooInterface methods
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client first request from current thread, constructing waiter
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#1](/bitcoin-bitcoin/1/) FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#1](/bitcoin-bitcoin/1/) FooInterface.add$Results (result = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.add$Results (result = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.pass$Params (arg = (name = "name", setint = [1, 2], vbool = [false, true, false]))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#2](/bitcoin-bitcoin/2/) FooInterface.pass$Params (arg = (name = "name", setint = [1, 2], vbool = [false, true, false]))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#2](/bitcoin-bitcoin/2/) FooInterface.pass$Results (result = (name = "name", setint = [1, 2], vbool = [false, true, false]))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.pass$Results (result = (name = "name", setint = [1, 2], vbool = [false, true, false]))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.raise$Params (arg = (name = "name", setint = [1, 2], vbool = [false, true, false]))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#3](/bitcoin-bitcoin/3/) FooInterface.raise$Params (arg = (name = "name", setint = [1, 2], vbool = [false, true, false]))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#3](/bitcoin-bitcoin/3/) FooInterface.raise$Results (error = (name = "name", setint = [1, 2], vbool = [false, true, false]))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.raise$Results (error = (name = "name", setint = [1, 2], vbool = [false, true, false]))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.initThreadMap$Params (threadMap = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#4](/bitcoin-bitcoin/4/) FooInterface.initThreadMap$Params (threadMap = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#4](/bitcoin-bitcoin/4/) FooInterface.initThreadMap$Results (threadMap = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.initThreadMap$Results (threadMap = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callback$Params (context = (thread = <external capability>, callbackThread = <external capability>), callback = <external capability>, arg = 1)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#5](/bitcoin-bitcoin/5/) FooInterface.callback$Params (context = (thread = <external capability>, callbackThread = <external capability>), callback = <external capability>, arg = 1)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#5](/bitcoin-bitcoin/5/) {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooCallback.call$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 1)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#6](/bitcoin-bitcoin/6/) FooCallback.call$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 1)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#6](/bitcoin-bitcoin/6/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#6](/bitcoin-bitcoin/6/) FooCallback.call$Results (result = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.call$Results (result = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages11FooCallbackEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooCallback.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#7](/bitcoin-bitcoin/7/) FooCallback.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#7](/bitcoin-bitcoin/7/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#7](/bitcoin-bitcoin/7/) FooCallback.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#5](/bitcoin-bitcoin/5/) FooInterface.callback$Results (result = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callback$Results (result = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages11FooCallbackEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callbackUnique$Params (context = (thread = <external capability>, callbackThread = <external capability>), callback = <external capability>, arg = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#8](/bitcoin-bitcoin/8/) FooInterface.callbackUnique$Params (context = (thread = <external capability>, callbackThread = <external capability>), callback = <external capability>, arg = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#8](/bitcoin-bitcoin/8/) {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooCallback.call$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#9](/bitcoin-bitcoin/9/) FooCallback.call$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#9](/bitcoin-bitcoin/9/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#9](/bitcoin-bitcoin/9/) FooCallback.call$Results (result = 4)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.call$Results (result = 4)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages11FooCallbackEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooCallback.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#10](/bitcoin-bitcoin/10/) FooCallback.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#10](/bitcoin-bitcoin/10/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#10](/bitcoin-bitcoin/10/) FooCallback.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#8](/bitcoin-bitcoin/8/) FooInterface.callbackUnique$Results (result = 4)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callbackUnique$Results (result = 4)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages11FooCallbackEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callbackShared$Params (context = (thread = <external capability>, callbackThread = <external capability>), callback = <external capability>, arg = 5)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#11](/bitcoin-bitcoin/11/) FooInterface.callbackShared$Params (context = (thread = <external capability>, callbackThread = <external capability>), callback = <external capability>, arg = 5)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#11](/bitcoin-bitcoin/11/) {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooCallback.call$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 5)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#12](/bitcoin-bitcoin/12/) FooCallback.call$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 5)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#12](/bitcoin-bitcoin/12/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#12](/bitcoin-bitcoin/12/) FooCallback.call$Results (result = 6)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.call$Results (result = 6)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages11FooCallbackEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooCallback.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#13](/bitcoin-bitcoin/13/) FooCallback.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#13](/bitcoin-bitcoin/13/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#13](/bitcoin-bitcoin/13/) FooCallback.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#11](/bitcoin-bitcoin/11/) FooInterface.callbackShared$Results (result = 6)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callbackShared$Results (result = 6)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages11FooCallbackEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.saveCallback$Params (context = (thread = <external capability>, callbackThread = <external capability>), callback = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#14](/bitcoin-bitcoin/14/) FooInterface.saveCallback$Params (context = (thread = <external capability>, callbackThread = <external capability>), callback = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#14](/bitcoin-bitcoin/14/) {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#14](/bitcoin-bitcoin/14/) FooInterface.saveCallback$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.saveCallback$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callbackSaved$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 7)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#15](/bitcoin-bitcoin/15/) FooInterface.callbackSaved$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 7)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#15](/bitcoin-bitcoin/15/) {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooCallback.call$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 7)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#16](/bitcoin-bitcoin/16/) FooCallback.call$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 7)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#16](/bitcoin-bitcoin/16/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#16](/bitcoin-bitcoin/16/) FooCallback.call$Results (result = 8)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.call$Results (result = 8)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#15](/bitcoin-bitcoin/15/) FooInterface.callbackSaved$Results (result = 8)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callbackSaved$Results (result = 8)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callbackSaved$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 7)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#17](/bitcoin-bitcoin/17/) FooInterface.callbackSaved$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 7)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#17](/bitcoin-bitcoin/17/) {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooCallback.call$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 7)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#18](/bitcoin-bitcoin/18/) FooCallback.call$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 7)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#18](/bitcoin-bitcoin/18/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#18](/bitcoin-bitcoin/18/) FooCallback.call$Results (result = 8)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.call$Results (result = 8)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#17](/bitcoin-bitcoin/17/) FooInterface.callbackSaved$Results (result = 8)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callbackSaved$Results (result = 8)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.saveCallback$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#19](/bitcoin-bitcoin/19/) FooInterface.saveCallback$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#19](/bitcoin-bitcoin/19/) {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages11FooCallbackEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooCallback.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#20](/bitcoin-bitcoin/20/) FooCallback.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#20](/bitcoin-bitcoin/20/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#20](/bitcoin-bitcoin/20/) FooCallback.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages11FooCallbackEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#19](/bitcoin-bitcoin/19/) FooInterface.saveCallback$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.saveCallback$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callbackExtended$Params (context = (thread = <external capability>, callbackThread = <external capability>), callback = <external capability>, arg = 11)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#21](/bitcoin-bitcoin/21/) FooInterface.callbackExtended$Params (context = (thread = <external capability>, callbackThread = <external capability>), callback = <external capability>, arg = 11)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#21](/bitcoin-bitcoin/21/) {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send ExtendedCallback.callExtended$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 11)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#22](/bitcoin-bitcoin/22/) ExtendedCallback.callExtended$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 11)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#22](/bitcoin-bitcoin/22/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#22](/bitcoin-bitcoin/22/) ExtendedCallback.callExtended$Results (result = 12)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv ExtendedCallback.callExtended$Results (result = 12)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages16ExtendedCallbackEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooCallback.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#23](/bitcoin-bitcoin/23/) FooCallback.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#23](/bitcoin-bitcoin/23/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#23](/bitcoin-bitcoin/23/) FooCallback.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#21](/bitcoin-bitcoin/21/) FooInterface.callbackExtended$Results (result = 12)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callbackExtended$Results (result = 12)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages16ExtendedCallbackEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.passCustom$Params (arg = (v1 = "v1", v2 = 5))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#24](/bitcoin-bitcoin/24/) FooInterface.passCustom$Params (arg = (v1 = "v1", v2 = 5))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#24](/bitcoin-bitcoin/24/) FooInterface.passCustom$Results (result = (v1 = "v1", v2 = 5))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.passCustom$Results (result = (v1 = "v1", v2 = 5))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.passEmpty$Params (arg = ())
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#25](/bitcoin-bitcoin/25/) FooInterface.passEmpty$Params (arg = ())
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#25](/bitcoin-bitcoin/25/) FooInterface.passEmpty$Results (result = ())
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.passEmpty$Results (result = ())
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.passMessage$Params (arg = (message = "init build"))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#26](/bitcoin-bitcoin/26/) FooInterface.passMessage$Params (arg = (message = "init build"))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#26](/bitcoin-bitcoin/26/) FooInterface.passMessage$Results (result = (message = "init build read call build"))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.passMessage$Results (result = (message = "init build read call build"))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.passMutable$Params (arg = (message = "init build"))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#27](/bitcoin-bitcoin/27/) FooInterface.passMutable$Params (arg = (message = "init build"))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#27](/bitcoin-bitcoin/27/) FooInterface.passMutable$Results (arg = (message = "init build pass call return"))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.passMutable$Results (arg = (message = "init build pass call return"))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.passFn$Params (context = (thread = <external capability>, callbackThread = <external capability>), fn = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#28](/bitcoin-bitcoin/28/) FooInterface.passFn$Params (context = (thread = <external capability>, callbackThread = <external capability>), fn = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#28](/bitcoin-bitcoin/28/) {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooFn.call$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#29](/bitcoin-bitcoin/29/) FooFn.call$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#29](/bitcoin-bitcoin/29/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#29](/bitcoin-bitcoin/29/) FooFn.call$Results (result = 10)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooFn.call$Results (result = 10)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages5FooFnEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client send FooFn.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#30](/bitcoin-bitcoin/30/) FooFn.destroy$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#30](/bitcoin-bitcoin/30/) {mptest-9596/mptest-9596}
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#30](/bitcoin-bitcoin/30/) FooFn.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooFn.destroy$Results ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#28](/bitcoin-bitcoin/28/) FooInterface.passFn$Results (result = 10)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.passFn$[ PASS ] test.cpp:110: Call FooInterface methods (11391 μs)
    [23:59:57.686] [ TEST ] test.cpp:197: Call IPC method after client connection is closed
    [23:59:57.686] [ PASS ] test.cpp:197: Call IPC method after client connection is closed (1539 μs)
    [23:59:57.686] [ TEST ] test.cpp:214: Calling IPC method after server connection is closed
    [23:59:57.686] [ PASS ] test.cpp:214: Calling IPC method after server connection is closed (1723 μs)
    [23:59:57.686] [ TEST ] test.cpp:231: Calling IPC method and disconnecting during the call
    [23:59:57.686] [ PASS ] test.cpp:231: Calling IPC method and disconnecting during the call (979 μs)
    [23:59:57.686] [ TEST ] test.cpp:251: Calling IPC method, disconnecting and blocking during the call
    [23:59:57.686] Results (result = 10)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client destroy N2mp11ProxyClientINS_4test8messages12FooInterfaceEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages5FooFnEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages12FooInterfaceEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} EventLoop::loop done, cancelling event listeners.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9598} EventLoop::loop bye.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9607} IPC server recv request  [#31](/bitcoin-bitcoin/31/) FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9607} IPC server send response [#31](/bitcoin-bitcoin/31/) FooInterface.add$Results (result = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.add$Results (result = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9607} IPC server destroy N2mp11ProxyServerINS_4test8messages12FooInterfaceEEE
    [23:59:57.686] LOG1: IPC client method called after disconnect.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9607} EventLoop::loop done, cancelling event listeners.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9607} EventLoop::loop bye.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9609} IPC server recv request  [#32](/bitcoin-bitcoin/32/) FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9609} IPC server send response [#32](/bitcoin-bitcoin/32/) FooInterface.add$Results (result = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.add$Results (result = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9609} IPC server destroy N2mp11ProxyServerINS_4test8messages12FooInterfaceEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG1: IPC client method call interrupted by disconnect.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client destroy N2mp11ProxyClientINS_4test8messages12FooInterfaceEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9609} EventLoop::loop done, cancelling event listeners.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9609} EventLoop::loop bye.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9612} IPC server recv request  [#33](/bitcoin-bitcoin/33/) FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9612} IPC server send response [#33](/bitcoin-bitcoin/33/) FooInterface.add$Results (result = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.add$Results (result = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callFn$Params ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9612} IPC server recv request  [#34](/bitcoin-bitcoin/34/) FooInterface.callFn$Params ()
    [23:59:57.686] LOG0: {mptest-9596/mptest-9612} IPC server send response [#34](/bitcoin-bitcoin/34/) FooInterface.callFn$Results ()
    [23:59:57.686] LOG1: IPC client method call interrupted by disconnect.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9612} IPC server destroy N2mp11ProxyServerINS_4test8messages12FooInterfaceEEE
    [23:59:57.686] LOG0: {mptest-9596/mptest-9612} EventLoop::loop done, cancelling event listeners.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9612} EventLoop::loop bye.
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9615} IPC server recv request  [#35](/bitcoin-bitcoin/35/) FooInterface.add$Params (a = 1, b = 2)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9615} IPC server send response [#35](/bitcoin-bitcoin/35/) FooInterface.add$Results (result = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.add$Results (result = 3)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.initThreadMap$Params (threadMap = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9615} IPC server recv request  [#36](/bitcoin-bitcoin/36/) FooInterface.initThreadMap$Params (threadMap = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9615} IPC server send response [#36](/bitcoin-bitcoin/36/) FooInterface.initThreadMap$Results (threadMap = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.initThreadMap$Results (threadMap = <external capability>)
    [23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callFnAsync$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    [23:59:57.686] LOG0: {mptest-9596/mptest-9615} IPC server recv request  [#37](/bitcoin-bitcoin/37/) FooInterface.callFnAsync$Params (context = (thread = <external capability>, callbackThread *** Received signal [#11](/bitcoin-bitcoin/11/): Segmentation fault
    [23:59:57.686] stack: 
    [23:59:57.686] 
    [23:59:57.803]   4/148 Test  [#11](/bitcoin-bitcoin/11/): amount_tests .........................   Passed    0.12 sec
    [23:59:57.806]   5/148 Test  [#10](/bitcoin-bitcoin/10/): allocator_tests ......................   Passed    0.13 sec
    [23:59:58.033]   6/148 Test   [#9](/bitcoin-bitcoin/9/): addrman_tests ........................   Passed    0.35 sec
    [23:59:58.450]   7/148 Test  [#12](/bitcoin-bitcoin/12/): argsman_tests ........................   Passed    0.76 sec
    [00:00:01.852]   8/148 Test   [#7](/bitcoin-bitcoin/7/): test_bitcoin-qt ......................   Passed    4.18 sec
    [00:00:21.925]   9/148 Test   [#6](/bitcoin-bitcoin/6/): secp256k1_exhaustive_tests ...........   Passed   24.25 sec
    [00:00:57.606]  10/148 Test   [#8](/bitcoin-bitcoin/8/): bench_sanity_check ...................   Passed   59.93 sec
    [00:01:17.408]  11/148 Test   [#4](/bitcoin-bitcoin/4/): secp256k1_noverify_tests .............   Passed   79.74 sec
    [00:02:28.037]  12/148 Test   [#5](/bitcoin-bitcoin/5/): secp256k1_tests ......................   Passed  150.37 sec
    [00:02:28.038] 
    [00:02:28.038] 92% tests passed, 1 tests failed out of 12
    [00:02:28.038] 
    [00:02:28.038] Total Test time (real) = 150.38 sec
    [00:02:28.038] 
    [00:02:28.038] The following tests FAILED:
    [00:02:28.038] 	  3 - mptest (Failed)
    [00:02:28.039] Errors while running CTest
    [00:02:28.085] Command '['./ci/test/02_run_container.sh']' returned non-zero exit status 8.
    
  2. DrahtBot added the label CI failed on Sep 2, 2025
  3. fanquake added this to the milestone 30.0 on Sep 2, 2025
  4. ryanofsky commented at 7:16 PM on September 3, 2025: contributor

    This is probably caused by the disconnect-right-before-IPC-call-returns race condition described in https://github.com/bitcoin-core/libmultiprocess/issues/189 and fixed in https://github.com/bitcoin-core/libmultiprocess/issues/201

  5. fanquake commented at 9:55 AM on September 19, 2025: member

    Closing this, given #33412.

  6. fanquake closed this on Sep 19, 2025

Labels

Milestone
30.0

Linked (view graph)
#1 JSON-RPC support for mobile devices ("ultra-lightweight" clients)#2 Long-term, safe, store-of-value#3 Encrypt wallet#4 Export/Import wallet in a human readable, future-proof format#5 Make the version number the protocol version and not the client version#6 Treat wallet as a generic keystore#7 Block-header-only, faster startup client#8 RPC command to sign text with wallet private key#9 Fix for GUI on Macs and latest wxWidgets#10 Add address to listtransactions output#11 Nolisten patch#12 Monitor transactions and/or blocks#13 Messages with or about transactions#14 bitcoin: URI and/or bitcoin-request MIME type for click-to-pay#15 Option to specify external IP address#16 Mac UI issues#17 listaccounts method#18 Error when trying to send very precise amount#19 bitcoin(d) --help should output version number#20 JSON-RPC callback#21 Add time to category:move transactions#22 Update the list of hard-coded node IP addresses#23 CORS support#24 Gettransaction#25 sum(getaccounts) != getbalance#26 Confirmations not appearing for sent coins after recovering wallet from archive#27 listaccounts with minconf param was broken!#28 corrupted double-linked list?#29 setaccount / getaccountaddress not working properly#30 Fix bug in setaccount/getaccountaddress#31 -keypool option not advertised when using --help switch#32 Help output#33 Fix statusbar color#34 -rpcsslcertificatechainfile command line option spelled incorrectly in --help text#35 Issue34simple fix for issue 34#36 Show defaults in --help text#37 add -printtoconsole flat#28722 Multiprocess tracking issue#30469 index: Fix coinstats overflow

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-19 21:12 UTC

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