Repository navigation
curl.yml: skip curl test 1964 on the master leg - #11933
Conversation
- The master leg passes TFLAGS='!1964' to make test-nonflaky; the curl-8_4_0 leg passes an empty TFLAGS.
|
|
retest this please |
|
@claude review |
wolfSSL-Fenrir-bot
left a comment
There was a problem hiding this comment.
Fenrir Automated Review — PR #11933
Scan targets checked: wolfssl-pr-general
Review type: general (no scan target covers the changed files)
Coverage: 1 of 1 in-scope changed file(s) opened by the reviewer
Fenrir result: Approved ✅
No new issues found in the changed files.
Advisory only — this automated result does not count as a GitHub approval.
Review tier: Lite
There was a problem hiding this comment.
LGTM. This CI-only change skips curl test 1964 on the master leg and leaves everything else as it was.
What was reviewed:
- The matrix expression:
mastergets!1964, andcurl-8_4_0gets an empty TFLAGS. That leg passes nothing extra to runtests, so it runs the same tests as before. - Passing
TFLAGSon the make command line: curl's test-nonflaky target hands it to runtests along with the non-flaky flags.!Nis runtests' syntax for excluding a test. History expansion is off in non-interactive bash, so!inside the double quotes is safe.
Extended reasoning...
The change touches only .github/workflows/curl.yml. It adds a step-level env var and passes it as TFLAGS to curl's make test-nonflaky, which excludes test 1964 only on the curl master leg. No wolfSSL library, build or test code changes, and there is no security-sensitive surface beyond skipping one external test. The comment documents the root cause as a misaligned HMAC context in curl and says when to remove the skip. I approved because the change is small and self-contained, no CODEOWNERS file covers it, and the only earlier review was a non-blocking COMMENTED review.
|
Jenkins retest please |
|
Retest this please. (PRB disrupted or something) |
|
Thank you @yosuke-wolfssl |
Problem
The
curl Testjob fails on every PR since 2026-10-29 ~10:30 UTC. Only themasterleg fails, on curl test 1964 (HTTP AWS_SIGV4 with X-Xxx-Date header set manually), which segfaults (exit 139) before sending a request.The trigger is curl commit
d2f86ea632("NTLM: drop support"). It changed howruntests.pldefines thecryptotest feature fromNTLM || Kerberos || SPNEGOtoSSL || Kerberos || SPNEGO. Our build never had NTLM, so tests needingcryptowere all skipped until now. 1964 now runs for the first time and hits a curl bug:Curl_HMAC_init()places the two hash contexts right after the 24-bytestruct HMAC_context, 8 bytes off 16-byte alignment.struct wc_Sha256hasALIGN16members on 64-bit CPUs, so GCC initializes it withmovaps, which faults on the misaligned address inwc_InitSha256_ex.This is not a wolfSSL regression. The CRAM-MD5 tests go through the same curl HMAC code and pass, because
wc_Md5has noALIGN16.Fix (
.github/workflows/curl.yml)masterleg passesTFLAGS='!1964'tomake test-nonflaky, which skips that one test. All other tests still run, including the 105 other newly enabledcryptotests.curl-8_4_0leg is unchanged.The skip should be removed once curl fixes the HMAC context alignment.
Verification
ubuntu:24.04container under valgrind: General Protection Fault atmovaps %xmm0,(%rdi)inwc_InitSha256_ex, called fromCurl_HMAC_init/Curl_output_aws_sigv4.struct HMAC_contextto 32 bytes makes the fault go away and test 1964 pass.c7d6a625c2skips 1964 ("curl lacks crypto support") and curld2f86ea632runs it.