# Analyzer plugin - java.lang.RuntimePermission issue

**URL:** https://discuss.elastic.co/t/analyzer-plugin-java-lang-runtimepermission-issue/78552
**Category:** Elasticsearch
**Created:** [March 14, 2017, 3:37pm UTC](https://discuss.elastic.co/t/analyzer-plugin-java-lang-runtimepermission-issue/78552 "2017-03-14T15:37:27Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![idanhagai](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/idanhagai/32/16175_2.png) [@idanhagai](https://discuss.elastic.co/u/idanhagai)
#### Post date: [March 14, 2017, 3:37pm UTC](https://discuss.elastic.co/t/analyzer-plugin-java-lang-runtimepermission-issue/78552/1 "2017-03-14T15:37:27Z")

</div>

Hi,

I'm writing analyzer plugin for es 5.2.1 on ubutnu 14.04.

After restart, when cluster is green and the plugin is loaded,

I run simple analyze command for testing and I get this error..

curl -XGET 'localhost:9200/\_analyze?pretty' -d '  
{  
"analyzer" : "my\_spanish\_analyzer",  
"text" : "this is a test"  
}'

there is no response and the cluster performing restart...

...  
_2017-03-14 17:26:44.146381500 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0\_121]_  
_2017-03-14 17:26:44.146385500 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0\_121]_  
_2017-03-14 17:26:44.146386500 at java.lang.Thread.run(Thread.java:745) [?:1.8.0\_121]_  
_**2017-03-14 17:26:44.146387500 Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getClassLoader")**_  
_2017-03-14 17:26:44.146388500 at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) ~[?:1.8.0\_121]_  
_2017-03-14 17:26:44.146391500 at java.security.AccessController.checkPermission(AccessController.java:884) ~[?:1.8.0\_121]_  
...

(getClassLoader is a part from my analyzer code )

Any ideas ?

Thanks.

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [March 14, 2017, 3:52pm UTC](https://discuss.elastic.co/t/analyzer-plugin-java-lang-runtimepermission-issue/78552/2 "2017-03-14T15:52:53Z")

</div>

Read [https://www.elastic.co/guide/en/elasticsearch/plugins/current/plugin-authors.html](https://www.elastic.co/guide/en/elasticsearch/plugins/current/plugin-authors.html)

---

<div class="post-metadata">

### Author: ![idanhagai](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/idanhagai/32/16175_2.png) [@idanhagai](https://discuss.elastic.co/u/idanhagai)
#### Post date: [March 15, 2017, 1:06pm UTC](https://discuss.elastic.co/t/analyzer-plugin-java-lang-runtimepermission-issue/78552/3 "2017-03-15T13:06:59Z")

</div>

YAY !!!  
Thanks David !!!

Fixed with _plugin-security.policy_ file at plugin-metadata dir :

grant {  
permission java.io.FilePermission "MY\_PATH", "read";  
};

And:

```
     SecurityManager sm = System.getSecurityManager();
    if (sm != null) {
        // unprivileged code such as scripts do not have SpecialPermission
        sm.checkPermission(new SpecialPermission());
    }

    AccessController.doPrivileged( SOME_CODE... );
```

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [April 12, 2017, 1:07pm UTC](https://discuss.elastic.co/t/analyzer-plugin-java-lang-runtimepermission-issue/78552/4 "2017-04-12T13:07:06Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
