cmd: ctest --output-on-failure --stop-on-failure -j $NUMBER_OF_PROCESSORS -C Debug
The full log and config is in the comment below: #32341 (comment). Which was motivated by #32339 attempting to use a windows debug build.
cmd: ctest --output-on-failure --stop-on-failure -j $NUMBER_OF_PROCESSORS -C Debug
The full log and config is in the comment below: #32341 (comment). Which was motivated by #32339 attempting to use a windows debug build.
FWIW, here is the demo branch where the native Windows CI job has been switched to the “Debug” configuration.
CI logs: https://github.com/hebasto/bitcoin/actions/runs/14650416249.
Thx. Though, now it says:
0The following tests FAILED:
1 60 - miniscript_tests (SEGFAULT)
2Errors while running CTest
This raises two questions:
/Ob0 /Od
back to /O2 /Ob1
to avoid slowness.Thx. Though, now it says:
0The following tests FAILED: 1 60 - miniscript_tests (SEGFAULT) 2Errors while running CTest
- I guess this is not really a segfault/bug in the code, but rather a stack overflow, due to the debug config eating more memory?
I’m not sure. I can reproduce the issue locally and it refers to an exception:
0 Start 58: miniscript_tests
11/1 Test [#58](/bitcoin-bitcoin/58/): miniscript_tests .................***Exception: SegFault 51.83 sec
Will try to narrow it down.
subprocess timed out: Currently only libFuzzer is supported
. A timeout should not happen for this process call, and the expected outcome should be an immediate stderr of test/fuzz/fuzz.cpp:269 main: Assertion 'read_file(input_path, buffer)' failed. Error processing input "-help=1"
and an ignored exit code.
Thx. Though, now it says:
0The following tests FAILED: 1 60 - miniscript_tests (SEGFAULT) 2Errors while running CTest
- I guess this is not really a segfault/bug in the code, but rather a stack overflow, due to the debug config eating more memory?
Fixed in #32349.
but was found by #32339 momentarily
It was actually first pointed out here, #31367 (comment), by @dergoegge.
I’d say for the CI we want to reset
/Ob0 /Od
back to/O2 /Ob1
to avoid slowness.@hebasto If you don’t mind, could you update your CI branch with this. If not, that’s fine also and I’ll try it myself.
https://github.com/hebasto/bitcoin-core-nightly/actions/runs/14705754388/job/41265724818
https://github.com/hebasto/bitcoin-core-nightly/actions/runs/14707592382/job/41271542519
A third question would be, why the fuzz output is https://github.com/hebasto/bitcoin/actions/runs/14650416249/job/41114604643#step:14:60:
subprocess timed out: Currently only libFuzzer is supported
. A timeout should not happen for this process call, and the expected outcome should be an immediate stderr oftest/fuzz/fuzz.cpp:269 main: Assertion 'read_file(input_path, buffer)' failed. Error processing input "-help=1"
and an ignored exit code.
Looks like the assertions fails, but the program never prints anything, or aborts:
https://github.com/maflcko/bitcoin-core-with-ci/actions/runs/14759346479/job/41435857332#step:13:58
0
1Run "$BITCOINFUZZ" -help=1
2Wed, 30 Apr 2025 16:36:03 GMT D:\a\bitcoin-core-with-ci\bitcoin-core-with-ci\src\test\fuzz\fuzz.cpp:269 main: Assertion `read_file(input_path, buffer)' failed.
3Wed, 30 Apr 2025 17:02:52 GMT Error: The operation was canceled.
I guess this means the std::signal(SIGABRT, signal_handler)
does something different.
Possibly a debugger is automatically attached?
A third question would be, why the fuzz output is https://github.com/hebasto/bitcoin/actions/runs/14650416249/job/41114604643#step:14:60:
subprocess timed out: Currently only libFuzzer is supported
. A timeout should not happen for this process call, and the expected outcome should be an immediate stderr oftest/fuzz/fuzz.cpp:269 main: Assertion 'read_file(input_path, buffer)' failed. Error processing input "-help=1"
and an ignored exit code.Looks like the assertions fails, but the program never prints anything, or aborts:
https://github.com/maflcko/bitcoin-core-with-ci/actions/runs/14759346479/job/41435857332#step:13:58
0 1Run "$BITCOINFUZZ" -help=1 2Wed, 30 Apr 2025 16:36:03 GMT D:\a\bitcoin-core-with-ci\bitcoin-core-with-ci\src\test\fuzz\fuzz.cpp:269 main: Assertion `read_file(input_path, buffer)' failed. 3Wed, 30 Apr 2025 17:02:52 GMT Error: The operation was canceled.
I guess this means the
std::signal(SIGABRT, signal_handler)
does something different.Possibly a debugger is automatically attached?
It is actually a message box:
The following patch helps:
0--- a/src/test/fuzz/fuzz.cpp
1+++ b/src/test/fuzz/fuzz.cpp
2@@ -245,6 +245,7 @@ int main(int argc, char** argv)
3 test_one_input(buffer);
4 return 0;
5 }
6+ _set_abort_behavior(0, _WRITE_ABORT_MSG);
7 std::signal(SIGABRT, signal_handler);
8 const auto start_time{Now<SteadySeconds>()};
9 int tested = 0;
For more details, see Microsoft docs: