<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 09/10/2023 18:19, Alan Snyder wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:FDA00D9B-6F5F-4834-B540-E8A978FC77B9@cbfiddle.com">
      <div>But the proposed solution means there is no way for
        applications to guarantee that they won’t crash at runtime
        because</div>
      <div>some nth level dependency tries to load native code.</div>
    </blockquote>
    <p>If you mean, how do I make sure that code is not used my
      application, this can be done using, e.g.</p>
    <p>--enable-native-access=java.base</p>
    <p>(this will become the default mode at some point, when we have
      done some of the stuff I've described in my previous email)<br>
    </p>
    <blockquote type="cite" cite="mid:FDA00D9B-6F5F-4834-B540-E8A978FC77B9@cbfiddle.com">
      <div><br>
      </div>
      <div>The concern is that there appears to be a strong temptation
        to make this transitory solution permanent without solving the
        issue of</div>
      <div>"<font color="#000000"><span style="caret-color: rgb(0, 0, 0);">the lack of a mechanism
            to propagate the native access permissions from a module to
            its dependencies”.</span></font></div>
    </blockquote>
    <p>I think that the problem of lack of mechanism for propagating
      permissions from modules to dependencies is well known and we have
      been discussing it for a long time. The current warning buys us
      some time, allowing also to assess the extent of the problem (lack
      of propagation) in the real world.</p>
    <p>But I believe our ultimate goal in this area is to get to some
      "reliable configuration" (in the spirit of the module system), as
      well as to "fail fast". The latter meaning: if your modular
      application is incorrectly configured, it should fail to start,
      rather than wait until the first restricted method is called.</p>
    <p>So, these are the things we'd like to explore (how we get there
      is a different topic, and not for this thread), before we make the
      --enable-native-access mechanism "final" and "permanent".<br>
    </p>
    <p>Maurizio<br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
  </body>
</html>