← 목록
기타 2026-07-09 4KB 읽기 3분

표준 라이브러리 설정() 오용 14곳+ 일괄 수정 → 회귀 스위트 hang 복구

개요

2026-07-09 ISA729 울트라 감사(작동성 렌즈, /Users/ef/CrownyOS/docs/isa729-감사-20260709/적대_작동성.md)가 발견한 최고 레버리지 결함을 수정: 표준 이미지 라이브러리 다수가 설정(arr, i, v)(op415 ARRAY_SET — 무조건 덮어쓰기+배열핸들 반환)을 읽기 함수처럼 오용(설정(arr, 0, 0)으로 너비/높이/픽셀을 "읽으려" 시도)해, 실제로는 데이터를 파괴하고 힙주소를 반환값으로 받아 너비*높이 같은 계산이 억 단위로 폭증 → tests/run_all.sh가 수 분간 hang.

무엇을 했는지

  1. 정밀 판정 로직 수립: 설정(ARR,IDX,VAL) 호출을 4가지로 분류(VAL≠0=실쓰기 / bare-statement=실쓰기 / ARR=설정(ARR,...) 자기참조=실쓰기 / 그 외=읽기오용) — 한선씨로 판정함수 재현·검증(설정오용판정(), 크라우니코드 학습DB 설정오용판정_읽기패턴탐지 등록).
  2. 전수 재검색: libs/*.한선 ~10,081개 파일 전체 스캔(원 감사 목록 14개에 국한하지 않음).
- 원 목록 14개 중 4개(동시성/메모리/셀DB/웹코드이력서)는 정밀검증 결과 오탐(설정()이 항상 정상 쓰기로만 쓰임) — 무수정. - 원 목록에 없던 기록.한선(이미지 실행취소/히스토리 라이브러리)에서 신규 misuse 발견 — 이미지 딥카피 함수가 원본을 파괴하며 복사하던 심각한 버그.
  1. 최종 수정 11개 파일, 338개 호출부: CVF(68) RGBA(26) 그라디언트(8) 기록(14) 도구(19) 레이어(22) 변환(18) 브러시(10) 색공간(60) 선택(46) 필터(47). 각 파일 수정 전 .bak-설정수정 백업.
  2. 검증: 11개 전부 개별 컴파일 성공. 필터.한선 밝기조절() 스모크(2×2 이미지)로 너비/높이/픽셀값 정확성 확인. perl -e 'alarm 600; exec @ARGV' bash tests/run_all.sh완주(35.33초), 99 통과/8 실패(107개 중). 이전 hang 원인이던 벤치마크.한선·이미지통합테스트.한선 모두 통과 전환. 잔여 8실패는 본 패치 대상 라이브러리를 사용하지 않는 무관 이슈(삼진트랜스포머스택 컴파일실패, .sh 5종)로 별도 이관.
  3. pkg 동기화 확인: pkg/libs/의 동일 11개 파일이 이미 수정 후 형태와 바이트단위 100% 동일 — 별도 동기화 불필요(이미 일치, fix 정확성의 독립 교차검증).
  4. 한선코드젠.한선(RPN 방언 자체호스팅 코드젠, 표준문법 아님)은 회귀에 미포함·자동판정 위험 커서 수정 보류(수동검토 권고로 문서화).

관련 파일

  • 수정: /Users/ef/CrownyOS/crownyc/libs/{CVF,RGBA,그라디언트,기록,도구,레이어,변환,브러시,색공간,선택,필터}.한선
  • 백업: 위 각 파일의 .bak-설정수정 사본
  • 판정로직: /private/tmp/.../scratchpad/rule_analysis/fix_seolj.py (분석용, 반복사용 시 재작성 가능), 한선씨 재현본은 크라우니코드 학습DB 설정오용판정_읽기패턴탐지로 등록
  • 패치검증 상세: /Users/ef/CrownyOS/docs/isa729-감사-20260709/패치검증_표준lib.md
  • 원 감사: /Users/ef/CrownyOS/docs/isa729-감사-20260709/적대_작동성.md, 최종판정.md

잔여 이슈

  • 한선코드젠.한선 2건(트릿 24/26 초기화) — 수동검토 대기.
  • run_all.sh 잔여 8실패(본 작업과 무관): 삼진트랜스포머스택.한선 컴파일 실패, ab_vm.sh/golden_harness.sh/run.sh/WASM.sh/크라우니국_전체.sh/회귀실행.sh — 별도 티켓/세션 필요.