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

issue DrahtBot openend 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. Task ARM, unit tests, no functional tests: https://github.com/bitcoin/bitcoin/runs/49360561051 LLM reason (✨ experimental): Segmentation fault in mptest IPC path (callFnAsyncParams) causing the test suite to fail.

    Originally posted by @DrahtBot in #30469 (comment)

      0[23:59:57.639] + ulimit -s 512
      1[23:59:57.639] + '[' -n '' ']'
      2[23:59:57.639] + '[' '' = true ']'
      3[23:59:57.639] + '[' true = true ']'
      4[23:59:57.639] + DIR_UNIT_TEST_DATA=/ci_container_base/ci/scratch/qa-assets/unit_test_data/
      5[23:59:57.639] + LD_LIBRARY_PATH=/ci_container_base/depends/arm-linux-gnueabihf/lib
      6[23:59:57.639] + CTEST_OUTPUT_ON_FAILURE=ON
      7[23:59:57.639] + ctest --test-dir /ci_container_base/ci/scratch/build-arm-linux-gnueabihf --stop-on-failure -j10 --timeout 2400
      8[23:59:57.653] Internal ctest changing into directory: /ci_container_base/ci/scratch/build-arm-linux-gnueabihf
      9[23:59:57.654] Test project /ci_container_base/ci/scratch/build-arm-linux-gnueabihf
     10[23:59:57.660]         Start   1: univalue_test
     11[23:59:57.663]         Start   2: univalue_object_test
     12[23:59:57.665]         Start   3: mptest
     13[23:59:57.667]         Start   4: secp256k1_noverify_tests
     14[23:59:57.669]         Start   5: secp256k1_tests
     15[23:59:57.670]         Start   6: secp256k1_exhaustive_tests
     16[23:59:57.673]         Start   7: test_bitcoin-qt
     17[23:59:57.675]         Start   8: bench_sanity_check
     18[23:59:57.676]         Start   9: addrman_tests
     19[23:59:57.679]         Start  10: allocator_tests
     20[23:59:57.682]   1/148 Test   [#1](/bitcoin-bitcoin/1/): univalue_test ........................   Passed    0.02 sec
     21[23:59:57.682]         Start  11: amount_tests
     22[23:59:57.684]   2/148 Test   [#2](/bitcoin-bitcoin/2/): univalue_object_test .................   Passed    0.02 sec
     23[23:59:57.684]         Start  12: argsman_tests
     24[23:59:57.686]   3/148 Test   [#3](/bitcoin-bitcoin/3/): mptest ...............................***Failed    0.02 sec
     25[23:59:57.686] [ TEST ] test.cpp:110: Call FooInterface methods
     26[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client first request from current thread, constructing waiter
     27[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
     28[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#1](/bitcoin-bitcoin/1/) FooInterface.add$Params (a = 1, b = 2)
     29[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#1](/bitcoin-bitcoin/1/) FooInterface.add$Results (result = 3)
     30[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.add$Results (result = 3)
     31[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]))
     32[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]))
     33[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]))
     34[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]))
     35[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]))
     36[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]))
     37[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]))
     38[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]))
     39[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.initThreadMap$Params (threadMap = <external capability>)
     40[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#4](/bitcoin-bitcoin/4/) FooInterface.initThreadMap$Params (threadMap = <external capability>)
     41[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#4](/bitcoin-bitcoin/4/) FooInterface.initThreadMap$Results (threadMap = <external capability>)
     42[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.initThreadMap$Results (threadMap = <external capability>)
     43[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)
     44[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)
     45[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)}
     46[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)
     47[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)
     48[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#6](/bitcoin-bitcoin/6/) {mptest-9596/mptest-9596}
     49[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#6](/bitcoin-bitcoin/6/) FooCallback.call$Results (result = 2)
     50[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.call$Results (result = 2)
     51[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages11FooCallbackEEE
     52[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>))
     53[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>))
     54[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#7](/bitcoin-bitcoin/7/) {mptest-9596/mptest-9596}
     55[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#7](/bitcoin-bitcoin/7/) FooCallback.destroy$Results ()
     56[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.destroy$Results ()
     57[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#5](/bitcoin-bitcoin/5/) FooInterface.callback$Results (result = 2)
     58[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callback$Results (result = 2)
     59[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages11FooCallbackEEE
     60[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)
     61[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)
     62[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)}
     63[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)
     64[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)
     65[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#9](/bitcoin-bitcoin/9/) {mptest-9596/mptest-9596}
     66[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#9](/bitcoin-bitcoin/9/) FooCallback.call$Results (result = 4)
     67[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.call$Results (result = 4)
     68[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages11FooCallbackEEE
     69[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>))
     70[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>))
     71[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#10](/bitcoin-bitcoin/10/) {mptest-9596/mptest-9596}
     72[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#10](/bitcoin-bitcoin/10/) FooCallback.destroy$Results ()
     73[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.destroy$Results ()
     74[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#8](/bitcoin-bitcoin/8/) FooInterface.callbackUnique$Results (result = 4)
     75[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callbackUnique$Results (result = 4)
     76[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages11FooCallbackEEE
     77[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)
     78[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)
     79[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)}
     80[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)
     81[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)
     82[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#12](/bitcoin-bitcoin/12/) {mptest-9596/mptest-9596}
     83[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#12](/bitcoin-bitcoin/12/) FooCallback.call$Results (result = 6)
     84[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.call$Results (result = 6)
     85[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages11FooCallbackEEE
     86[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>))
     87[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>))
     88[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#13](/bitcoin-bitcoin/13/) {mptest-9596/mptest-9596}
     89[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#13](/bitcoin-bitcoin/13/) FooCallback.destroy$Results ()
     90[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.destroy$Results ()
     91[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#11](/bitcoin-bitcoin/11/) FooInterface.callbackShared$Results (result = 6)
     92[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callbackShared$Results (result = 6)
     93[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages11FooCallbackEEE
     94[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>)
     95[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>)
     96[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)}
     97[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#14](/bitcoin-bitcoin/14/) FooInterface.saveCallback$Results ()
     98[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.saveCallback$Results ()
     99[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callbackSaved$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 7)
    100[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)
    101[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)}
    102[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)
    103[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)
    104[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#16](/bitcoin-bitcoin/16/) {mptest-9596/mptest-9596}
    105[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#16](/bitcoin-bitcoin/16/) FooCallback.call$Results (result = 8)
    106[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.call$Results (result = 8)
    107[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#15](/bitcoin-bitcoin/15/) FooInterface.callbackSaved$Results (result = 8)
    108[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callbackSaved$Results (result = 8)
    109[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callbackSaved$Params (context = (thread = <external capability>, callbackThread = <external capability>), arg = 7)
    110[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)
    111[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)}
    112[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)
    113[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)
    114[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#18](/bitcoin-bitcoin/18/) {mptest-9596/mptest-9596}
    115[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#18](/bitcoin-bitcoin/18/) FooCallback.call$Results (result = 8)
    116[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.call$Results (result = 8)
    117[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#17](/bitcoin-bitcoin/17/) FooInterface.callbackSaved$Results (result = 8)
    118[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callbackSaved$Results (result = 8)
    119[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.saveCallback$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    120[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>))
    121[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)}
    122[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages11FooCallbackEEE
    123[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>))
    124[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>))
    125[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#20](/bitcoin-bitcoin/20/) {mptest-9596/mptest-9596}
    126[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#20](/bitcoin-bitcoin/20/) FooCallback.destroy$Results ()
    127[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.destroy$Results ()
    128[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages11FooCallbackEEE
    129[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#19](/bitcoin-bitcoin/19/) FooInterface.saveCallback$Results ()
    130[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.saveCallback$Results ()
    131[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)
    132[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)
    133[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)}
    134[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)
    135[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)
    136[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#22](/bitcoin-bitcoin/22/) {mptest-9596/mptest-9596}
    137[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#22](/bitcoin-bitcoin/22/) ExtendedCallback.callExtended$Results (result = 12)
    138[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv ExtendedCallback.callExtended$Results (result = 12)
    139[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages16ExtendedCallbackEEE
    140[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>))
    141[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>))
    142[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#23](/bitcoin-bitcoin/23/) {mptest-9596/mptest-9596}
    143[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#23](/bitcoin-bitcoin/23/) FooCallback.destroy$Results ()
    144[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooCallback.destroy$Results ()
    145[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#21](/bitcoin-bitcoin/21/) FooInterface.callbackExtended$Results (result = 12)
    146[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.callbackExtended$Results (result = 12)
    147[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages16ExtendedCallbackEEE
    148[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.passCustom$Params (arg = (v1 = "v1", v2 = 5))
    149[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))
    150[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))
    151[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.passCustom$Results (result = (v1 = "v1", v2 = 5))
    152[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.passEmpty$Params (arg = ())
    153[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#25](/bitcoin-bitcoin/25/) FooInterface.passEmpty$Params (arg = ())
    154[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#25](/bitcoin-bitcoin/25/) FooInterface.passEmpty$Results (result = ())
    155[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.passEmpty$Results (result = ())
    156[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.passMessage$Params (arg = (message = "init build"))
    157[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#26](/bitcoin-bitcoin/26/) FooInterface.passMessage$Params (arg = (message = "init build"))
    158[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"))
    159[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.passMessage$Results (result = (message = "init build read call build"))
    160[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.passMutable$Params (arg = (message = "init build"))
    161[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server recv request  [#27](/bitcoin-bitcoin/27/) FooInterface.passMutable$Params (arg = (message = "init build"))
    162[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"))
    163[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.passMutable$Results (arg = (message = "init build pass call return"))
    164[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>)
    165[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>)
    166[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)}
    167[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>))
    168[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>))
    169[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#29](/bitcoin-bitcoin/29/) {mptest-9596/mptest-9596}
    170[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#29](/bitcoin-bitcoin/29/) FooFn.call$Results (result = 10)
    171[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooFn.call$Results (result = 10)
    172[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client destroy N2mp11ProxyClientINS_4test8messages5FooFnEEE
    173[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>))
    174[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>))
    175[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server post request  [#30](/bitcoin-bitcoin/30/) {mptest-9596/mptest-9596}
    176[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#30](/bitcoin-bitcoin/30/) FooFn.destroy$Results ()
    177[23:59:57.686] LOG0: {mptest-9596/mptest-9601 (from mptest-9596/mptest-9596)} IPC client recv FooFn.destroy$Results ()
    178[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server send response [#28](/bitcoin-bitcoin/28/) FooInterface.passFn$Results (result = 10)
    179[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.passFn$[ PASS ] test.cpp:110: Call FooInterface methods (11391 μs)
    180[23:59:57.686] [ TEST ] test.cpp:197: Call IPC method after client connection is closed
    181[23:59:57.686] [ PASS ] test.cpp:197: Call IPC method after client connection is closed (1539 μs)
    182[23:59:57.686] [ TEST ] test.cpp:214: Calling IPC method after server connection is closed
    183[23:59:57.686] [ PASS ] test.cpp:214: Calling IPC method after server connection is closed (1723 μs)
    184[23:59:57.686] [ TEST ] test.cpp:231: Calling IPC method and disconnecting during the call
    185[23:59:57.686] [ PASS ] test.cpp:231: Calling IPC method and disconnecting during the call (979 μs)
    186[23:59:57.686] [ TEST ] test.cpp:251: Calling IPC method, disconnecting and blocking during the call
    187[23:59:57.686] Results (result = 10)
    188[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client destroy N2mp11ProxyClientINS_4test8messages12FooInterfaceEEE
    189[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages5FooFnEEE
    190[23:59:57.686] LOG0: {mptest-9596/mptest-9598} IPC server destroy N2mp11ProxyServerINS_4test8messages12FooInterfaceEEE
    191[23:59:57.686] LOG0: {mptest-9596/mptest-9598} EventLoop::loop done, cancelling event listeners.
    192[23:59:57.686] LOG0: {mptest-9596/mptest-9598} EventLoop::loop bye.
    193[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    194[23:59:57.686] LOG0: {mptest-9596/mptest-9607} IPC server recv request  [#31](/bitcoin-bitcoin/31/) FooInterface.add$Params (a = 1, b = 2)
    195[23:59:57.686] LOG0: {mptest-9596/mptest-9607} IPC server send response [#31](/bitcoin-bitcoin/31/) FooInterface.add$Results (result = 3)
    196[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.add$Results (result = 3)
    197[23:59:57.686] LOG0: {mptest-9596/mptest-9607} IPC server destroy N2mp11ProxyServerINS_4test8messages12FooInterfaceEEE
    198[23:59:57.686] LOG1: IPC client method called after disconnect.
    199[23:59:57.686] LOG0: {mptest-9596/mptest-9607} EventLoop::loop done, cancelling event listeners.
    200[23:59:57.686] LOG0: {mptest-9596/mptest-9607} EventLoop::loop bye.
    201[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    202[23:59:57.686] LOG0: {mptest-9596/mptest-9609} IPC server recv request  [#32](/bitcoin-bitcoin/32/) FooInterface.add$Params (a = 1, b = 2)
    203[23:59:57.686] LOG0: {mptest-9596/mptest-9609} IPC server send response [#32](/bitcoin-bitcoin/32/) FooInterface.add$Results (result = 3)
    204[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.add$Results (result = 3)
    205[23:59:57.686] LOG0: {mptest-9596/mptest-9609} IPC server destroy N2mp11ProxyServerINS_4test8messages12FooInterfaceEEE
    206[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    207[23:59:57.686] LOG1: IPC client method call interrupted by disconnect.
    208[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client destroy N2mp11ProxyClientINS_4test8messages12FooInterfaceEEE
    209[23:59:57.686] LOG0: {mptest-9596/mptest-9609} EventLoop::loop done, cancelling event listeners.
    210[23:59:57.686] LOG0: {mptest-9596/mptest-9609} EventLoop::loop bye.
    211[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    212[23:59:57.686] LOG0: {mptest-9596/mptest-9612} IPC server recv request  [#33](/bitcoin-bitcoin/33/) FooInterface.add$Params (a = 1, b = 2)
    213[23:59:57.686] LOG0: {mptest-9596/mptest-9612} IPC server send response [#33](/bitcoin-bitcoin/33/) FooInterface.add$Results (result = 3)
    214[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.add$Results (result = 3)
    215[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callFn$Params ()
    216[23:59:57.686] LOG0: {mptest-9596/mptest-9612} IPC server recv request  [#34](/bitcoin-bitcoin/34/) FooInterface.callFn$Params ()
    217[23:59:57.686] LOG0: {mptest-9596/mptest-9612} IPC server send response [#34](/bitcoin-bitcoin/34/) FooInterface.callFn$Results ()
    218[23:59:57.686] LOG1: IPC client method call interrupted by disconnect.
    219[23:59:57.686] LOG0: {mptest-9596/mptest-9612} IPC server destroy N2mp11ProxyServerINS_4test8messages12FooInterfaceEEE
    220[23:59:57.686] LOG0: {mptest-9596/mptest-9612} EventLoop::loop done, cancelling event listeners.
    221[23:59:57.686] LOG0: {mptest-9596/mptest-9612} EventLoop::loop bye.
    222[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.add$Params (a = 1, b = 2)
    223[23:59:57.686] LOG0: {mptest-9596/mptest-9615} IPC server recv request  [#35](/bitcoin-bitcoin/35/) FooInterface.add$Params (a = 1, b = 2)
    224[23:59:57.686] LOG0: {mptest-9596/mptest-9615} IPC server send response [#35](/bitcoin-bitcoin/35/) FooInterface.add$Results (result = 3)
    225[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.add$Results (result = 3)
    226[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.initThreadMap$Params (threadMap = <external capability>)
    227[23:59:57.686] LOG0: {mptest-9596/mptest-9615} IPC server recv request  [#36](/bitcoin-bitcoin/36/) FooInterface.initThreadMap$Params (threadMap = <external capability>)
    228[23:59:57.686] LOG0: {mptest-9596/mptest-9615} IPC server send response [#36](/bitcoin-bitcoin/36/) FooInterface.initThreadMap$Results (threadMap = <external capability>)
    229[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client recv FooInterface.initThreadMap$Results (threadMap = <external capability>)
    230[23:59:57.686] LOG0: {mptest-9596/mptest-9596} IPC client send FooInterface.callFnAsync$Params (context = (thread = <external capability>, callbackThread = <external capability>))
    231[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
    232[23:59:57.686] stack: 
    233[23:59:57.686] 
    234[23:59:57.803]   4/148 Test  [#11](/bitcoin-bitcoin/11/): amount_tests .........................   Passed    0.12 sec
    235[23:59:57.806]   5/148 Test  [#10](/bitcoin-bitcoin/10/): allocator_tests ......................   Passed    0.13 sec
    236[23:59:58.033]   6/148 Test   [#9](/bitcoin-bitcoin/9/): addrman_tests ........................   Passed    0.35 sec
    237[23:59:58.450]   7/148 Test  [#12](/bitcoin-bitcoin/12/): argsman_tests ........................   Passed    0.76 sec
    238[00:00:01.852]   8/148 Test   [#7](/bitcoin-bitcoin/7/): test_bitcoin-qt ......................   Passed    4.18 sec
    239[00:00:21.925]   9/148 Test   [#6](/bitcoin-bitcoin/6/): secp256k1_exhaustive_tests ...........   Passed   24.25 sec
    240[00:00:57.606]  10/148 Test   [#8](/bitcoin-bitcoin/8/): bench_sanity_check ...................   Passed   59.93 sec
    241[00:01:17.408]  11/148 Test   [#4](/bitcoin-bitcoin/4/): secp256k1_noverify_tests .............   Passed   79.74 sec
    242[00:02:28.037]  12/148 Test   [#5](/bitcoin-bitcoin/5/): secp256k1_tests ......................   Passed  150.37 sec
    243[00:02:28.038] 
    244[00:02:28.038] 92% tests passed, 1 tests failed out of 12
    245[00:02:28.038] 
    246[00:02:28.038] Total Test time (real) = 150.38 sec
    247[00:02:28.038] 
    248[00:02:28.038] The following tests FAILED:
    249[00:02:28.038] 	  3 - mptest (Failed)
    250[00:02:28.039] Errors while running CTest
    251[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


DrahtBot ryanofsky

Labels
CI failed

Milestone
30.0


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: 2025-09-12 15:13 UTC

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