TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Google SAPI: Generate sandboxes for C/C++ libraries automatically

78 pointsby harporoederover 3 years ago

7 comments

a-dubover 3 years ago
while this looks cool, this is also getting out of hand. we need an operating system that doesn't require all this machinery on top in order to achieve basic encapsulation.
评论 #29274216 未加载
评论 #29275939 未加载
评论 #29275049 未加载
评论 #29274420 未加载
评论 #29274990 未加载
ridiculous_fishover 3 years ago
It appears this is Linux only? From Getting Started:<p>&quot;Linux kernel with support for UTS, IPC, user, PID and network namespaces&quot;
stillicidiousover 3 years ago
They couldn&#x27;t have made the client stub interface more baroque if they tried. It sounded like something that could mimic something approaching the original library interface automatically, pretty disappointed it&#x27;s basically just another RPC stubs generator<p>If you can stomach the perf tradeoffs, compiling to WASM is much easier than this
评论 #29275830 未加载
评论 #29274594 未加载
评论 #29274268 未加载
评论 #29275122 未加载
ihnortonover 3 years ago
When I initially read the description, I thought this could provide a drop-in runtime-linked shared library stub, but looking deeper in the docs and examples it appears there is at least some setup code required on the client side?<p>Can this log the RPC calls around the target C library? Or potentially even replay calls in isolation? The latter could be expensive for non-trivial programs (require saving all synchronized memory state?), but might be more viable with binary diffs of the shared state if the client side doesn&#x27;t modify the synchronized memory too much.
malkiaover 3 years ago
I hope fuchsia&#x27;s fidl gets ported over for cases like this.
评论 #29275460 未加载
nlyover 3 years ago
Most of the problems in creating services by wrapping libraries in RPCs, in my experience, come from most libraries not supporting asynchrony, timeouts etc.<p>The zlib example is a bit baffling to be honest. If zlib goes in to an infinite 100% CPU loop, perhaps due to a zip bomb, you&#x27;re still screwed as far as I can tell<p>A full RPC abstraction also gives you the opportunity to change out the backend implementation that this doesn&#x27;t.
评论 #29304170 未加载
DSingularityover 3 years ago
I’ve been looking to use this. One question, is this something we can use with a non-bazel based build system?
评论 #29304139 未加载