Closed Bug 1566235 Opened 9 months ago Closed 3 months ago

Modify Firefox build system to include RLBox tools


(Core :: General, task, P3)






(Reporter: shravanrn, Assigned: shravanrn, Mentored)


(Blocks 1 open bug)


Project "Toolkit for sandboxing third-parties libraries in Firefox" described here

This tracks the progress of including code repos for the RLBox API as well as WASM compiler toolchains into Firefox's build system.

Depends on: 1566284
Depends on: 1566286
Type: task → enhancement
Priority: -- → P3
Type: enhancement → task
Component: Javascript: WebAssembly → General
Depends on: 1572619
No longer depends on: 1572619
Depends on: 1603926

Hi there Shravan, if you are busy can i work on this task ?
I have experience with build systems, infact i just added support for building weston in Chromium as seen here:
Also I contributed for Mozilla in past and looking forward to resume my progress.
In the meanwhile I am reading about RLBox.

Hi shivambalikondwar
So the short version of the current status is that several of these tasks are basically complete but we are in the process of ironing out bugs seen in nightly, which is why this task is still open. Sorry for the delay in response here. Part of the reason for the delayed response is that this is a complicated project with a lot of moving parts - only in the last week or 2 has much of this work landed in tree (also the reason why we had previously suggested waiting a month before contributing changes here).

While, I'm excited to accept additional contributions for this project, I think it may be useful to give a quick description of the work that has occurred and has been completed by multiple folks working on this project.

This project to sandbox libraries required upgrading Firefox build and compilers to use c++17 and fixing the resulting upgrade bugs, changing the build system to pull in the wasm libc and compilers and allow mozconfigs that can compile wasm libraries, upgrading and testing RLBox libraries with the range of platforms and compilers supported by Firefox, manage interactions with the existing seccomp sandboxes, as well submitting patches upstream wasm tools. Additionally the try and testing servers configs also had to be upgraded so we can adaquetely test changes. Only at this point could we sandboxed the graphite library and follow up with functional and perf tests. I'm excited to say that all of this has just been merged and it was briefly deployed nightly (but has since removed so that we can time the release to better suite Firefox's release train).

As you probably see from the above there are a lot of moving parts here and it's not the easiest thing to jump into one of the existing tasks. However, there are two main areas I see as the next steps for this project, which are perhaps areas that are easier to contribute to

  1. Sandbox more libraries. Right now we have sandboxed one library, and in doing so we have fixed a bunch of infrastructure necessary to do this more widely. This should mean it would now be easier to use RLBox sandbox more libraries in Firefox.
  2. Contribute to RLBox. RLBox is the sandboxing framework that is being used here and I do have a road map of additional features and additional testing work.

So a question for you --- which of these 2 areas would you want to contribute to? If it's the first, Eric Rahm would be the right person to coordinate this. Although, fair warning, it may take a while to get started here, as deciding which library to sandbox would need buy off from various folks and teams at Mozilla. Additionally, some folks are still just getting back from vacation right now. If it's the second, as the maintainer of RLBox, I'm happy to point you to some tasks where you can help improve RLBox.

Depends on: 1607278

Thanks a lot Shravan,
I would like to go forward with adding support for more 3rd party libraries. I will take look into the existing codebase and see which one might be the best to get started. Perhaps eric and team will guide me in that, in the meantime till we finalize which library to work on, I will see if I can fix some bugs in RLBox. I understand community stays on holidays during first few weeks of Jan. Also it will be rewarding to read through some of your implementation to get an idea of the entire process. So if you have some issues/features that I can research/work for RLbox post it here, in the meanwhile till we finalize one lib.

Sure, to make sure we don't hijack this bug thread, can you create a new bug blocking "Bug 1572616", with a title like "New contributor to rlbox". We can then cc the right set of folks and follow up with suitable tasks.

Ok no problem. I will create it and add you as well. here

Done please check it out.

Closed: 3 months ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.