Test: regression for iccApplyToLink -PCC profile ownership (#1336)#1340
Conversation
Adds a script CTest that drives iccApplyToLink's AddXform error path with committed test-data profiles (a monitor input profile with a -PCC attached, followed by an abstract profile that fails icCmmStatBadSpaceLink) under LeakSanitizer. Pre-fix the early return strands the -PCC profile (608 B via CIccProfile::ReadBasic); the test fails on any LeakSanitizer report. The tool is expected to exit non-zero (it is reporting the chain error), so the pass/fail signal is the absence of a leak, not the tool exit code. Uses only tracked profiles (no generated-profile fixture). Verified failing pre-fix and passing with the #1339 fix applied. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Note: Auto-Merge is On. Merge on your Schedule. |
xsscx
left a comment
There was a problem hiding this comment.
Job Fail on CTest
2026-06-14 03:35:54 UTC
[FAIL] iccApplyToLink leaked a -PCC profile on the AddXform error path (#1336)
#7 0x7f480ed191b2 in CIccProfile::ReadBasic(CIccIO*) /__w/iccDEV/iccDEV/IccProfLib/IccProfile.cpp:1363:12
#10 0x55cd821da860 in main /__w/iccDEV/iccDEV/Tools/CmdLine/IccApplyToLink/iccApplyToLink.cpp:782:23
#2 0x55cd821da860 in main /__w/iccDEV/iccDEV/Tools/CmdLine/IccApplyToLink/iccApplyToLink.cpp:782:23
#2 0x55cd821da860 in main /__w/iccDEV/iccDEV/Tools/CmdLine/IccApplyToLink/iccApplyToLink.cpp:782:23
SUMMARY: AddressSanitizer: 608 byte(s) leaked in 11 allocation(s).
|
The single failing check ( It goes green as soon as the paired fix #1339 is merged. Suggested order: merge #1339 (fix) → re-run this PR → merge #1340 (test). This split exists only because the fork-PR automation gate blocks fork PRs that touch test/CI paths, so the fix ships from the fork and the test ships here. |
|
@colourbill-ctrl #1339 Merged but this Job indicates Fail |
xsscx
left a comment
There was a problem hiding this comment.
2026-06-14 19:59:31 UTC
Auto-Merge is On. Merge on your schedule.
…nk-pcc-regression
|
Thanks @xsscx. The failure was stale, not a real leak: this PR's branch predated the #1339 merge, so the last CI run built I've merged current Verified locally (clang-18, ASAN+UBSAN), fix now in tree: Should go green on the re-run. |
Summary
Adds a deterministic CTest regression for the
iccApplyToLink-PCCleak fixed in #1339 (issue #1336). On an upstream branch because it touches maintainer-owned automation paths (.github/scripts/,Build/Cmake/) that a fork PR cannot modify.What it guards
iccApplyToLinkmust release every-PCCprofile it opened on its error-exit paths (the leak in #1336 was anAddXform-failure early return that skipped thepccListcleanup). The script drives that path with committed test-data profiles:The abstract profile doesn't connect →
AddXformreturnsicCmmStatBadSpaceLink→ the early return. Pre-fix the-PCCprofile is stranded (608 B viaCIccProfile::ReadBasic); the run executes under LeakSanitizer and the test fails on any leak report. The tool is expected to exit non-zero (it's reporting the chain error), so the pass/fail signal is the absence of a leak, not the tool exit code.Verification
ctest -R issue-1336FAILS —SUMMARY: AddressSanitizer: 608 byte(s) leaked.🤖 Generated with Claude Code