Re: 8.14.1: Test 1542 racy?

Christian Weisgerber via curl-library <[email protected]>
Newsgroups gmane.comp.web.curl.library
Message-ID <[email protected]>
Stefan Eissing:

> Not reproducible on macOS. If you apply the attached patch on a debug build, we should learn more. The log in tests/log/stderr1542 should then show when connections are reused with that life times and when they are closed instead.
> 
> The close that is missing in your failed runs would be missing the line:
> == Info: Too old connection (20xx ms since creation), disconnect it

Here's the run output...

------------------->
test 1542...[connection reuse with CURLOPT_MAXLIFETIME_CONN]
--p---oe--- OK (1   out of 10 , remaining: 00:27, took 3.063s, duration: 00:03)
test 1542...[connection reuse with CURLOPT_MAXLIFETIME_CONN]
--p---oe--- OK (2   out of 10 , remaining: 00:20, took 2.075s, duration: 00:05)
test 1542...[connection reuse with CURLOPT_MAXLIFETIME_CONN]

 1542: output (log/stderr1542) FAILED:
--- log/check-expected  Mon Jun  9 23:10:22 2025
+++ log/check-generated Mon Jun  9 23:10:22 2025
@@ -1,5 +1,4 @@
 == Info: Connection #0 to host 127.0.0.1 left intact[CR][LF]
 == Info: Connection #0 to host 127.0.0.1 left intact[CR][LF]
 == Info: Connection #0 to host 127.0.0.1 left intact[CR][LF]
-== Info: shutting down connection #0[CR][LF]
-== Info: Connection #1 to host 127.0.0.1 left intact[CR][LF]
+== Info: Connection #0 to host 127.0.0.1 left intact[CR][LF]

 - abort tests
TESTDONE: 3 tests were considered during 7 seconds.
TESTDONE: 2 tests out of 3 reported OK: 66%
<-------------------

... and here's log/stderr1542:

------------------->
URL: http://127.0.0.1:46884/1542
== Info: !!! WARNING !!!
== Info: This is a debug build of libcurl, do not use in production.
== Info:   Trying 127.0.0.1:46884...
== Info: Connected to 127.0.0.1 (127.0.0.1) port 46884
== Info: using HTTP/1.x
== Info: sending last upload chunk of 58 bytes
== Info: Curl_xfer_send(len=58, eos=1) -> 0, 58
=> Send header, 58 bytes (0x3a)
0000: GET /1542 HTTP/1.1
0014: Host: 127.0.0.1:46884
002b: Accept: */*
0038: 
<= Recv header, 17 bytes (0x11)
0000: HTTP/1.1 200 OK
<= Recv header, 19 bytes (0x13)
0000: Content-Length: 0
<= Recv header, 2 bytes (0x2)
0000: 
== Info: Connection #0 to host 127.0.0.1 left intact
== Info: connection has been idle for 0 ms (max idle 118 sec)
== Info: Re-using existing http: connection with host 127.0.0.1
== Info: sending last upload chunk of 58 bytes
== Info: Curl_xfer_send(len=58, eos=1) -> 0, 58
=> Send header, 58 bytes (0x3a)
0000: GET /1542 HTTP/1.1
0014: Host: 127.0.0.1:46884
002b: Accept: */*
0038: 
<= Recv header, 17 bytes (0x11)
0000: HTTP/1.1 200 OK
<= Recv header, 19 bytes (0x13)
0000: Content-Length: 0
<= Recv header, 2 bytes (0x2)
0000: 
== Info: Connection #0 to host 127.0.0.1 left intact
== Info: connection has been idle for 1993 ms (max idle 118 sec)
== Info: connection has been idle for 1993 ms (max idle 118 sec)
== Info: Re-using existing http: connection with host 127.0.0.1
== Info: sending last upload chunk of 58 bytes
== Info: Curl_xfer_send(len=58, eos=1) -> 0, 58
=> Send header, 58 bytes (0x3a)
0000: GET /1542 HTTP/1.1
0014: Host: 127.0.0.1:46884
002b: Accept: */*
0038: 
<= Recv header, 17 bytes (0x11)
0000: HTTP/1.1 200 OK
<= Recv header, 19 bytes (0x13)
0000: Content-Length: 0
<= Recv header, 2 bytes (0x2)
0000: 
== Info: Connection #0 to host 127.0.0.1 left intact
== Info: connection has been idle for 0 ms (max idle 118 sec)
== Info: connection age is 1996 ms (max 1 sec)
== Info: Re-using existing http: connection with host 127.0.0.1
== Info: sending last upload chunk of 58 bytes
== Info: Curl_xfer_send(len=58, eos=1) -> 0, 58
=> Send header, 58 bytes (0x3a)
0000: GET /1542 HTTP/1.1
0014: Host: 127.0.0.1:46884
002b: Accept: */*
0038: 
<= Recv header, 17 bytes (0x11)
0000: HTTP/1.1 200 OK
<= Recv header, 19 bytes (0x13)
0000: Content-Length: 0
<= Recv header, 2 bytes (0x2)
0000: 
== Info: Connection #0 to host 127.0.0.1 left intact
Test ended with result 0
------------------->

-- 
Christian "naddy" Weisgerber                          [email protected]
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.