Size: a a a

WebAssembly — русскоговорящее сообщество

2020 May 24

e

egoarka in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
хм, а как он будет отлавливать ошибки и ub?
я думаю точно так же как в расте
но это мои догадки
источник

MP

Michael Pavlovsky in WebAssembly — русскоговорящее сообщество
@voronovm , @maxgraey  -
A new approach: While we continue to make extensive use of both sandboxing and Rust in Firefox, each has its limitations. Process-level sandboxing works well for large, pre-existing components, but consumes substantial system resources and thus must be used sparingly. Rust is lightweight, but rewriting millions of lines of existing C++ code is a labor-intensive process.. .....
.....
So today, we’re adding a third approach to our arsenal. RLBox, a new sandboxing technology developed by researchers at the University of California, San Diego, the University of Texas, Austin, and Stanford University, allows us to quickly and efficiently convert existing Firefox components to run inside a WebAssembly sandbox.
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
egoarka
я думаю точно так же как в расте
но это мои догадки
это не так, при компиляции в васм не делается ничего специального относительно экосистемы llvm для отлова ub, wasm в этом случае - это просто один из compile targets
источник

e

egoarka in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
это не так, при компиляции в васм не делается ничего специального относительно экосистемы llvm для отлова ub, wasm в этом случае - это просто один из compile targets
тогда печально :/
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
ну вот я компилил редис и на ub где-то неделю потратил
источник

e

egoarka in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
ну вот я компилил редис и на ub где-то неделю потратил
получилось скомпилить хоть?)
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
в смысле, у меня падало после компиляции и использовании некоторого функционала редиса и падало именно от ub
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
egoarka
получилось скомпилить хоть?)
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
ну и доклад на highload про это есть, если интересно (видео уже в открытом доступе)
источник

e

egoarka in WebAssembly — русскоговорящее сообщество
круто, сейчас все посмотрю
спасибо за труды)
источник

N

Nikolay in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
ну и доклад на highload про это есть, если интересно (видео уже в открытом доступе)
Лину есть?
источник

MP

Michael Pavlovsky in WebAssembly — русскоговорящее сообщество
@maxgraey , Может быть, вы пропустили несколько деталей из статьи?

Я процитирую

Новый подход: несмотря на то, что мы продолжаем широко использовать как песочницу, так и Rust в Firefox, у каждого есть свои ограничения. Песочница на уровне процесса хорошо работает для больших, уже существующих компонентов, но потребляет значительные системные ресурсы и, следовательно, должна использоваться экономно. Rust облегчен, но переписывание миллионов строк существующего кода на C ++ является трудоемким процессом ... .....
.....
Поэтому сегодня мы добавляем третий подход к нашему арсеналу. RLBox, новая технология песочницы, разработанная исследователями из Калифорнийского университета, Сан-Диего, Техасского университета, Остина и Стэнфордского университета, позволяет нам быстро и эффективно конвертировать существующие компоненты Firefox для работы внутри песочницы WebAssembly.
источник

e

egoarka in WebAssembly — русскоговорящее сообщество
Nikolay
Лину есть?
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Michael Pavlovsky
@voronovm , @maxgraey  -
A new approach: While we continue to make extensive use of both sandboxing and Rust in Firefox, each has its limitations. Process-level sandboxing works well for large, pre-existing components, but consumes substantial system resources and thus must be used sparingly. Rust is lightweight, but rewriting millions of lines of existing C++ code is a labor-intensive process.. .....
.....
So today, we’re adding a third approach to our arsenal. RLBox, a new sandboxing technology developed by researchers at the University of California, San Diego, the University of Texas, Austin, and Stanford University, allows us to quickly and efficiently convert existing Firefox components to run inside a WebAssembly sandbox.
да, я как раз выше скидывал ссылку про Firefox
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
MaxGraey
И кстати Mozilla недавно так и поступила для одного своего модуля)
Я об этом тоже намекал вот здесь
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
вообще, конечно, васм очень хорошо может применяться для изоляции в будущем (особенно при дальнейшем развитии wasi)
источник

MP

Michael Pavlovsky in WebAssembly — русскоговорящее сообщество
Проще говоря, C -> WASM - C не является решением.
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Michael Pavlovsky
Проще говоря, C -> WASM - C не является решением.
теоретически это позволит перенести различные рантайм проверки типа выхода за пределы массива в результирующий C/C++, но тут много вопросов в качестве декомпиляции
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
и, возможно, в том, чтобы сделать её формально верифицируемой, чтобы новые ub не занести на этапе wasm => C/C++
источник

MP

Michael Pavlovsky in WebAssembly — русскоговорящее сообщество
@voronovm Вы не можете просто скомпилировать c в формальный язык (Тюринг вращался бы в его могиле). Но я не буду спорить
источник