S134 · SOURCE-BOUND GATE EVIDENCE
K1/MEM1–MEM2/K2: gerçek EL0 responder OOM cancellation
Operations --test hedefi → focused test içindeki include_str!/#[path] bağı → kaynak kesiti Bu sayfa yalnız S134 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S134Focused kod testiOperations id exactsource SHA exacttest target exact
operation: k1-mem1-mem2-k2-el0-responder-oom-teardown-partial
uygulama/model · focused test · Operations · 3 exact excerpt
sequence-bound=true · implementation-bound=true
01 · Testin bağlı olduğu uygulama/model kodu
Kapının yürüttüğü gerçek kaynak
tam dosyaL1–L763
scripts/qemu-smoke.sh::qemu-smoke.sh
#!/bin/sh
set -eu
kernel_elf=${1:?"kernel ELF yolu gerekli"}
qemu_bin=${QEMU:-qemu-system-aarch64}
# The complete S154 matrix retires 32 full tables (1024 entries). Keep the
# host observation window above the measured end-to-end guest workload while
# leaving every in-guest 320 ms deadline/SLA unchanged.
smoke_seconds=${QEMU_SMOKE_SECONDS:-32}
command -v "$qemu_bin" >/dev/null 2>&1 || {
echo "HATA: $qemu_bin bulunamadı" >&2
exit 1
}
[ -f "$kernel_elf" ] || {
echo "HATA: kernel ELF bulunamadı: $kernel_elf" >&2
exit 1
}
smoke_log=$(mktemp -t aselsanos-qemu-smoke)
smoke_log_dest=${QEMU_SMOKE_LOG_DEST:-}
qemu_pid=
cleanup() {
if [ -n "$qemu_pid" ] && kill -0 "$qemu_pid" 2>/dev/null; then
kill -INT "$qemu_pid" 2>/dev/null || true
wait "$qemu_pid" 2>/dev/null || true
fi
if [ -n "$smoke_log_dest" ]; then
cp "$smoke_log" "$smoke_log_dest"
fi
rm -f "$smoke_log"
}
trap cleanup EXIT HUP INT TERM
"$qemu_bin" \
-M virt \
-cpu cortex-a72 \
-smp 2 \
-m 128M \
-nographic \
-kernel "$kernel_elf" \
>"$smoke_log" 2>&1 &
qemu_pid=$!
sleep "$smoke_seconds"
if kill -0 "$qemu_pid" 2>/dev/null; then
kill -INT "$qemu_pid"
fi
set +e
wait "$qemu_pid"
qemu_status=$?
set -e
qemu_pid=
if [ "$qemu_status" -ne 0 ]; then
echo "HATA: QEMU kontrollü çıkış kodu $qemu_status" >&2
tail -n 120 "$smoke_log" >&2
exit 1
fi
if grep -aEiq \
'KERNEL PANIC|stack overflow|UNKNOWN INSTRUCTION|M8-BUG|IPC-DEMO-ELF.*PANIC|ASELSAN/EL0-RETURN FAIL|strict validation/load/spawn rejected|kernel data abort|kernel instruction abort|Data Abort, same EL|Instruction Abort, same EL' \
"$smoke_log"; then
echo "HATA: QEMU logunda yasaklı kernel/genel fault marker bulundu" >&2
grep -aEin \
'KERNEL PANIC|stack overflow|UNKNOWN INSTRUCTION|M8-BUG|IPC-DEMO-ELF.*PANIC|ASELSAN/EL0-RETURN FAIL|strict validation/load/spawn rejected|kernel data abort|kernel instruction abort|Data Abort, same EL|Instruction Abort, same EL' \
"$smoke_log" >&2
exit 1
fi
grep -aFq '[K1-ELF] hello-elf strict spawn PASS' "$smoke_log" || {
echo "HATA: hello ELF strict loader publication marker'ı bulunamadı" >&2
tail -n 120 "$smoke_log" >&2
exit 1
}
grep -aFq '[M8-SUCCESS] ipc-demo-elf strict spawn PASS' "$smoke_log" || {
echo "HATA: IPC ELF strict loader publication marker'ı bulunamadı" >&2
tail -n 120 "$smoke_log" >&2
exit 1
}
strict_wx_count=$(grep -aFc 'strict spawn PASS' "$smoke_log" || true)
# Frozen S146 cumulative boundary: QEMU smoke PASS: strict ELF W^X 26/26.
# Frozen S147 cumulative boundary: QEMU smoke PASS: strict ELF W^X 28/28.
# S148 adds three arbitration waiters, so the executable current gate is 31/31.
[ "$strict_wx_count" -eq 31 ] && [ "$(grep -aFc 'W^X=YES' "$smoke_log" || true)" -eq 31 ] || {
echo "HATA: otuz bir strict ELF publication ve otuz bir W^X kanıtı bekleniyordu" >&2
tail -n 140 "$smoke_log" >&2
exit 1
}
grep -aFq 'Hello from separate EL0 binary (M8)!' "$smoke_log" || {
echo "HATA: hello ELF marker bulunamadı" >&2
tail -n 120 "$smoke_log" >&2
exit 1
}
grep -aFq 'ASELSAN/EL0-RETURN STACK=STABLE SP_EL0=STABLE iterations=4096' "$smoke_log" || {
echo "HATA: tekrarlı EL0 dönüş/stack marker'ı bulunamadı" >&2
tail -n 120 "$smoke_log" >&2
exit 1
}
grep -aFq '[IPC-DEMO-ELF] Merhaba M8! Gercek ELF binary calisiyor.' "$smoke_log" || {
echo "HATA: IPC ELF marker bulunamadı" >&2
tail -n 120 "$smoke_log" >&2
exit 1
}
ipc_reply_count=$(grep -aFc '[K2.1] REPLY result=Ok reply_cap consumed (registry+CNode+store)' "$smoke_log" || true)
[ "$ipc_reply_count" -eq 20 ] || {
echo "HATA: tam yirmi doğrulanmış blocking CALL/REPLY bekleniyordu, bulunan=$ipc_reply_count" >&2
tail -n 160 "$smoke_log" >&2
exit 1
}
if grep -aEq '\[M4\.3-DEBUG\] status=[23], ELR=' "$smoke_log"; then
echo "HATA: EL0 IPC scalar doğrulama exit status 2/3 üretti" >&2
tail -n 160 "$smoke_log" >&2
exit 1
fi
s140_nonzero_exit_count=$(grep -aEc '\[M4\.3-DEBUG\] status=1, ELR=' "$smoke_log" || true)
[ "$s140_nonzero_exit_count" -eq 1 ] || {
echo "HATA: S140 için tam bir kontrollü non-zero supervisor exit bekleniyordu, bulunan=$s140_nonzero_exit_count" >&2
tail -n 180 "$smoke_log" >&2
exit 1
}
s141_nonzero_exit_count=$(grep -aEc '\[M4\.3-DEBUG\] status=4, ELR=' "$smoke_log" || true)
[ "$s141_nonzero_exit_count" -eq 1 ] || {
echo "HATA: S141 için tam bir kontrollü task-bound supervisor exit bekleniyordu, bulunan=$s141_nonzero_exit_count" >&2
tail -n 200 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM0\] ELF_FRAME_LEDGER .*text=1 data=1 stack=3 total=5 UNCLASSIFIED=0 RECONCILED=YES' "$smoke_log" || {
echo "HATA: sınıflandırılmış RuntimePmm ELF ledger marker'ı bulunamadı" >&2
tail -n 140 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S130\].*expected=5 observed=0 .*IPC=YES QUIESCED=YES TABLES=YES ASID=YES ACK=YES REARM=[0-9]+ LEVEL=NORMAL EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S130 scheduler OOM teardown/ACK/rearm marker'ı bulunamadı" >&2
tail -n 180 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S131\].*expected=5 observed=0 .*CURRENT=YES CARRIER=STATIC LATER_STACK=YES IPC=YES QUIESCED=YES TABLES=YES ASID=YES ACK=YES REARM=[0-9]+ LEVEL=NORMAL EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S131 current-task deferred OOM/later-stack completion marker'ı bulunamadı" >&2
tail -n 200 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S132\].*OWNED_EP=1 DRAINED_CALLS=1 RESPONDER_CALLS=0 CALLER_WAKE=INVALID_CAPABILITY GRAPH=ABSENT CURRENT=YES LATER_STACK=YES IPC=LIVE ACK=YES REARM=[0-9]+ LEVEL=NORMAL EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S132 live endpoint/reply/caller OOM teardown marker'ı bulunamadı" >&2
tail -n 220 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S133\] syscall graph PASS .*EL0_CALL=YES USER_COPY=YES BLOCKED=YES PARKED=YES' "$smoke_log" || {
echo "HATA: S133 gerçek EL0 SYS_IPC_CALL blocked-graph marker'ı bulunamadı" >&2
tail -n 240 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S133] EL0 SYS_IPC_CALL RETURN=INVALID_CAPABILITY' "$smoke_log" || {
echo "HATA: S133 EL0 caller cancellation return marker'ı bulunamadı" >&2
tail -n 240 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S271\] S133 EL0 return witness READY caller=[0-9]+ YIELDS=[0-9]+/128 GRAPH_ABSENT=YES BOUNDED=YES FAIL_CLOSED=YES' "$smoke_log" || {
echo "HATA: S271 bounded S133 EL0 return/absence synchronization marker'ı bulunamadı" >&2
tail -n 260 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S133\].*OWNED_EP=1 DRAINED_CALLS=1 RESPONDER_CALLS=0 EL0_RETURN=INVALID_CAPABILITY SYSCALL_GRAPH=ABSENT CURRENT=YES LATER_STACK=YES ACK=YES REARM=[0-9]+ LEVEL=NORMAL EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S133 EL0 syscall graph OOM teardown marker'ı bulunamadı" >&2
tail -n 260 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S134\] delivered graph PASS .*EL0_CALL=YES EL0_RECV=YES USER_COPY=YES CALLER_BLOCKED=YES RESPONDER_READY=YES BOUND=YES ARMED=YES' "$smoke_log" || {
echo "HATA: S134 gerçek EL0 CALL/RECV responder-bound graph marker'ı bulunamadı" >&2
tail -n 280 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S134] EL0 SYS_IPC_RECV DELIVERED=YES OOM_TRIGGER=YES' "$smoke_log" || {
echo "HATA: S134 strict responder SYS_IPC_RECV/user-copy marker'ı bulunamadı" >&2
tail -n 280 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S134] EL0 CALL RETURN=INVALID_CAPABILITY' "$smoke_log" || {
echo "HATA: S134 EL0 caller responder-exit cancellation marker'ı bulunamadı" >&2
tail -n 280 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S134\].*OWNED_EP=0 DRAINED_CALLS=0 RESPONDER_CALLS=1 EL0_CALL_RETURN=INVALID_CAPABILITY EL0_RECV=DELIVERED GRAPH=ABSENT OWNER_EP_CLEANUP=1 CURRENT=YES LATER_STACK=YES ACK=YES REARM=[0-9]+ LEVEL=NORMAL EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S134 responder-bound cancellation/owner cleanup marker'ı bulunamadı" >&2
tail -n 300 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S135\] caller strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S135 strict caller publication marker'ı bulunamadı" >&2
tail -n 320 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S135\] responder strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S135 strict responder publication marker'ı bulunamadı" >&2
tail -n 320 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S135\] delivered graph PASS .*BOTH_STRICT=YES EL0_CALL=YES EL0_RECV=YES USER_COPY=YES CALLER_BLOCKED=YES RESPONDER_READY=YES BOUND=YES ARMED=YES' "$smoke_log" || {
echo "HATA: S135 iki strict ELF CALL/RECV grafiği bulunamadı" >&2
tail -n 340 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S135] EL0 SYS_IPC_RECV DELIVERED=YES OOM_TRIGGER=YES' "$smoke_log" || {
echo "HATA: S135 strict responder user-copy/OOM marker'ı bulunamadı" >&2
tail -n 340 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S135] STRICT EL0 SYS_IPC_CALL RETURN=INVALID_CAPABILITY' "$smoke_log" || {
echo "HATA: S135 strict caller cancellation marker'ı bulunamadı" >&2
tail -n 340 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S136\] supervisor strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S136 strict EL0 supervisor publication marker'ı bulunamadı" >&2
tail -n 380 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S136] STRICT EL0 STALE ACK REJECTED=YES' "$smoke_log" || {
echo "HATA: S136 stale ACK kullanıcı marker'ı bulunamadı" >&2
tail -n 380 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S136] STRICT EL0 EXACT ACK SENT=YES' "$smoke_log" || {
echo "HATA: S136 exact ACK kullanıcı marker'ı bulunamadı" >&2
tail -n 380 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S136\].*free=6139->6134->6139 active=5->10->5 .*REAL_ENDPOINT=YES BOUNDED=8 KERNEL_CALL_BLOCKED=YES REAL_RECV_REPLY=YES STALE_ACK_REJECTED=YES EXACT_EL0_ACK=YES REPLY_ONESHOT=2/2 SUPERVISOR_RECLAIM=5 ACK=YES REARM=[0-9]+ LEVEL=NORMAL' "$smoke_log" || {
echo "HATA: S136 gerçek endpoint/reply, stale/exact ACK ve baseline marker'ı bulunamadı" >&2
tail -n 400 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S137\] timer-victim strict spawn PASS .*TIMER_DAEMON=YES INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S137 timer-daemon strict victim publication marker'ı bulunamadı" >&2
tail -n 420 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S137\].*expected=5 observed=0 .*TIMER_DAEMON=YES DISTINCT_TICKS=YES SCANS=2 AUDITED=YES CALLER_COUNTERS=ABSENT SYS_WRITE_HOOK=ABSENT SAFE_SVC_BOUNDARY=YES free=6139->6134->6139 active=5->10->5 .*CURRENT=YES LATER_STACK=YES IPC=YES QUIESCED=YES TABLES=YES ASID=YES TRANSPORT_DELEGATED=S138 EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S137 gerçek timer cadence/audited OOM/baseline marker'ı bulunamadı" >&2
tail -n 440 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S138\] supervisor strict spawn PASS .*BOUNDED=8 TIMER_TO_EL0=YES INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S138 timer-driven strict EL0 supervisor publication marker'ı bulunamadı" >&2
tail -n 460 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S138] STRICT EL0 STALE ACK REJECTED=YES' "$smoke_log" || {
echo "HATA: S138 stale ACK kullanıcı marker'ı bulunamadı" >&2
tail -n 460 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S138] STRICT EL0 EXACT ACK SENT=YES' "$smoke_log" || {
echo "HATA: S138 exact ACK kullanıcı marker'ı bulunamadı" >&2
tail -n 460 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S138\].*TIMER_TO_EL0=YES REAL_ENDPOINT=YES BOUNDED=8 KERNEL_CALL_BLOCKED=YES REAL_EL0_RECV_REPLY=YES STALE_ACK_REJECTED=YES EXACT_EL0_ACK=YES KERNEL_DIRECT_ACK=NO REAL_EL0_ACK=YES REPLY_ONESHOT=2/2 free=6139->6134->6129->6134->6139 active=5->10->15->10->5 VICTIM_RECLAIM=5 SUPERVISOR_RECLAIM=5 OWNER_EP_CLEANUP=1 ACK=YES REARM=[0-9]+ LEVEL=NORMAL EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S138 timer→endpoint→strict EL0 ACK ve çift-reclaim baseline marker'ı bulunamadı" >&2
tail -n 480 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S139\] supervisor strict spawn PASS .*BOUNDED=8 BATCH=8 INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S139 strict EL0 batch supervisor publication marker'ı bulunamadı" >&2
tail -n 520 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S139] STRICT EL0 FIFO DRAIN=8/8' "$smoke_log" || {
echo "HATA: S139 strict EL0 FIFO drain marker'ı bulunamadı" >&2
tail -n 520 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S139\].*BATCH=8/8 TRANSPORT_OVERFLOW=QUEUE_FULL ENDPOINT_OVERFLOW=QUEUE_FULL FIFO=1\.\.8 REAL_KERNEL_CALLS=8 KERNEL_CALL_BLOCKED=8 REAL_EL0_RECV_REPLY=8/8 REPLY_ONESHOT=8/8 ACK_AT_DEADLINE=ACK_WINS TIMEOUT_AFTER_DEADLINE=TIMEOUT_WINS LATE_ACK=STALE RETRY=1 BROKER_ACK=10 BROKER_TIMEOUT=1 BROKER_DRAINED=YES SUPERVISOR_RECLAIM=5 OWNER_EP_CLEANUP=1 free=6139->6134->6139 active=5->10->5 KERNEL_DIRECT_ACK=NO EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S139 multi-event/backpressure/ACK-timeout race marker'ı bulunamadı" >&2
tail -n 540 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S140\] pre-ACK supervisor strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S140 ACK-öncesi exit strict EL0 supervisor publication marker'ı bulunamadı" >&2
tail -n 560 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S140] PRE-ACK SUPERVISOR EXIT=1' "$smoke_log" || {
echo "HATA: S140 kontrollü ACK-öncesi non-zero exit kullanıcı marker'ı bulunamadı" >&2
tail -n 560 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-LIFECYCLE\] exiting task#[0-9]+ revoked 0 owned endpoint\(s\), cancelled 1 responder reply\(s\), drained 0 call\(s\)' "$smoke_log" || {
echo "HATA: S140 responder-bound CALL cancellation lifecycle marker'ı bulunamadı" >&2
tail -n 580 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S140\] replacement supervisor strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S140 taze replacement strict EL0 supervisor publication marker'ı bulunamadı" >&2
tail -n 580 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S140] RESTARTED EL0 ACK=EXACT' "$smoke_log" || {
echo "HATA: S140 replacement supervisor exact ACK kullanıcı marker'ı bulunamadı" >&2
tail -n 580 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S140\].*SESSION=1->2 FRESH_SESSION=YES PRE_ACK_EXIT=INVALID_CAPABILITY RECOVERED_INFLIGHT=1 OLD_LEASE_ACK=STALE RETRY_ACK=EXACT RESTARTED_EL0_ACK=YES REPLY_ONESHOT=1/1 BROKER_DRAINED=YES SESSIONS=2 CRASHES=1 CRASH_RECLAIM=5 RESTART_RECLAIM=5 OWNER_EP_CLEANUP=1 free=6139->6134->6139->6134->6139 active=5->10->5->10->5 KERNEL_DIRECT_ACK=NO EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S140 session recovery/exact retry/çift-reclaim baseline marker'ı bulunamadı" >&2
tail -n 600 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S141\] pre-ACK lifecycle-bound supervisor strict spawn PASS .*TASK_BOUND=YES INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S141 task-bound ACK-öncesi exit strict EL0 publication marker'ı bulunamadı" >&2
tail -n 620 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S141] PRE-ACK SUPERVISOR EXIT=4' "$smoke_log" || {
echo "HATA: S141 kontrollü task-bound exit kullanıcı marker'ı bulunamadı" >&2
tail -n 620 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-LIFECYCLE\] supervisor task#[0-9]+ AUTOMATIC_RECOVERED_INFLIGHT=1' "$smoke_log" || {
echo "HATA: S141 production task-exit otomatik broker recovery marker'ı bulunamadı" >&2
tail -n 640 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S141\] replacement lifecycle-bound supervisor strict spawn PASS .*TASK_BOUND=YES HANDOFF=ENDPOINT_CLOSE INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S141 replacement endpoint-close handoff publication marker'ı bulunamadı" >&2
tail -n 640 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S141] AUTOMATIC RECOVERY EL0 ACK=EXACT' "$smoke_log" || {
echo "HATA: S141 replacement exact ACK kullanıcı marker'ı bulunamadı" >&2
tail -n 640 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S141\].*SESSION=1->2 TASK_BOUND=YES AUTOMATIC_LIFECYCLE_RECOVERY=YES RECOVERY_CALLER=TASK_EXIT CONTROLLER_RECOVERY_CALLS=0 PRE_ACK_EXIT=INVALID_CAPABILITY RECOVERED_INFLIGHT=1 OLD_LEASE_ACK=STALE RETRY_ACK=EXACT RESTARTED_EL0_ACK=YES REPLACEMENT_HANDOFF=ENDPOINT_CLOSE NORMAL_EXIT_RECOVERY=NONE REPLY_ONESHOT=1/1 BROKER_DRAINED=YES SESSIONS=2 CRASHES=1 CRASH_RECLAIM=5 RESTART_RECLAIM=5 OWNER_EP_CLEANUP=1 free=6139->6134->6139->6134->6139 active=5->10->5->10->5 KERNEL_DIRECT_ACK=NO EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S141 otomatik lifecycle recovery/exact retry/baseline marker'ı bulunamadı" >&2
tail -n 680 "$smoke_log" >&2
exit 1
}
s142_fault_spawn_line=$(grep -aE '\[K1-MEM2-S142\] lower-EL fault lifecycle-bound supervisor strict spawn PASS id=[0-9]+ .*TASK_BOUND=YES FAULT_VA=0x0000000060000000 INITIAL_X0=YES W\^X=YES' "$smoke_log" || true)
[ "$(printf '%s\n' "$s142_fault_spawn_line" | grep -c . || true)" -eq 1 ] || {
echo "HATA: S142 lower-EL fault strict publication marker'ı tam bir kez bulunmalı" >&2
tail -n 720 "$smoke_log" >&2
exit 1
}
s142_fault_task=$(printf '%s\n' "$s142_fault_spawn_line" | sed -E 's/.* id=([0-9]+) .*/\1/')
grep -aFq '[K1-MEM2-S142] PRE-ACK LOWER-EL DATA ABORT FAULT_VA=0x0000000060000000' "$smoke_log" || {
echo "HATA: S142 gerçek fault öncesi kullanıcı marker'ı bulunamadı" >&2
tail -n 720 "$smoke_log" >&2
exit 1
}
s142_attribution_count=$(grep -aFc "[EL0-FAULT-CONTAINMENT] task#$s142_fault_task EC=0x24 FAR_EL1=0x0000000060000000 ACTION=TERMINATE_CURRENT_EL0_TASK" "$smoke_log" || true)
[ "$s142_attribution_count" -eq 1 ] || {
echo "HATA: S142 EC=0x24/FAR/task attribution tam bir kez bekleniyordu, bulunan=$s142_attribution_count" >&2
tail -n 740 "$smoke_log" >&2
exit 1
}
s142_fatal_count=$(grep -aFc '[FATAL] !!! Terminating task #' "$smoke_log" || true)
[ "$s142_fatal_count" -eq 1 ] || {
echo "HATA: yalnız S142 kullanıcı görevi için tek fatal containment bekleniyordu, bulunan=$s142_fatal_count" >&2
tail -n 760 "$smoke_log" >&2
exit 1
}
grep -aFq "[FATAL] !!! Terminating task #$s142_fault_task (oom-fault-strict-el0-supervisor-elf) !!!" "$smoke_log" || {
echo "HATA: S142 fatal marker'ı faulting supervisor kimliğiyle eşleşmiyor" >&2
tail -n 760 "$smoke_log" >&2
exit 1
}
[ "$(grep -aFc 'Reason : data abort from EL0' "$smoke_log" || true)" -eq 1 ] || {
echo "HATA: S142 lower-EL Data Abort nedeni tekil değil" >&2
tail -n 760 "$smoke_log" >&2
exit 1
}
grep -aEq "\[K2-LIFECYCLE\] fatal task#$s142_fault_task revoked 0 owned endpoint\(s\), cancelled 1 responder reply\(s\), drained 0 call\(s\)" "$smoke_log" || {
echo "HATA: S142 fatal IPC teardown/cancel sırası kanıtlanamadı" >&2
tail -n 780 "$smoke_log" >&2
exit 1
}
grep -aFq "[K1-MEM2-LIFECYCLE] supervisor task#$s142_fault_task AUTOMATIC_RECOVERED_INFLIGHT=1" "$smoke_log" || {
echo "HATA: S142 fatal task-exit otomatik broker recovery marker'ı bulunamadı" >&2
tail -n 780 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S142\] replacement lifecycle-bound supervisor strict spawn PASS .*TASK_BOUND=YES HANDOFF=ENDPOINT_CLOSE INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S142 replacement endpoint-close handoff publication marker'ı bulunamadı" >&2
tail -n 800 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S142] FAULT RECOVERY EL0 ACK=EXACT' "$smoke_log" || {
echo "HATA: S142 replacement exact ACK kullanıcı marker'ı bulunamadı" >&2
tail -n 800 "$smoke_log" >&2
exit 1
}
s142_kernel_fault_count=$(grep -aEic 'kernel data abort|kernel instruction abort|Data Abort, same EL|Instruction Abort, same EL' "$smoke_log" || true)
[ "$s142_kernel_fault_count" -eq 0 ] || {
echo "HATA: S142 kabulü sırasında kernel-origin fault gözlendi, bulunan=$s142_kernel_fault_count" >&2
tail -n 820 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S142\].*SESSION=3->4 TASK_BOUND=YES LOWER_EL_SYNC_VECTOR=YES FAULT=EL0_DATA_ABORT_EC24 FAULT_VA=0x0000000060000000 AUTOMATIC_LIFECYCLE_RECOVERY=YES RECOVERY_CALLER=FATAL_TASK_EXIT CONTROLLER_RECOVERY_CALLS=0 PRE_ACK_FAULT=INVALID_CAPABILITY FAULT_IPC_CANCEL=1 RECOVERED_INFLIGHT_DELTA=1 OLD_LEASE_ACK=STALE RETRY_ACK=EXACT RESTARTED_EL0_ACK=YES REPLACEMENT_HANDOFF=ENDPOINT_CLOSE NORMAL_EXIT_RECOVERY=NONE REPLY_ONESHOT=1/1 BROKER_DRAINED=YES SESSIONS=4 CRASHES=2 ACKNOWLEDGED=2 FAULT_RECLAIM=5 RESTART_RECLAIM=5 OWNER_EP_CLEANUP=1 free=6139->6134->6139->6134->6139 active=5->10->5->10->5 KERNEL_FAULTS=0 KERNEL_DIRECT_ACK=NO EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S142 lower-EL fault/recovery/exact retry/baseline marker'ı bulunamadı" >&2
tail -n 840 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S143\] reply-bridge supervisor strict spawn PASS .*TASK_BOUND=YES BRIDGE_ARMED=YES INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S143 reply-bridge strict EL0 publication marker'ı bulunamadı" >&2
tail -n 860 "$smoke_log" >&2
exit 1
}
grep -aFq '[K1-MEM2-S143] REPLY BRIDGE EL0 ACK=EXACT' "$smoke_log" || {
echo "HATA: S143 ordinary SYS_IPC_REPLY exact ACK kullanıcı marker'ı bulunamadı" >&2
tail -n 860 "$smoke_log" >&2
exit 1
}
s143_bridge_commit_count=$(grep -aFc 'REPLY_DERIVED_BROKER_COMMIT=YES SESSION_CLOSE=AUTOMATIC' "$smoke_log" || true)
[ "$s143_bridge_commit_count" -eq 1 ] || {
echo "HATA: S143 reply-derived broker commit exact bir kez bekleniyordu, bulunan=$s143_bridge_commit_count" >&2
tail -n 880 "$smoke_log" >&2
exit 1
}
if grep -aEq '\[K1-MEM2-REPLY-BRIDGE\] (PREFLIGHT_REJECTED|CALL_ALIAS_REJECTED)' "$smoke_log"; then
echo "HATA: S143 kabul yolunda reply-bridge rejection gözlendi" >&2
grep -aE '\[K1-MEM2-REPLY-BRIDGE\] (PREFLIGHT_REJECTED|CALL_ALIAS_REJECTED)' "$smoke_log" >&2
exit 1
fi
grep -aEq '\[K1-MEM2-S143\].*SESSION=5 TASK_BOUND=YES USER_REPLY=ORDINARY_SYS_IPC_REPLY BRIDGE_PREFLIGHT=EXACT REPLY_DERIVED_ACK=YES SESSION_CLOSE=AUTOMATIC BRIDGE_ACK_CALLS=1 BRIDGE_SESSION_CLOSE_CALLS=1 CONTROLLER_BROKER_ACK_CALLS=0 CONTROLLER_SESSION_CLOSE_CALLS=0 SYNTHETIC_ACK=NO REPLY_ONESHOT=1/1 NORMAL_EXIT_RECOVERY=NONE BROKER_DRAINED=YES SESSIONS=5 CRASHES=2 ACKNOWLEDGED=3 BRIDGE_ARMED=1 BRIDGE_COMMITTED=1 BRIDGE_CANCELLED=0 RECLAIM=5 OWNER_EP_CLEANUP=1 free=6139->6134->6139 active=5->10->5 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S143 ordinary reply-derived broker ACK/session-close/baseline marker'ı bulunamadı" >&2
tail -n 900 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S144\] responder strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S144 strict timeout responder publication marker'ı bulunamadı" >&2
tail -n 940 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S144\] caller strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S144 strict timeout caller publication marker'ı bulunamadı" >&2
tail -n 940 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S144] STRICT EL0 RECV=DELIVERED' "$smoke_log" || {
echo "HATA: S144 ordinary RECV teslim marker'ı bulunamadı" >&2
tail -n 960 "$smoke_log" >&2
exit 1
}
s144_timeout_count=$(grep -aFc '[K2-S144-DEADLINE]' "$smoke_log" || true)
[ "$s144_timeout_count" -eq 1 ] || {
echo "HATA: S144 exact bir timer timeout bekleniyordu, bulunan=$s144_timeout_count" >&2
tail -n 980 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S144-DEADLINE\].*TIMEOUT=EXACT REPLY_RETIRED=YES WAKE=TIMED_OUT' "$smoke_log" || {
echo "HATA: S144 timer/reply-retire/exact wake marker'ı bulunamadı" >&2
tail -n 980 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S144] STRICT EL0 CALL RETURN=TIMED_OUT' "$smoke_log" || {
echo "HATA: S144 caller TimedOut dönüş marker'ı bulunamadı" >&2
tail -n 980 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S144] STRICT EL0 LATE REPLY=INVALID_CAPABILITY' "$smoke_log" || {
echo "HATA: S144 late ordinary REPLY reddi bulunamadı" >&2
tail -n 980 "$smoke_log" >&2
exit 1
}
if grep -aFq '[K2-S144] STRICT EL0 CALL RETURN=UNEXPECTED' "$smoke_log" || \
grep -aFq '[K2-S144] STRICT EL0 RESPONDER=UNEXPECTED' "$smoke_log"; then
echo "HATA: S144 strict EL0 peer beklenmeyen dönüş üretti" >&2
grep -aF '[K2-S144]' "$smoke_log" >&2
exit 1
fi
grep -aEq '\[K2-S144\].*ABI=SYS_IPC_CALL_TIMEOUT X6_RELATIVE_TICKS=3 TIMER_ARBITRATION=SERIALIZED TIMEOUT_AT_DEADLINE=YES WAIT_EPOCH=1 REGISTERED=1 TIMED_OUT=1 REPLIED=0 PEER_CLOSED=0 CANCELLED=0 REPLY_RETIRED=YES LATE_REPLY_AUTHORITY_ABSENT=YES CALLER_WAKE=TIMED_OUT EXACT_ONCE=YES BOTH_STRICT=YES RECLAIM=10 OWNER_EP_CLEANUP=1 free=6139->6129->6139 active=5->15->5 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S144 deadline arbitration/late-reply/baseline final marker'ı bulunamadı" >&2
tail -n 1000 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S145\] receiver strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S145 strict timed receiver publication marker'ı bulunamadı" >&2
tail -n 1020 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S145\] caller strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S145 strict late caller publication marker'ı bulunamadı" >&2
tail -n 1020 "$smoke_log" >&2
exit 1
}
s145_timeout_count=$(grep -aFc '[K2-S145-DEADLINE]' "$smoke_log" || true)
[ "$s145_timeout_count" -eq 1 ] || {
echo "HATA: S145 exact bir RECV timer timeout bekleniyordu, bulunan=$s145_timeout_count" >&2
tail -n 1040 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S145-DEADLINE\].*TIMEOUT=EXACT WAKE=TIMED_OUT STALE_WAITER_REMOVED=YES' "$smoke_log" || {
echo "HATA: S145 exact RECV timeout/wake/stale waiter marker'ı bulunamadı" >&2
tail -n 1040 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S145] STRICT EL0 RECV RETURN=TIMED_OUT' "$smoke_log" || {
echo "HATA: S145 receiver TimedOut dönüş marker'ı bulunamadı" >&2
tail -n 1060 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S145] STRICT EL0 LATE CALL=FRESH_RECV' "$smoke_log" || {
echo "HATA: S145 late CALL taze RECV teslim marker'ı bulunamadı" >&2
tail -n 1060 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S145] STRICT EL0 LATE CALL REPLY=OK' "$smoke_log" || {
echo "HATA: S145 late ordinary CALL/REPLY başarı marker'ı bulunamadı" >&2
tail -n 1060 "$smoke_log" >&2
exit 1
}
if grep -aFq '[K2-S145] STRICT EL0 RECEIVER=UNEXPECTED' "$smoke_log" || \
grep -aFq '[K2-S145] STRICT EL0 LATE CALL=UNEXPECTED' "$smoke_log"; then
echo "HATA: S145 strict EL0 peer beklenmeyen dönüş üretti" >&2
grep -aF '[K2-S145]' "$smoke_log" >&2
exit 1
fi
grep -aEq '\[K2-S145\].*ABI=SYS_IPC_RECV_TIMEOUT X6_RELATIVE_TICKS=3 TIMER_ARBITRATION=SERIALIZED TIMEOUT_AT_DEADLINE=YES WAIT_EPOCH=2 REGISTERED=2 TIMED_OUT=1 DELIVERED=1 REPLIED=0 PEER_CLOSED=0 CANCELLED=0 STALE_WAITER_ABSENT=YES FRESH_RECV_DELIVERED=YES LATE_CALL_REPLY=OK EXACT_ONCE=YES BOTH_STRICT=YES RECLAIM=10 OWNER_EP_CLEANUP=1 free=6139->6129->6139 active=5->15->5 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S145 RECV deadline/late delivery/baseline final marker'ı bulunamadı" >&2
tail -n 1080 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S146\] waiter strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S146 strict timed notification waiter publication marker'ı bulunamadı" >&2
tail -n 1100 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S146\] signaler strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S146 strict notification signaler publication marker'ı bulunamadı" >&2
tail -n 1100 "$smoke_log" >&2
exit 1
}
s146_timeout_count=$(grep -aFc '[K2-S146-DEADLINE]' "$smoke_log" || true)
[ "$s146_timeout_count" -eq 1 ] || {
echo "HATA: S146 exact bir notification timer timeout bekleniyordu, bulunan=$s146_timeout_count" >&2
tail -n 1120 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S146-DEADLINE\].*TIMEOUT=EXACT WAKE=TIMED_OUT STALE_WAITER_REMOVED=YES' "$smoke_log" || {
echo "HATA: S146 exact notification timeout/wake/stale waiter marker'ı bulunamadı" >&2
tail -n 1120 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S146] STRICT EL0 NOTIFY RETURN=TIMED_OUT' "$smoke_log" || {
echo "HATA: S146 waiter TimedOut dönüş marker'ı bulunamadı" >&2
tail -n 1140 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S146] STRICT EL0 NOTIFY NONMATCHING=COALESCED' "$smoke_log" || {
echo "HATA: S146 non-matching coalescing marker'ı bulunamadı" >&2
tail -n 1140 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S146] STRICT EL0 NOTIFY MATCHING=SIGNALED' "$smoke_log" || {
echo "HATA: S146 matching signal marker'ı bulunamadı" >&2
tail -n 1140 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S146] STRICT EL0 NOTIFY WAKE=MATCHED' "$smoke_log" || {
echo "HATA: S146 exact matching wake marker'ı bulunamadı" >&2
tail -n 1140 "$smoke_log" >&2
exit 1
}
grep -aFq '[K2-S146] STRICT EL0 NOTIFY IMMEDIATE=COALESCED' "$smoke_log" || {
echo "HATA: S146 immediate coalesced-bit consumption marker'ı bulunamadı" >&2
tail -n 1140 "$smoke_log" >&2
exit 1
}
if grep -aFq '[K2-S146] STRICT EL0 NOTIFY WAITER=UNEXPECTED' "$smoke_log" || \
grep -aFq '[K2-S146] STRICT EL0 NOTIFY SIGNALER=UNEXPECTED' "$smoke_log"; then
echo "HATA: S146 strict EL0 peer beklenmeyen dönüş üretti" >&2
grep -aF '[K2-S146]' "$smoke_log" >&2
exit 1
fi
grep -aEq '\[K2-S146\].*ABI=SYS_NOTIFICATION_WAIT_TIMEOUT\+SYS_NOTIFICATION_SIGNAL X1_MASK_BITS=YES X6_RELATIVE_TICKS=3 TIMER_ARBITRATION=SERIALIZED TIMEOUT_AT_DEADLINE=YES WAIT_EPOCH=2 REGISTERED=2 TIMED_OUT=1 DELIVERED=1 REPLIED=0 PEER_CLOSED=0 CANCELLED=0 STALE_WAITER_ABSENT=YES NONMATCHING_COALESCED=YES MATCHING_WAKE=YES IMMEDIATE_COALESCED=YES IMMEDIATE_NOTIFICATION_DEADLINE=UNARMED EXACT_ONCE=YES BOTH_STRICT=YES RECLAIM=10 NOTIFICATION_CLEANUP=1 free=6139->6129->6139 active=5->15->5 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S146 notification deadline/coalescing/wake/baseline final marker'ı bulunamadı" >&2
tail -n 1160 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S147\] grant-revoke waiter strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S147 admitted-grant revoke waiter publication marker'ı bulunamadı" >&2
tail -n 1180 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S147\] owner-close waiter strict spawn PASS .*INITIAL_X0=YES W\^X=YES' "$smoke_log" || {
echo "HATA: S147 owner-lifecycle waiter publication marker'ı bulunamadı" >&2
tail -n 1180 "$smoke_log" >&2
exit 1
}
s147_invalid_wake_count=$(grep -aFc '[K2-S147] STRICT EL0 NOTIFY WAKE=INVALID_CAPABILITY' "$smoke_log" || true)
[ "$s147_invalid_wake_count" -eq 2 ] || {
echo "HATA: S147 için exact iki InvalidCapability wake bekleniyordu, bulunan=$s147_invalid_wake_count" >&2
tail -n 1200 "$smoke_log" >&2
exit 1
}
s147_stale_wait_count=$(grep -aFc '[K2-S147] STRICT EL0 NOTIFY STALE_WAIT=REJECTED' "$smoke_log" || true)
[ "$s147_stale_wait_count" -eq 2 ] || {
echo "HATA: S147 için exact iki stale WAIT reddi bekleniyordu, bulunan=$s147_stale_wait_count" >&2
tail -n 1200 "$smoke_log" >&2
exit 1
}
if grep -aFq '[K2-S147] STRICT EL0 NOTIFY LIFECYCLE=UNEXPECTED' "$smoke_log"; then
echo "HATA: S147 strict EL0 lifecycle waiter beklenmeyen dönüş üretti" >&2
grep -aF '[K2-S147]' "$smoke_log" >&2
exit 1
fi
grep -aEq '\[K2-S147\].*ABI=UNCHANGED_V1_3 GRANT_REVOKE=EXACT OWNER_LIFECYCLE=EXACT REGISTERED=2 CANCELLED=1 PEER_CLOSED=1 TIMED_OUT=0 DELIVERED=0 REPLIED=0 REVOKED_WAKE=INVALID_CAPABILITY OWNER_CLOSE_WAKE=INVALID_CAPABILITY STALE_WAIT=REJECTED STALE_SIGNAL=REJECTED NONMATCHING_AFTER_REVOKE=COALESCED EXACT_ONCE=YES BOTH_STRICT=YES RECLAIM=10 OWNED_NOTIFICATION_CLEANUP=2 DERIVED_GRANT_CLEANUP=1 free=6139->6129->6139 active=5->15->5 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S147 notification revoke/owner-lifecycle/exact baseline marker'ı bulunamadı" >&2
tail -n 1220 "$smoke_log" >&2
exit 1
}
for winner in signal revoke timeout; do
grep -aEq "\\[K2-S148\\] ${winner} waiter strict spawn PASS .*INITIAL_X0=YES W\\^X=YES" "$smoke_log" || {
echo "HATA: S148 ${winner} strict waiter publication marker'ı bulunamadı" >&2
tail -n 1260 "$smoke_log" >&2
exit 1
}
done
for wake in DELIVERED INVALID_CAPABILITY TIMED_OUT; do
wake_count=$(grep -aFc "[K2-S148] STRICT EL0 RACE WAKE=${wake}" "$smoke_log" || true)
[ "$wake_count" -eq 1 ] || {
echo "HATA: S148 ${wake} için exact bir strict wake bekleniyordu, bulunan=$wake_count" >&2
tail -n 1280 "$smoke_log" >&2
exit 1
}
done
if grep -aFq '[K2-S148] STRICT EL0 RACE WAKE=UNEXPECTED' "$smoke_log"; then
echo "HATA: S148 strict EL0 race waiter beklenmeyen dönüş üretti" >&2
grep -aF '[K2-S148]' "$smoke_log" >&2
exit 1
fi
grep -aEq '\[K2-S148\].*ABI=UNCHANGED_V1_3 ARBITER=IPC_TRANSACTION_LOCK MATRIX=ALL_6_PERMUTATIONS_HOST AT_EXACT_DEADLINE=3 SIGNAL_FIRST=DELIVERED REVOKE_FIRST=CANCELLED TIMEOUT_FIRST=TIMED_OUT REGISTERED=3 DELIVERED=1 CANCELLED=1 TIMED_OUT=1 PEER_CLOSED=0 REPLIED=0 WAKE_TOTAL=3 LOSER_RETRY=STALE EXACT_ONCE=YES ALL_STRICT=YES RECLAIM=15 NOTIFICATION_CLEANUP=3 free=6139->6124->6139 active=5->20->5 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S148 signal/revoke/timeout exact-once yarış matrisi marker'ı bulunamadı" >&2
tail -n 1300 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S149\] ABI=UNCHANGED_V1_3 CAPACITY=32 ACTIVE_PEAK=32 MIXED=CALL11_RECV11_NOTIFICATION10 OVERFLOW_33=TABLE_FULL SNAPSHOT_UNCHANGED=YES SERVICE_BUDGET_PER_IRQ=1 DRAIN_TURNS=33 MAX_DRAIN_IRQS=32 ORDER=OLDEST_LATENESS_THEN_WAIT_KEY FIRST_RETIRED_TASK=1000 REUSE_EPOCH=33 STALE_RETRY=REJECTED REGISTERED=33 TIMED_OUT=33 ACTIVE_FINAL=0 GLOBAL_ACTIVE=0->0 ALLOCATION_FREE=YES CPU0_ONLY=YES KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S149 deadline saturation/recovery/service-budget marker'ı bulunamadı" >&2
tail -n 1320 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S150\] ABI=UNCHANGED_V1_3 CLOCK=CNTVCT_EL0 CNTFRQ=[1-9][0-9]* TICK_HZ=100 PERIOD_COUNTS=[1-9][0-9]* QUANTUM_NS_CEIL=10000000 CAPACITY=32 SERVICE_BUDGET_PER_IRQ=1 DISTINCT_SERVICE_IRQS=32 FIRST_TICK=[0-9]+ LAST_TICK=[0-9]+ TICK_SPAN=31 COUNTER_SPAN=[1-9][0-9]* MEASURED_NS_CEIL=[1-9][0-9]* FULL_TABLE_SLA_NS=320000000 SLA=PASS REGISTERED=32 TIMED_OUT=32 ACTIVE_FINAL=0 GLOBAL_ACTIVE=0->0 ALLOCATION_FREE=YES CPU0_ONLY=YES PHYSICAL_DEVICE_OPS=0 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "QEMU smoke failed: missing S150 counter-calibrated 32-IRQ latency SLA marker" >&2
grep -aF '[K2-S150]' "$smoke_log" >&2 || true
exit 1
}
grep -aEq '\[K2-S151\] ABI=UNCHANGED_V1_3 CLOCK=CNTVCT_EL0 CNTFRQ=[1-9][0-9]* TICK_HZ=100 CAPACITY=32 SERVICE_BUDGET_PER_IRQ=1 ROUNDS=4 FULL_TABLES=4 RETIRED=128 MAX_MEASURED_NS_CEIL=[1-9][0-9]* FULL_TABLE_SLA_NS=320000000 SLA=PASS ACTIVE_FINAL=0 GLOBAL_ACTIVE=0->0 ALLOCATION_FREE=YES CPU0_ONLY=YES PHYSICAL_DEVICE_OPS=0 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "QEMU smoke failed: missing S151 bounded deadline workload replay marker" >&2
grep -aF '[K2-S151]' "$smoke_log" >&2 || true
exit 1
}
grep -aEq '\[K2-S152\] ABI=UNCHANGED_V1_3 CLOCK=CNTVCT_EL0 CNTFRQ=[1-9][0-9]* TICK_HZ=100 CAPACITY=32 SERVICE_BUDGET_PER_IRQ=1 ROUNDS=8 FULL_TABLES=8 RETIRED=256 MAX_MEASURED_NS_CEIL=[1-9][0-9]* FULL_TABLE_SLA_NS=320000000 SLA=PASS ACTIVE_FINAL=0 GLOBAL_ACTIVE=0->0 ALLOCATION_FREE=YES CPU0_ONLY=YES PHYSICAL_DEVICE_OPS=0 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "QEMU smoke failed: missing S152 extended bounded deadline replay marker" >&2
grep -aF '[K2-S152]' "$smoke_log" >&2 || true
exit 1
}
grep -aEq '\[K2-S153\] ABI=UNCHANGED_V1_3 CLOCK=CNTVCT_EL0 CNTFRQ=[1-9][0-9]* TICK_HZ=100 CAPACITY=32 SERVICE_BUDGET_PER_IRQ=1 ROUNDS=16 FULL_TABLES=16 RETIRED=512 MAX_MEASURED_NS_CEIL=[1-9][0-9]* FULL_TABLE_SLA_NS=320000000 SLA=PASS ACTIVE_FINAL=0 GLOBAL_ACTIVE=0->0 ALLOCATION_FREE=YES CPU0_ONLY=YES PHYSICAL_DEVICE_OPS=0 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S153 extended bounded sixteen-round deadline replay marker'ı bulunamadı" >&2
grep -aF '[K2-S153]' "$smoke_log" >&2 || true
tail -n 1500 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K2-S154\] ABI=UNCHANGED_V1_3 CLOCK=CNTVCT_EL0 CNTFRQ=[1-9][0-9]* TICK_HZ=100 CAPACITY=32 SERVICE_BUDGET_PER_IRQ=1 ROUNDS=32 FULL_TABLES=32 RETIRED=1024 MAX_MEASURED_NS_CEIL=[1-9][0-9]* FULL_TABLE_SLA_NS=320000000 SLA=PASS ACTIVE_FINAL=0 GLOBAL_ACTIVE=0->0 ALLOCATION_FREE=YES CPU0_ONLY=YES PHYSICAL_DEVICE_OPS=0 KERNEL_FAULTS=0 EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S154 bounded thirty-two-round deadline replay marker'ı bulunamadı" >&2
grep -aF '[K2-S154]' "$smoke_log" >&2 || true
tail -n 1800 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-MEM2-S135\].*free=6129->6134->6139 .*OWNED_EP=0 DRAINED_CALLS=0 RESPONDER_CALLS=1 STRICT_CALLER_RECLAIM=5 CALLER_DOMAIN_FRAMES=0 RESPONDER_DOMAIN_FRAMES=0 ACTIVE_ALLOCATIONS=15->5 GLOBAL_BASELINE=PASS EL0_CALL_RETURN=INVALID_CAPABILITY EL0_RECV=DELIVERED BOTH_STRICT=YES GRAPH=ABSENT OWNER_EP_CLEANUP=1 CURRENT=YES LATER_STACK=YES ACK=YES REARM=[0-9]+ LEVEL=NORMAL EXECUTOR=PASS' "$smoke_log" || {
echo "HATA: S135 strict peer teardown ve exact çift-domain baseline marker'ı bulunamadı" >&2
tail -n 360 "$smoke_log" >&2
exit 1
}
grep -aEq '\[K1-RUNTIME-ELF-RECLAIM\].*frames=5 free=6144->6144 active_allocations=0->0 BASELINE=PASS' "$smoke_log" || {
echo "HATA: RuntimePmm ELF reclaim baseline marker'ı bulunamadı" >&2
tail -n 160 "$smoke_log" >&2
exit 1
}
grep -aEq '\[SEC +5\]' "$smoke_log" || {
echo "HATA: scheduler SEC 5 ilerleme marker'ı bulunamadı" >&2
tail -n 120 "$smoke_log" >&2
exit 1
}
echo "QEMU smoke PASS: strict ELF W^X 31/31 + S130 Ready-task OOM + S131 current-task later-stack OOM + S132 live IPC graph fixture + S133 EL0 SYS_IPC_CALL cancellation + S271 bounded S133 EL0 return-witness synchronization + S134 strict EL0 SYS_IPC_RECV responder cancellation + S135 two strict ELF peer teardown/baseline + S136 strict EL0 supervisor endpoint/reply ACK transport + S137 timer-daemon audited OOM trigger + S138 timer-driven strict EL0 supervisor ACK transport + S139 bounded multi-event backpressure/ACK-timeout race + S140 pre-ACK supervisor exit/session recovery/exact retry + S141 task-bound automatic lifecycle recovery/exact retry + S142 actual lower-EL Data Abort/fatal lifecycle recovery/exact retry + S143 ordinary reply-derived broker ACK/session-close + S144 general CALL deadline/timer cancellation/late-reply rejection + S145 RECV deadline/stale-waiter rejection/fresh delivery + S146 notification deadline/coalescing/matching wake/immediate consumption + S147 admitted-grant revoke/owner-lifecycle exact cancellation + S148 serialized signal/revoke/timeout exact-once arbitration + S149 deadline capacity-32 fail-closed saturation/one-slot recovery/bounded deterministic drain + S150 CNTVCT-calibrated 32-distinct-IRQ 320ms SLA + S151 bounded four-round deadline workload replay + S152 extended bounded eight-round deadline replay + S153 extended bounded sixteen-round deadline replay + S154 bounded thirty-two-round deadline replay + runtime MEM0 ledger/reclaim baseline + EL0 return x4096 + IPC reply 20/20 + scheduler SEC 5"
snippet sha256: b767e2d58519…file sha256: b767e2d58519…
02 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL113–L125
simulation/tests/runtime_oom_el0_responder_teardown.rs::qemu_gate_requires_s134_and_preserves_every_prior_runtime_gate
#[test]
fn qemu_gate_requires_s134_and_preserves_every_prior_runtime_gate() {
let smoke = source("scripts/qemu-smoke.sh");
for sequence in ["S130", "S131", "S132", "S133", "S134"] {
assert!(smoke.contains(sequence), "missing {sequence} QEMU gate");
}
assert!(smoke.contains("strict ELF W^X 26/26"));
assert!(smoke.contains("EL0 SYS_IPC_RECV DELIVERED=YES OOM_TRIGGER=YES"));
assert!(smoke.contains("RESPONDER_CALLS=1"));
assert!(smoke.contains("OWNER_EP_CLEANUP=1"));
}snippet sha256: 16d118526413…file sha256: 1892505d6a95…
03 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL26000–L26097
website/src/lib/operations.ts::k1-mem1-mem2-k2-el0-responder-oom-teardown-partial
{
id: "k1-mem1-mem2-k2-el0-responder-oom-teardown-partial",
date: "2026-08-23",
sequence: 134,
status: "passed",
umbrella_status: "partial",
title: "K1/MEM1–MEM2/K2: gerçek EL0 responder OOM cancellation",
summary:
"S134, S133'te sayaç 0 kalan responder-bound dalı gerçek scheduler ve IPC state'i üzerinde kapatır. Legacy-root EL0 caller ordinary SYS_IPC_CALL ile park edilir; ayrı standalone strict RuntimePmm ELF responder ordinary SYS_IPC_RECV ile çağrıyı teslim alır. Read-only observer caller/reply/responder/CNode bağını doğruladıktan sonra taze OOM ticket'ı yalnız responder için arm eder. Current responder teardown exact bir responder-bound reply'ı iptal eder, caller'ı InvalidCapability ile döndürür, responder frame'lerini later-stack üzerinde 5→0 ve free 6134→6139 baseline'ına getirir. Bağımsız kernel-owner endpoint audit anında live/empty kalır ve ardından ayrı cleanup ile kaldırılır: OWNED_EP=0, DRAINED_CALLS=0, RESPONDER_CALLS=1, OWNER_EP_CLEANUP=1. Strict caller, gerçek supervisor endpoint transportu ve Generic SMP açık; K1/MEM0–MEM2/K2 PARTIAL.",
evidence: [
"Fail-closed bring-up 1: endpoint oluşmadan x0=0 yayımlanan caller ordinary CALL'da reddedildi; delivered-graph audit panic etti ve PASS üretilmedi.",
"Fail-closed bring-up 2: gerçek CALL/RECV ve cancellation görüldü; priority-7 owner supervisor starvation nedeniyle final marker çıkmadı, smoke gate koşuyu reddetti.",
"GREEN `runtime_oom_el0_responder_teardown` 5/5; S128–S134 scheduler/IPC/ASID/kmap/lifecycle birleşik focused matrisi 119/119 (23 grup) PASS.",
"Standalone responder, strict ELF publication öncesi saved x0 endpoint argümanı, typed RECV grant ve gerçek SYS_IPC_RECV → SYS_YIELD → SYS_WRITE/copy-in yolunu kullanır; graph fixture yoktur.",
"QEMU delivered graph: caller=22, responder=23, owner=21, observer=24, endpoint=17, reply=18; EL0_CALL/EL0_RECV/USER_COPY/CALLER_BLOCKED/RESPONDER_READY/BOUND/ARMED=YES.",
"Responder ELF rodata marker'ı ve caller user-stack dönüş marker'ı ordinary SYS_WRITE/copy_from_current_user yolundan ayrı ayrı gözlendi.",
"QEMU teardown: task=23, event=1, expected/observed=5/0, free 6134→6139, OWNED_EP=0, DRAINED_CALLS=0, RESPONDER_CALLS=1, caller=InvalidCapability, GRAPH=ABSENT, OWNER_EP_CLEANUP=1, CURRENT/LATER_STACK/ACK=YES, REARM=2, LEVEL=NORMAL, EXECUTOR=PASS.",
"QEMU strict ELF W^X 7/7; S130–S133 OOM regresyonları ve final RuntimePmm 6144→6144 / active allocation 0→0 baseline birlikte PASS.",
"AArch64 board-qemu, board-rpi4, board-rpi5 ve board-rpi5+smp compile applicability 4/4 PASS.",
"Tam workspace yalnız bağımsız frozen S96 exceptions.S SHA-256 uyuşmazlığında durdu: observed f7b47672…04fd, expected c0eed3e2…cb89; full GREEN iddia edilmedi.",
"Web 230/230, lint, TypeScript ve statik 23/23 PASS; S134 İşlemler/Timeline paketi canlı yayın için doğrulandı.",
"Bu S134 kabulünde güç verme/kapatma, SD kartı çıkarma/takma, kartı Mac'e bağlama, disk yazma, UART açma veya başka fiziksel/device işlemi yapılmadı.",
"Kalıcı kapsam ve açık S135 strict-caller sınırı: `docs/K1-S134-EL0-Responder-OOM-Teardown-Proof.md`.",
],
commands: [
"cargo test -p aselsan_microkernel_simulation --test runtime_oom_el0_responder_teardown -- --test-threads=1",
"cargo test -p aselsan_microkernel_simulation --test aarch64_asid_encoding --test ipc_queue_source --test kernel_kmap_source --test memory_accounting --test memory_pressure --test runtime_allocation_token --test runtime_boot_authority --test runtime_boot_authority_fail_closed --test runtime_boot_authority_no_alloc --test runtime_domain_quota --test runtime_elf_reclaim_source --test runtime_memory_reconciliation --test runtime_oom_effect --test runtime_oom_scheduler_executor --test runtime_oom_current_deferred --test runtime_oom_live_ipc_teardown --test runtime_oom_el0_ipc_teardown --test runtime_oom_el0_responder_teardown --test runtime_pressure_authority --test task_id_allocator --test task_lifecycle_source --test task_publication_source --test task_spawn_asid_source -- --test-threads=1",
"cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-qemu",
"cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi4",
"cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5",
"cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5,smp",
"make verify-qemu",
"cargo test --workspace -- --test-threads=1",
],
terminalSessions: [
{
id: "s134-green-focused-responder-cancellation",
title:
"Strict EL0 responder cancellation ve birleşik lifecycle kapıları",
commandLines: [
"cargo test -p aselsan_microkernel_simulation --test runtime_oom_el0_responder_teardown -- --test-threads=1",
"cargo test -p aselsan_microkernel_simulation [23 focused test binary] -- --test-threads=1",
],
outputLines: [
"runtime_oom_el0_responder_teardown: 5/5 PASS",
"combined focused matrix: 119/119 PASS · 23 groups",
"graph injection: ABSENT · ordinary SYS_IPC_CALL + strict SYS_IPC_RECV: PASS",
],
exitCode: 0,
outputMode: "selected",
},
{
id: "s134-aarch64-qemu-responder-runtime",
title: "Dört AArch64 profil ve gerçek EL0 RECV QEMU teardown",
commandLines: [
"cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-qemu",
"cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi4",
"cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5",
"cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5,smp",
"make verify-qemu",
],
outputLines: [
"AArch64 compile profiles: 4/4 PASS",
"[K1-MEM2-S134] responder strict spawn PASS id=23 pages=2 domain=1330597173 endpoint=17 INITIAL_X0=YES W^X=YES",
"[K1-MEM2-S134] delivered graph PASS caller=22 responder=23 owner=21 observer=24 endpoint=17 reply=18 EL0_CALL=YES EL0_RECV=YES USER_COPY=YES CALLER_BLOCKED=YES RESPONDER_READY=YES BOUND=YES ARMED=YES",
"[K1-MEM2-S134] EL0 SYS_IPC_RECV DELIVERED=YES OOM_TRIGGER=YES",
"[K1-MEM2-S134] EL0 CALL RETURN=INVALID_CAPABILITY",
"[K1-MEM2-S134] task=23 caller=22 owner=21 domain=1330597173 endpoint=17 reply=18 event=1 expected=5 observed=0 free=6134->6139 OWNED_EP=0 DRAINED_CALLS=0 RESPONDER_CALLS=1 EL0_CALL_RETURN=INVALID_CAPABILITY EL0_RECV=DELIVERED GRAPH=ABSENT OWNER_EP_CLEANUP=1 CURRENT=YES LATER_STACK=YES ACK=YES REARM=2 LEVEL=NORMAL EXECUTOR=PASS",
"QEMU smoke PASS: strict ELF W^X 7/7 + S130/S131/S132/S133/S134 OOM runtime + regressions",
],
exitCode: 0,
outputMode: "selected",
},
{
id: "s134-workspace-independent-history-red",
title: "Tam workspace: S134 dışı frozen S96 identity kırmızısı",
commandLines: ["cargo test --workspace -- --test-threads=1"],
outputLines: [
"rpi5_g8h_integration_source::wiring_does_not_mutate_timer_gic_boot_or_expand_runtime_scope: FAILED",
"S96 exceptions.S SHA-256: observed f7b47672...04fd, frozen expected c0eed3e2...cb89",
"full-workspace GREEN is not claimed",
],
exitCode: 101,
outputMode: "selected",
},
],
terminalSessionsNote:
"S134 ordinary EL0 SYS_IPC_RECV, responder-bound reply cancellation ve independently owned endpoint cleanup yolunu gerçek scheduler state'i üzerinde doğrular; fiziksel veya device işlemi yapılmadı.",
limitations: [
"EL0 caller, strict standalone RuntimePmm ELF yerine shared-image/legacy root ve heap-backed user stack kullanan dar QEMU kabul task'ıdır.",
"Endpoint owner ve supervisor kernel task'tır; supervisor eventinin gerçek endpoint transportu ve EL0 consumer'ı bağlı değildir.",
"Successful SYS_WRITE tetikleyicisi production pressure daemon/timer yolu değildir.",
"Carrier tek in-flight slotudur; queue/backpressure, timeout/race matrisi ve supervisor crash recovery yoktur.",
"CPU0-only scheduler kanıtıdır; cross-CPU stop, migration-safe runqueue, TLB shootdown ve SMP reaper açıktır.",
"Yalnız strict RuntimePmm responder authoritative domain/frame bağı taşır; legacy caller ve diğer kaynak üreticileri ortak reconciliation dışında kalır.",
"K1, MEM0, MEM1, MEM2 ve K2 COMPLETE değildir; S124 fiziksel archive/promotion STOP kalır.",
],
},snippet sha256: 0de7ad8e1591…file sha256: 9726dbf00f84…
Focused test komutu
cargo test -p aselsan_microkernel_simulation --test runtime_oom_el0_responder_teardown -- --test-threads=1proof: docs/K1-S134-EL0-Responder-OOM-Teardown-Proof.md
Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06