[
https://issues.apache.org/jira/browse/LUCENE-9109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Uwe Schindler resolved LUCENE-9109.
-----------------------------------
Resolution: Fixed
> Use Java 9+ StackWalker to implement TestSecurityManager's detection of JVM
> exit
> --------------------------------------------------------------------------------
>
> Key: LUCENE-9109
> URL: https://issues.apache.org/jira/browse/LUCENE-9109
> Project: Lucene - Core
> Issue Type: Improvement
> Components: modules/test-framework
> Reporter: Uwe Schindler
> Assignee: Uwe Schindler
> Priority: Major
> Fix For: master (9.0)
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> This is just a small improvement in Lucene/Solr master (Java 11) to detect
> exit of JVM in our test framework. There are other places in Lucene that use
> ineffective ways to inspect the stack trace.
> This one optimizes the implementation of
> TestSecurityManager#checkExit(status) to disallow all JVM exits outside of
> the official test runner by using StackWalker. In addition this needs no
> additional permissions, because we do not instruct StackWalker to fetch all
> crazy stuff like Class instances of stack elements.
> The way how this works is: Walk through stack trace:
> - skip all internal frames (those which come before the actual exit call)
> - skip all frmes with the actual exit call
> - limit to one more frame (the method calling System.exit())
> - check if that remaining frame is on our whitelist
> This can only be commited to master (9.0), as it requires Java 9.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]