bazelbuild / rules_scala

Scala rules for Bazel
Apache License 2.0
363 stars 278 forks source link

Use of the SecurityManager #1617

Open srdo opened 2 months ago

srdo commented 2 months ago

The Worker uses the SecurityManager to prevent System.exit. The SM is deprecated for removal, and will be going away soon.

Previously, we've been punting on this issue by enabling the SM for Java 17+, but this won't continue to work.

The linked JEP contains source for a Java agent, which could be used to block System.exit (see the JEP appendix), but I'm wondering if we'd be better off just removing the SM code and not replacing it?

Do people actually have a lot of code they need to test with rules_scala, which calls System.exit, making it worth trying to block?

srdo commented 5 days ago

The Java rules have the same problem, I think we should follow their lead for how we solve this

https://github.com/bazelbuild/bazel/issues/24354

So for now the solution is probably to avoid using the SM code on Java 24+