The gc-call-effects jobs for windows-x86_64 and macos-aarch64 fail on main's own push run for 23d563404 (run 36653831017, jobs 109710794808 and 109710794730) with UNSAFE drift:
UNSAFE: 4 symbol(s) whose committed class is weaker than the archives prove (codegen would skip a statepoint the runtime needs):
js_abort_controller_signal: committed Leaf, archives say Reenters
js_abort_signal_is_aborted: committed Leaf, archives say Reenters
js_abort_signal_throw_if_aborted: committed ThrowOnly, archives say Reenters
js_error_is_error: committed Leaf, archives say Reenters
The paths it reports go through perry_runtime::event_target::state::get_slot → js_object_get_symbol_property_with_receiver, and through event_target::is_dom_exception_object. That is the code #11682 ("honest handles: EventTarget family are real objects") changed.
The parent run on 7fa094cb4 (36633236189) had only SAFE drift (24 symbols), so this appeared with #11682/#11683. The committed crates/perry-codegen/src/gc_effects/{windows-x86_64,macos-aarch64}.tsv need regenerating from those commits' archives. Until they are, codegen may skip a statepoint the runtime needs at these four calls, which is a real GC-safety gap, not just a red gate.
Every PR tested merged with current main inherits this failure. #11676 hit it in run 36653797552 with the identical four symbols.
The
gc-call-effectsjobs for windows-x86_64 and macos-aarch64 fail on main's own push run for23d563404(run 36653831017, jobs 109710794808 and 109710794730) with UNSAFE drift:The paths it reports go through
perry_runtime::event_target::state::get_slot→js_object_get_symbol_property_with_receiver, and throughevent_target::is_dom_exception_object. That is the code #11682 ("honest handles: EventTarget family are real objects") changed.The parent run on
7fa094cb4(36633236189) had only SAFE drift (24 symbols), so this appeared with #11682/#11683. The committedcrates/perry-codegen/src/gc_effects/{windows-x86_64,macos-aarch64}.tsvneed regenerating from those commits' archives. Until they are, codegen may skip a statepoint the runtime needs at these four calls, which is a real GC-safety gap, not just a red gate.Every PR tested merged with current main inherits this failure. #11676 hit it in run 36653797552 with the identical four symbols.