https://bz.apache.org/bugzilla/show_bug.cgi?id=65159

--- Comment #9 from WJCarpenter <[email protected]> ---
We use the default MPMs, so winnt for Windows and (I think) worker for Linux.
Apache httpd 2.4.48.

So far, we have only observed this on Windows, but we haven't been able to rule
out that it happens on Linux. We observed it on a production system, not a load
test. 

I have been working on trying to make a simple repro. The one I have so far
cranks down the number of threads on Windows to a very small number (6) and
then sends a few dozen requests with a long curl command line specifying
HTTP/1.0. No LB or reverse proxy in the path. You don't have to tell me that
that's not a realistic scenario in 2021. I'm just trying to prove it happens
sometimes in a reproducible way. The same test has not yet produced a repro on
Linux.

I added some logging of the interesting parts of the unique_id_rec (the
timestamp, the counter, and the "thread index" that comes from
r->connection->id). Here is an example of a duplicate that happened in my test
(ignore the "d" after each integer ... some clown programmer got the format
wrong in the printf):

Unique ID: ts: 2986088033d, ctr 41467d, tdx 16777216d,
YRb8sYYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 2986088033d, ctr 41467d, tdx 16777216d,
YRb8sYYFmO-FZbwnLY37oQAAAAE

Unique ID: ts: 3002865249d, ctr 41467d, tdx 16777216d,
YRb8soYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3002865249d, ctr 41467d, tdx 16777216d,
YRb8soYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3002865249d, ctr 41467d, tdx 16777216d,
YRb8soYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3002865249d, ctr 41467d, tdx 16777216d,
YRb8soYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3002865249d, ctr 41467d, tdx 16777216d,
YRb8soYFmO-FZbwnLY37oQAAAAE

Unique ID: ts: 3019642465d, ctr 41467d, tdx 16777216d,
YRb8s4YFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3019642465d, ctr 41467d, tdx 16777216d,
YRb8s4YFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3019642465d, ctr 41467d, tdx 16777216d,
YRb8s4YFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3019642465d, ctr 41467d, tdx 16777216d,
YRb8s4YFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3019642465d, ctr 41467d, tdx 16777216d,
YRb8s4YFmO-FZbwnLY37oQAAAAE

Unique ID: ts: 3036419681d, ctr 41467d, tdx 16777216d,
YRb8tIYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3036419681d, ctr 41467d, tdx 16777216d,
YRb8tIYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3036419681d, ctr 41467d, tdx 16777216d,
YRb8tIYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3036419681d, ctr 41467d, tdx 16777216d,
YRb8tIYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3036419681d, ctr 41467d, tdx 16777216d,
YRb8tIYFmO-FZbwnLY37oQAAAAE

Unique ID: ts: 3053196897d, ctr 41467d, tdx 16777216d,
YRb8tYYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3053196897d, ctr 41467d, tdx 16777216d,
YRb8tYYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3053196897d, ctr 41467d, tdx 16777216d,
YRb8tYYFmO-FZbwnLY37oQAAAAE
Unique ID: ts: 3053196897d, ctr 41467d, tdx 16777216d,
YRb8tYYFmO-FZbwnLY37oQAAAAE

Those were on Windows with these httpd.conf items:

MaxConnectionsPerChild 0
ThreadsPerChild 6
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 8

Here's how I printed the above lines (right before "return str" in
gen_unique_id())

    //    ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(01560)
    fprintf(stderr,
                 "Unique ID: ts: %ud, ctr %ud, tdx %ud, %s\n",
                  new_unique_id.stamp, new_unique_id.counter,
new_unique_id.thread_index, str);

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to