After investigating the CI failures, I discovered that they are due to a race condition between the DUMP_HEADER macro and some other debug logging in HttpTransact. The debug output can be interleaved because the DUMP_HEADER macro makes separate, unsynchronized calls to fprintf(stderr, ...), and the AuTest fails because traffic.out doesn't match the gold file. I intend to fix this by batching everything in one call to fprintf instead of separate ones.
After investigating the CI failures, I discovered that they are due to a race condition between the
DUMP_HEADERmacro and some other debug logging inHttpTransact. The debug output can be interleaved because theDUMP_HEADERmacro makes separate, unsynchronized calls tofprintf(stderr, ...), and the AuTest fails because traffic.out doesn't match the gold file. I intend to fix this by batching everything in one call tofprintfinstead of separate ones.