К обсуждениям

WebAssembly.Exception без stack в Safari Technology Preview 251: проверка traceStack границы

Редакция VOne Технологии

WebAssembly.Exception без stack в Safari Technology Preview 251: проверка traceStack границы. Практическая проверка Safari Technology Preview 251: паспорт «constructor options × catch realm × stack present × source mapping × disclosure decision», обратимый canary и ясный критерий остановки.

Симптом и граница traceStack для WebAssembly.Exception и Exception.stack

Вопрос здесь один: как проверить webassembly exception tracestack в safari technology preview 251. Наблюдаемое расхождение — диагностика Wasm-исключения не содержит ожидаемый stack либо приложение раскрывает стек там, где он не нужен. Название новой возможности не равно диагнозу: сначала нужны один повторяемый fixture и пара expected/actual. Граница наблюдения записывается как «event start → transition state → completion → released listener». Любая другая ошибка остаётся за пределами этого URL.

Два первичных источника для 318397@main

Официальная страница WebKit датирована 26 августа 2026 года, описывает Release 251 и в соответствующей строке называет traceStack для WebAssembly.Exception и Exception.stack. Эта строка ссылается на 318397@main, первичную запись изменения в репозитории WebKit. Это подтверждает границу функции в Technology Preview, но не подтверждает ни конкретный сбой сайта, ни поведение stable Safari. Поисковый сниппет и community reply в этот слой доказательств не входят.

Поля контроля: паспорт «constructor options × catch realm × stack present × source mapping × disclosure decision»

Базовый набор для этой задачи: способ создания Exception, значение traceStack, наличие stack, место catch, sourcemap state и очищенный message. Поле «способ создания Exception»: не восстанавливайте по памяти; его значение не подменяет соседнюю колонку. Поле «значение traceStack»: снимите до опыта; его значение не подменяет соседнюю колонку. Поле «наличие stack»: сопоставьте с контролем; его значение не подменяет соседнюю колонку. Поле «место catch»: пометьте observed или unknown; его значение не подменяет соседнюю колонку. Поле «sourcemap state»: повторите после отката; его значение не подменяет соседнюю колонку. Поле «очищенный message»: не восстанавливайте по памяти; его значение не подменяет соседнюю колонку. Время, точная сборка и одинаковый fixture нужны для повтора, но имена, IP, cookie, токены, полные URL с query и содержимое рабочих данных не собираются.

Обратимый опыт для traceStack для WebAssembly.Exception и Exception.stack

Одиночный canary: в тестовом модуле породить одно исключение с выбранной опцией, сравнить форму объекта без отправки стека наружу и вернуть прежнее создание. До воздействия запишите исходную строку, после — только заранее выбранные поля, затем верните исходное состояние и повторите то же наблюдение. Проверяйте наличие stack как форму объекта, не публикуя его содержимое. Отметьте constructor options, realm catch и состояние source maps. Если трассировка появляется, решение о её выводе остаётся отдельным privacy-гейтом, а не автоматическим включением в telemetry. Неоднозначный результат не расширяет эксперимент: он получает статус unknown.

Как принять решение: паспорт «constructor options × catch realm × stack present × source mapping × disclosure decision»

Практический итог — паспорт «constructor options × catch realm × stack present × source mapping × disclosure decision». Заполните в нём все предусмотренные поля. Если вход не принят, отметьте unsupported и сохраните прежний fallback. Если функция доступна, но боль «диагностика Wasm-исключения не содержит ожидаемый stack либо приложение раскрывает стек там, где он не нужен» не повторилась, результат равен not reproduced только для этого fixture. Локальное повторение после единственного изменения и успешный возврат дают reproduced. Неудачный возврат — stopped, а не предлог менять ещё одну переменную.

Красная линия и минимальный report 318397@main

Стоп-линия: не отправлять полный stack с локальными путями или данными и не включать трассировку глобально ради одного случая. Для поддержки достаточно точной версии Technology Preview 251, коротких expected/actual, минимального fixture, шага возврата, паспорт «constructor options × catch realm × stack present × source mapping × disclosure decision» и ссылки на 318397@main. Перед передачей удалите локальные пути, дампы профиля, идентификаторы и любой реальный контент. Отчёт не обещает исправление и не переносит вывод на stable Safari.

Материал подготовлен редакцией VOne с помощью ИИ; границы фактов, дата, первичный WebKit commit, стоп-линия и роль community lead постатейно проверены 29 августа 2026 года.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.