runtests.pl: kill processes locking test log files - #6179
Conversation
c569903 to
b7742e1
Compare
|
👉 View analysis in DeepCode’s Dashboard | Configure the bot |
05486b6 to
9dd808f
Compare
9dd808f to
df9e661
Compare
36ffbec to
f25af18
Compare
f25af18 to
3f443f2
Compare
3f443f2 to
7d0b643
Compare
7d0b643 to
a9c21b9
Compare
a9c21b9 to
ffcdffc
Compare
ffcdffc to
8e8d6e5
Compare
|
I will continue working on this. I also plan to implement Linux/macOS support for this via |
|
on Linux and macOS the files aren't "locked" when another process is reading/writing them so what would the reason and idea be for this on those platforms? |
That is correct, but it would still be good to know if the files are kept open while they should already be closed. So the detection part is probably a good idea, but maybe not the process killing part. |
8e8d6e5 to
8918776
Compare
8918776 to
52b9674
Compare
|
@bagder you were right, since the deletion of "locked" files won't fail, the detection part wouldn't even run like on Windows. |
|
Rebased and ready for review. |
jay
left a comment
There was a problem hiding this comment.
I think you should make this behavior an option, like runtests.pl -f forcibly kill lingering processes or something. This seems like a diagnostic for us to run in the CI and not for default use.
|
I consider it a general part for CI runs that should always be enabled, but yes: a flag for outside of CI makes sense. |
52b9674 to
ec6cff5
Compare
jay
left a comment
There was a problem hiding this comment.
The commit message should say that this is a new option
While Msys2 has a pwd binary which supports -L, Msys1 only has a built-in one with that feature. Part of curl#6179
ec6cff5 to
22a346c
Compare
While Msys2 has a pwd binary which supports -L, Msys1 only has a shell built-in with that feature. Reviewed-by: Jay Satiro Part of #6179
In the cases observed throughout the last year, `handle64` run once per test run, but with no action (match or task kill). It did not help with flakiness and seems redundant. runtests launched it (if present) in Cygwin/MSYS jobs too, where it probably shouldn't have, because we have seen no flakiness there. In CI the tool was present and launched in MSYS2 jobs, but not in Cygwin. After this patch the "clearlocks" warning remain in the log. They are consistently appearing once in every MSVC CI log, early in the tests: ``` test 3207 SKIPPED: curl lacks OpenSSL support [...START-OF-TESTS...] test 0003...[HTTP POST with auth and contents but with content-length set to 0] --pd---e--- OK (3 out of 1596, remaining: 17:50, took 1.423s, duration: 00:02) test 0007...[HTTP with cookie parser and header recording] --pd--oe--- OK (7 out of 1596, remaining: 07:51, took 1.485s, duration: 00:02) test 0006...[HTTP with simple cookie send] --pd---e--- OK (6 out of 1596, remaining: 09:11, took 1.488s, duration: 00:02) test 0005...[HTTP over proxy] --pd---e--- OK (5 out of 1596, remaining: 11:03, took 1.491s, duration: 00:02) CUSTOMBUILD : error : 169: cleardir(log/8/lock) failed [D:\a\curl\curl\bld\tests\test-ci.vcxproj] test 0001...[HTTP GET] --pd---e--- OK (1 out of 1596, remaining: 55:34, took 1.466s, duration: 00:02) test 0004...[Replaced internal and added custom HTTP headers] ``` Ref: https://github.com/curl/curl/actions/runs/13546192228/job/37858323380?pr=16484#step:14:167 Ref: e53523f #14859 Ref: 311c31e #6179 Follow-up to 3a8920e #16600 Closes #16484
In the cases observed throughout the last year, `handle64` run once per test run, but with no action (match or task kill). It did not help with flakiness and seems redundant. runtests launched it (if present) in Cygwin/MSYS jobs too, where it probably shouldn't have, because we have seen no flakiness there. In CI the tool was present and launched in MSYS2 jobs, but not in Cygwin. After this patch the "clearlocks" warning remain in the log. They are consistently appearing once in every MSVC CI log, early in the tests: ``` test 3207 SKIPPED: curl lacks OpenSSL support [...START-OF-TESTS...] test 0003...[HTTP POST with auth and contents but with content-length set to 0] --pd---e--- OK (3 out of 1596, remaining: 17:50, took 1.423s, duration: 00:02) test 0007...[HTTP with cookie parser and header recording] --pd--oe--- OK (7 out of 1596, remaining: 07:51, took 1.485s, duration: 00:02) test 0006...[HTTP with simple cookie send] --pd---e--- OK (6 out of 1596, remaining: 09:11, took 1.488s, duration: 00:02) test 0005...[HTTP over proxy] --pd---e--- OK (5 out of 1596, remaining: 11:03, took 1.491s, duration: 00:02) CUSTOMBUILD : error : 169: cleardir(log/8/lock) failed [D:\a\curl\curl\bld\tests\test-ci.vcxproj] test 0001...[HTTP GET] --pd---e--- OK (1 out of 1596, remaining: 55:34, took 1.466s, duration: 00:02) test 0004...[Replaced internal and added custom HTTP headers] ``` Ref: https://github.com/curl/curl/actions/runs/13546192228/job/37858323380?pr=16484#step:14:167 Ref: e53523f curl#14859 Ref: 311c31e curl#6179 Follow-up to 3a8920e curl#16600 Closes curl#16484
For now only required and implemented for Windows.
Ref: #6058