Skip to content

Conversation

@bagder
Copy link
Member

@bagder bagder commented Dec 1, 2025

Since a7bebd8 made it possible.

Also enable memdebug in test 3207 again.

@bagder bagder added the tests label Dec 1, 2025
@bagder bagder force-pushed the bagder/torture-threaded branch from a9d3859 to 89acdb3 Compare December 1, 2025 12:53
@github-actions github-actions bot added the script label Dec 1, 2025
Since a7bebd8 made it possible.

Also enable memdebug in test 3207 again.
it still does not work properly for some reason
@bagder bagder force-pushed the bagder/torture-threaded branch from 89acdb3 to 3b35c62 Compare December 1, 2025 13:20
@testclutch
Copy link

Analysis of PR #19786 at 89acdb36:

Test ../../tests/http/test_16_info.py::TestInfo::test_16_03_info_upload[h2] failed, which has NOT been flaky recently, so there could be a real issue in this PR. Note that this test has failed in 2 different CI jobs (the link just goes to one of them).

Generated by Testclutch

@bagder bagder closed this in fb7033d Dec 1, 2025
@bagder bagder deleted the bagder/torture-threaded branch December 1, 2025 13:43
@vszakats
Copy link
Member

vszakats commented Dec 1, 2025

It seems that Windows arm64 tests became much slower
and can no longer fit in 10 minutes with this patch. Before,
it finished in 5-6 minutes.

First seen in this PR, and in almost all runs since:
https://github.com/curl/curl/actions/runs/19823354249

It also applies to Intel builds, but those took 3 minutes and
now 6, which still fits. But also much slower.

Reference from before:
https://github.com/curl/curl/actions/runs/19797266382

master build after:
https://github.com/curl/curl/actions/runs/19824903607

(affects both MSVC and mingw. there is bottleneck somewhere
on Windows apparently.)

@vszakats
Copy link
Member

vszakats commented Dec 2, 2025

windows arm64 MSVC time summaries:

Before:

  Test suite total running time breakdown per task...
  
  Spent 0946.949 seconds starting and verifying test harness servers.
  Spent 0091.779 seconds reading definitions and doing test preparations.
  Spent 0927.179 seconds actually running test tools.
  Spent 0214.141 seconds awaiting server logs lock removal.
  Spent 0028.763 seconds verifying test results.
  Spent 2208.811 seconds doing all of the above.

After:

  Test suite total running time breakdown per task...
  
  Spent 0849.428 seconds starting and verifying test harness servers.
  Spent 0632.870 seconds reading definitions and doing test preparations.
  Spent 0923.245 seconds actually running test tools.
  Spent 0127.122 seconds awaiting server logs lock removal.
  Spent 0974.010 seconds verifying test results.
  Spent 3506.675 seconds doing all of the above.

vszakats added a commit that referenced this pull request Dec 4, 2025
…t run)

Patch #19786 removed an exception, which caused many more CI jobs to run
`memanalyze.pl`. It resulted in a 10-30% (Linux), 15% (macOS), 100% (2x,
on Windows) slowdown of runtest steps. It also made some jobs exceed
their time limits and fail (seen with the Windows ARM64 job.)

Turns out the overhead was caused by calling `memanalyze.pl` as
an external process (twice per test), which in turn had to load a full
Perl stack from scratch each time.

Fix by converting memanalyze to a Perl modul, loaded as part of
`runtests.pl`, which eliminated the overhead completely.

It also sped up existing jobs where memanalyze was run for a long time,
e.g. two c-ares Windows jobs, saving 4.5m per CI run.

Supersedes #19819
Bug: #19786 (comment)
Follow-up to fb7033d #19786
Closes #19821
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants