<!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>