-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
8.8.0: Test 1553 (IMAP cleanup before a connection was created) appears flaky on some Gentoo systems #13782
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This is with parallel tests enabled, which has some known instabilities (mostly on overloaded systems) which we haven't been able to track down yet. See PR #11510.
|
@thesamesam bisected, first bad commit
Happens regardless of parallelism. |
(Indeed fails still with -j1 and -j1 + running solely that test to be sure.) Yeah, before 2d2c27e (cc @icing), it worked for me with our packaging network sandbox enabled. Afterwards, it requires it to be off. We can skip the test if it does indeed need some level of network access for e.g. the DNS query to fail, but we wanted to report this given it's both a new failure (when the test hasn't changed) and it felt a bit off. If you can confirm this is an OK result of that commit, skipping downstream works for us. But happy to probe more too if that's useful. |
- sprodic failes of test1553 are reported in curl#13782. These seem only to happen in very specific environments, but point to a race somewhere in curl's async resolver handling. - add debug logging to test1553 to get more output - add debug logging to the c-ares resolve monitoring, e.g. listing sockets and timeouts returned
@Kangie please run #13824 with a
If there is a race between curl collecting this and cares setting up the connections, I'd expect a 0 to be returned here. |
|
This looks as if c-ares was set up correctly, but did not get a reply on the non-existing hostname for a whole minute. |
- determine the actual poll timeout *after* all sockets have been collected. Protocols and connection filters may install new timeouts during collection. - add debug logging to test1533 where the mistake was noticed - refs curl#13782
The issue should be fixed with #13825. The bug was indeed introduced with 2d2c27e. test1533 sets a timeout of 60 seconds and expects the What happens then is that polling gets no events and returns when the timeout expires. But the timeout calculation was no longer correct with the change. c-ares wants to be invoked again after some 3500ms, but that did not take effect. So the poll waited the full 60 seconds and the test failed. Now, the test should take some 3+ seconds and succeed. With a working resolver, it would of course be faster. |
<3. I'll be at my desk soon and report back. Thanks for digging into this, I really appreciate it. |
Perfect.
|
This release fixes an issue where under certain circumstances (in particular when invoked within the Gentoo sandbox), `multi_wait()` would incorrectly calculate the timeout, resulting in test failures. Allow setting `--enable-debug` via USE=debug with an appropriate warning to the ebuild and live ebuild. Closes: https://bugs.gentoo.org/932660 See-also: curl/curl#13782 Signed-off-by: Matt Jolly <kangie@gentoo.org>
I am unable to have test 1553 pass consistently on Gentoo in 8.8.0, however we have not had this issue with previous versions.
I raised this briefly during the 8.8.0-older-mbedtls testing, but Stefan and Daniel were unable to reproduce so I put it down to a weird failure as it'd already passed on another of my dev machines with a very similar configuration. One of the Gentoo automated build machines (tinderboxes) and a Gentoo developer have noted this issue to me, so I figured it worth raising here.
I have one workstation where this test consistently passes. I have another where it passes if I run the tests as my user or if I run them with the portage
network-sandbox
feature disabled (fine for testing, but not sustainable).We can disable this test in the Gentoo ebuild however I'm interested in why this was not an issue for us in the past and appears inconsistent.
build.log
See also
I did this
I expected the following
curl/libcurl version
curl 8.8.0
operating system
Gentoo Linux
The text was updated successfully, but these errors were encountered: