[ 
https://issues.apache.org/jira/browse/LUCENE-5650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14016976#comment-14016976
 ] 

Steve Rowe edited comment on LUCENE-5650 at 6/3/14 6:47 PM:
------------------------------------------------------------

I'm seeing what look like security manager-related exceptions on trunk with 
{{o.a.s.search.TestRecoveryHdfs}} on OS X 10.9.3 w/Oracle Java 1.7.0_55 - 
here's the first exception (9 out of 9 non-ignored tests fail):

{noformat}
   [junit4] <JUnit4> says 你好! Master seed: 37AA21AA8F6886DF
   [junit4] Executing 1 suite with 1 JVM.
   [junit4] 
   [junit4] Started J0 PID([email protected]).
   [junit4] Suite: org.apache.solr.search.TestRecoveryHdfs
[...]
   [junit4]   2> 7871 T118 oasc.CoreContainer.recordAndThrow ERROR Unable to 
create core: collection1 org.apache.solr.common.SolrException: Problem creating 
directory: 
solr_hdfs_home/collection1/Users/sarowe/svn/lucene/dev/trunk4/solr/build/solr-core/test/J0/temp/solr.search.TestRecoveryHdfs-37AA21AA8F6886DF-001/init-core-data-001
   [junit4]   2>        at 
org.apache.solr.core.SolrCore.<init>(SolrCore.java:885)
   [junit4]   2>        at 
org.apache.solr.core.SolrCore.<init>(SolrCore.java:649)
   [junit4]   2>        at 
org.apache.solr.core.CoreContainer.create(CoreContainer.java:556)
   [junit4]   2>        at 
org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:261)
   [junit4]   2>        at 
org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:253)
   [junit4]   2>        at 
java.util.concurrent.FutureTask.run(FutureTask.java:262)
   [junit4]   2>        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
   [junit4]   2>        at 
java.util.concurrent.FutureTask.run(FutureTask.java:262)
   [junit4]   2>        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   [junit4]   2>        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   [junit4]   2>        at java.lang.Thread.run(Thread.java:745)
   [junit4]   2> Caused by: java.lang.RuntimeException: Problem creating 
directory: 
solr_hdfs_home/collection1/Users/sarowe/svn/lucene/dev/trunk4/solr/build/solr-core/test/J0/temp/solr.search.TestRecoveryHdfs-37AA21AA8F6886DF-001/init-core-data-001
   [junit4]   2>        at 
org.apache.solr.store.hdfs.HdfsDirectory.<init>(HdfsDirectory.java:87)
   [junit4]   2>        at 
org.apache.solr.core.HdfsDirectoryFactory.create(HdfsDirectoryFactory.java:148)
   [junit4]   2>        at 
org.apache.solr.core.CachingDirectoryFactory.get(CachingDirectoryFactory.java:351)
   [junit4]   2>        at 
org.apache.solr.core.SolrCore.getNewIndexDir(SolrCore.java:273)
   [junit4]   2>        at 
org.apache.solr.core.SolrCore.initIndex(SolrCore.java:485)
   [junit4]   2>        at 
org.apache.solr.core.SolrCore.<init>(SolrCore.java:791)
   [junit4]   2>        ... 10 more
   [junit4]   2> Caused by: java.security.AccessControlException: access denied 
("java.io.FilePermission" 
"/Users/sarowe/svn/lucene/dev/trunk4/solr/build/solr-core/test/J0" "write")
   [junit4]   2>        at 
java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
   [junit4]   2>        at 
java.security.AccessController.checkPermission(AccessController.java:559)
   [junit4]   2>        at 
java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
   [junit4]   2>        at 
java.lang.SecurityManager.checkWrite(SecurityManager.java:979)
   [junit4]   2>        at java.io.File.mkdir(File.java:1305)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.ChecksumFileSystem.mkdirs(ChecksumFileSystem.java:584)
   [junit4]   2>        at 
org.apache.solr.store.hdfs.HdfsDirectory.<init>(HdfsDirectory.java:63)
   [junit4]   2>        ... 15 more
   [junit4]
[...] 
   [junit4] Tests with failures:
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testLogReplay
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testRemoveOldLogs
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testBufferingFlags
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testCleanShutdown
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testCorruptLog
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testVersionsOnRestart
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testRecoveryMultipleLogs
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testTruncatedLog
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testBuffering
{noformat}


was (Author: steve_rowe):
I'm seeing what look like security manager-related exceptions on trunk with 
{{o.a.s.search.TestRecoveryHdfs}} on OS X 10.9.3 w/Oracle Java 1.7.0_55 - 
here's the first exception (9 out of 9 non-ignored tests fail):

{quote}
   [junit4] <JUnit4> says 你好! Master seed: 37AA21AA8F6886DF
   [junit4] Executing 1 suite with 1 JVM.
   [junit4] 
   [junit4] Started J0 PID([email protected]).
   [junit4] Suite: org.apache.solr.search.TestRecoveryHdfs
[...]
   [junit4]   2> 7871 T118 oasc.CoreContainer.recordAndThrow ERROR Unable to 
create core: collection1 org.apache.solr.common.SolrException: Problem creating 
directory: 
solr_hdfs_home/collection1/Users/sarowe/svn/lucene/dev/trunk4/solr/build/solr-core/test/J0/temp/solr.search.TestRecoveryHdfs-37AA21AA8F6886DF-001/init-core-data-001
   [junit4]   2>        at 
org.apache.solr.core.SolrCore.<init>(SolrCore.java:885)
   [junit4]   2>        at 
org.apache.solr.core.SolrCore.<init>(SolrCore.java:649)
   [junit4]   2>        at 
org.apache.solr.core.CoreContainer.create(CoreContainer.java:556)
   [junit4]   2>        at 
org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:261)
   [junit4]   2>        at 
org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:253)
   [junit4]   2>        at 
java.util.concurrent.FutureTask.run(FutureTask.java:262)
   [junit4]   2>        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
   [junit4]   2>        at 
java.util.concurrent.FutureTask.run(FutureTask.java:262)
   [junit4]   2>        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   [junit4]   2>        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   [junit4]   2>        at java.lang.Thread.run(Thread.java:745)
   [junit4]   2> Caused by: java.lang.RuntimeException: Problem creating 
directory: 
solr_hdfs_home/collection1/Users/sarowe/svn/lucene/dev/trunk4/solr/build/solr-core/test/J0/temp/solr.search.TestRecoveryHdfs-37AA21AA8F6886DF-001/init-core-data-001
   [junit4]   2>        at 
org.apache.solr.store.hdfs.HdfsDirectory.<init>(HdfsDirectory.java:87)
   [junit4]   2>        at 
org.apache.solr.core.HdfsDirectoryFactory.create(HdfsDirectoryFactory.java:148)
   [junit4]   2>        at 
org.apache.solr.core.CachingDirectoryFactory.get(CachingDirectoryFactory.java:351)
   [junit4]   2>        at 
org.apache.solr.core.SolrCore.getNewIndexDir(SolrCore.java:273)
   [junit4]   2>        at 
org.apache.solr.core.SolrCore.initIndex(SolrCore.java:485)
   [junit4]   2>        at 
org.apache.solr.core.SolrCore.<init>(SolrCore.java:791)
   [junit4]   2>        ... 10 more
   [junit4]   2> Caused by: java.security.AccessControlException: access denied 
("java.io.FilePermission" 
"/Users/sarowe/svn/lucene/dev/trunk4/solr/build/solr-core/test/J0" "write")
   [junit4]   2>        at 
java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
   [junit4]   2>        at 
java.security.AccessController.checkPermission(AccessController.java:559)
   [junit4]   2>        at 
java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
   [junit4]   2>        at 
java.lang.SecurityManager.checkWrite(SecurityManager.java:979)
   [junit4]   2>        at java.io.File.mkdir(File.java:1305)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:427)
   [junit4]   2>        at 
org.apache.hadoop.fs.ChecksumFileSystem.mkdirs(ChecksumFileSystem.java:584)
   [junit4]   2>        at 
org.apache.solr.store.hdfs.HdfsDirectory.<init>(HdfsDirectory.java:63)
   [junit4]   2>        ... 15 more
   [junit4]
[...] 
   [junit4] Tests with failures:
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testLogReplay
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testRemoveOldLogs
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testBufferingFlags
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testCleanShutdown
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testCorruptLog
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testVersionsOnRestart
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testRecoveryMultipleLogs
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testTruncatedLog
   [junit4]   - org.apache.solr.search.TestRecoveryHdfs.testBuffering
{noformat}

> Enforce read-only access to any path outside the temporary folder via 
> security manager
> --------------------------------------------------------------------------------------
>
>                 Key: LUCENE-5650
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5650
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: general/test
>            Reporter: Ryan Ernst
>            Assignee: Dawid Weiss
>            Priority: Minor
>             Fix For: 4.9, 5.0
>
>         Attachments: LUCENE-5650.patch, LUCENE-5650.patch, LUCENE-5650.patch, 
> LUCENE-5650.patch, dih.patch
>
>
> The recent refactoring to all the create temp file/dir functions (which is 
> great!) has a minor regression from what existed before.  With the old 
> {{LuceneTestCase.TEMP_DIR}}, the directory was created if it did not exist.  
> So, if you set {{java.io.tmpdir}} to {{"./temp"}}, then it would create that 
> dir within the per jvm working dir.  However, {{getBaseTempDirForClass()}} 
> now does asserts that check the dir exists, is a dir, and is writeable.
> Lucene uses {{"."}} as {{java.io.tmpdir}}.  Then in the test security 
> manager, the per jvm cwd has read/write/execute permissions.  However, this 
> allows tests to write to their cwd, which I'm trying to protect against (by 
> setting cwd to read/execute in my test security manager).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to