[ 
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: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to