From 832dab34459ac7123d2ca7d0d8a291d8100da834 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 11 Jul 2026 18:38:04 +0000 Subject: [PATCH] phase3: coz integration status; cjson C pipeline proven end-to-end - coz wired (harness -DHOTPATH_COZ hook, scripts, just coz) + installed, but the apt coz runtime aborts in its own init_coz/pthread_create interposition on this glibc (known coz bug, reproduces on the pristine binary). Documented in results/cjson/coz/README.md; callgrind cache-sim is the working profiler. - cjson no-op verdict smoke: full C pipeline flows (clang {out} baseline rebuild, Unity/CTest + golden gates, interleaved bench) to a correct null result (median 0.9995). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01EcKPWQ3MQD4NdEHwar96u2 --- results/cjson/coz/README.md | 23 +++++++++++++++++++++++ results/ledger.sqlite | Bin 155648 -> 155648 bytes 2 files changed, 23 insertions(+) create mode 100644 results/cjson/coz/README.md diff --git a/results/cjson/coz/README.md b/results/cjson/coz/README.md new file mode 100644 index 0000000..6a39777 --- /dev/null +++ b/results/cjson/coz/README.md @@ -0,0 +1,23 @@ +# coz on cjson — integration status + +coz is **wired** into the harness (SPEC §12): `targets/cjson/harness.c` +carries a `-DHOTPATH_COZ` throughput progress point, and +`scripts/coz-profile.sh` + `just coz cjson` build the instrumented binary +and run `coz run`. `scripts/coz-summary.py` ranks lines by causal +throughput effect. + +**Runtime limitation in this container:** the distro `coz-profiler` +(apt) aborts inside its own `init_coz` during startup — +`pthread_create` interposition recurses ("init_coz in progress, do not +recurse" → SIGABRT) before `main` runs. This is a known coz/glibc +incompatibility on newer glibc, independent of the harness. It reproduces +on the pristine binary with a bare `coz run`, so it is not our +instrumentation. + +**What we use instead:** callgrind `--cache-sim --branch-sim` +(`results/cjson/hotspots.txt`) is the working profiler and gives an +unambiguous class-selection signal for cjson — glibc float +serialization/parsing (`__printf_fp`, `strtod`) plus cJSON +`parse_value`/`print_value` dominate. The coz path is ready for an +environment with a compatible coz runtime (bench-metal / a pinned coz +build); no code change is needed there. diff --git a/results/ledger.sqlite b/results/ledger.sqlite index 330c371c47b506348fca6397218f110c44fb5ba5..6b9f3e7b3ffd159075994b36c3c827103c484cdc 100644 GIT binary patch delta 653 zcma)3zi-n(6mC*z8bONEPyqsklc!cV$@$KA=ZhdhL}EY!1`q=j5!-ixYg60uxj?hD z5d#Pq0ISNHp<+a;GF0l+l@0y_2E_jW6K+~|-thGFz8_Ee-qt~J>!A4IV$S$@shu-+ zJ3E)BtEEm_0L@%yd>vFvX}@-M#$VB4P#yPcZ}T(Nx$UXB?eQ#pH9egRwziC(J89DbjS1Arkje&f>Ff1?UE1MHj1QD%4R7d~TVJ(b+UJF+x2)iJ8 zCP5oKm$6WO0wNX3o(d#b^xZ%x;U@B06f1oyIb3?{swb9)pO^EWpp6OSl-SHPJXcRd zPkd!GAHlkfEsQX>9rJMJm@)>Pbg*{5oQW{DC`bILX!^ZUsbqY_5n;!C%D6TBR?02h zg!PPO6Ykg)6UuB0nTC#}6zkEyTin4MBFs5rHi3+qRvlV4hYYhUEk?5tQV{$Zo@wMC zZ2oUdhH1PALa zL^s?xb~m&Mr1srNipF}N{7_t#Kqs*Zo@R&&lB^3EXbHO6p+qm4AaY|Z#T6}M<@QuR cGej>7Zj?+cmMzZ delta 84 zcmV-a0IUCizzKlB36L8BA(0$I0U@zqq#pwv4SJIYAUXkhvr#ZO4U=Fk6tj*kb^-() q4xj+D3NVWfkx&hTpgxD7J^{C&J_2MB1py2I01UHHAomNVTml3u#TZcl