Hi,

this issue is a real one. The problem is: The default ForkJoin thread pool runs all tasks with zero permissions if a security manager is present. As the MMap Jenkins enforces usage of MMapDirectory for all tests (it passes -Dtests.directory=MMapDirectory), all disk IO fails.

This will be a big issue for Elasticsearch/Opensearch/Solr if we use the default thread pool. If this is a test only issue, we should fix it:

 * use non-FS-based directory
 * use our own thread pool

If this issue is in 9.8 branch we have to fix it!

Uwe

Am 18.09.2023 um 17:59 schrieb Policeman Jenkins Server:
Build:https://jenkins.thetaphi.de/job/Lucene-MMAPv2-Windows/801/
Java: 64bit/hotspot/jdk-21-rc -XX:-UseCompressedOops -XX:+UseG1GC

1 tests failed.
FAILED:  
org.apache.lucene.misc.index.TestBPIndexReorderer.testSingleTermWithForkJoinPool

Error Message:
java.security.AccessControlException: access denied ("java.io.FilePermission" 
"C:\Users\jenkins\workspace\Lucene-MMAPv2-Windows\lucene\misc\build\tmp\tests-tmp\lucene.misc.index.TestBPIndexReorderer_4B02FABB1F62D832-001\index-MMapDirectory-003\forward-index_sort_5.tmp"
 "write")

Stack Trace:
java.security.AccessControlException: access denied ("java.io.FilePermission" 
"C:\Users\jenkins\workspace\Lucene-MMAPv2-Windows\lucene\misc\build\tmp\tests-tmp\lucene.misc.index.TestBPIndexReorderer_4B02FABB1F62D832-001\index-MMapDirectory-003\forward-index_sort_5.tmp"
 "write")
        at 
__randomizedtesting.SeedInfo.seed([4B02FABB1F62D832:77694EDC9D6E8956]:0)
        at 
java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:488)
        at 
java.base/java.security.AccessController.checkPermission(AccessController.java:1071)
        at 
java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:411)
        at 
java.base/java.lang.SecurityManager.checkWrite(SecurityManager.java:833)
        at 
java.base/sun.nio.fs.WindowsChannelFactory.open(WindowsChannelFactory.java:302)
        at 
java.base/sun.nio.fs.WindowsChannelFactory.newFileChannel(WindowsChannelFactory.java:168)
        at 
java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:229)
        at 
java.base/java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:482)
        
atorg.apache.lucene.test_framework@10.0.0-SNAPSHOT/org.apache.lucene.tests.mockfile.FilterFileSystemProvider.newOutputStream(FilterFileSystemProvider.java:198)
        
atorg.apache.lucene.test_framework@10.0.0-SNAPSHOT/org.apache.lucene.tests.mockfile.FilterFileSystemProvider.newOutputStream(FilterFileSystemProvider.java:198)
        
atorg.apache.lucene.test_framework@10.0.0-SNAPSHOT/org.apache.lucene.tests.mockfile.HandleTrackingFS.newOutputStream(HandleTrackingFS.java:132)
        
atorg.apache.lucene.test_framework@10.0.0-SNAPSHOT/org.apache.lucene.tests.mockfile.HandleTrackingFS.newOutputStream(HandleTrackingFS.java:132)
        
atorg.apache.lucene.test_framework@10.0.0-SNAPSHOT/org.apache.lucene.tests.mockfile.FilterFileSystemProvider.newOutputStream(FilterFileSystemProvider.java:198)
        at java.base/java.nio.file.Files.newOutputStream(Files.java:227)
        
atorg.apache.lucene.core@10.0.0-SNAPSHOT/org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:394)
        
atorg.apache.lucene.core@10.0.0-SNAPSHOT/org.apache.lucene.store.FSDirectory.createTempOutput(FSDirectory.java:234)
        
atorg.apache.lucene.test_framework@10.0.0-SNAPSHOT/org.apache.lucene.tests.store.MockDirectoryWrapper.createTempOutput(MockDirectoryWrapper.java:752)
        
atorg.apache.lucene.core@10.0.0-SNAPSHOT/org.apache.lucene.store.TrackingDirectoryWrapper.createTempOutput(TrackingDirectoryWrapper.java:49)
        
atorg.apache.lucene.core@10.0.0-SNAPSHOT/org.apache.lucene.store.TrackingDirectoryWrapper.createTempOutput(TrackingDirectoryWrapper.java:49)
        
atorg.apache.lucene.core@10.0.0-SNAPSHOT/org.apache.lucene.util.OfflineSorter$SortPartitionTask.call(OfflineSorter.java:623)
        
atorg.apache.lucene.core@10.0.0-SNAPSHOT/org.apache.lucene.util.OfflineSorter$SortPartitionTask.call(OfflineSorter.java:610)
        at 
java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1456)
        at 
java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
        at 
java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
        at 
java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
        at 
java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
        at 
java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

---------------------------------------------------------------------
To unsubscribe, e-mail:builds-unsubscr...@lucene.apache.org
For additional commands, e-mail:builds-h...@lucene.apache.org

--
Uwe Schindler
Achterdiek 19, D-28357 Bremen
https://www.thetaphi.de
eMail:u...@thetaphi.de

Reply via email to