Bootstrap exception: error loading whitelist(s)

I got the following exception while starting elasticsearch on a docker container.

[2018-02-21T21:35:04,941][INFO ][o.e.p.PluginsService ] [682c5c69a4db] loaded module [lang-painless]
...
[2018-02-21T21:35:04,945][INFO ][o.e.p.PluginsService ] [682c5c69a4db] loaded plugin [analysis-phonetic]
[2018-02-21T21:35:04,946][INFO ][o.e.p.PluginsService ] [682c5c69a4db] loaded plugin [ingest-attachment]
[2018-02-21T21:35:04,946][INFO ][o.e.p.PluginsService ] [682c5c69a4db] loaded plugin [ingest-geoip]
[2018-02-21T21:35:04,946][INFO ][o.e.p.PluginsService ] [682c5c69a4db] loaded plugin [we-elastic-svc]
[2018-02-21T21:35:05,308][ERROR][o.e.b.Bootstrap ] Exception
java.lang.IllegalArgumentException: error loading whitelist(s) [org.elasticsearch.txt]:[101]
at org.elasticsearch.painless.Definition.(Definition.java:597) ~[?:?]
at org.elasticsearch.painless.PainlessScriptEngine.(PainlessScriptEngine.java:106) ~[?:?]
at org.elasticsearch.painless.PainlessPlugin.getScriptEngine(PainlessPlugin.java:59) ~[?:?]
at org.elasticsearch.script.ScriptModule.(ScriptModule.java:69) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.node.Node.(Node.java:327) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.node.Node.(Node.java:246) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap$5.(Bootstrap.java:213) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:323) [elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) [elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) [elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) [elasticsearch-cli-6.2.1.jar:6.2.1]
at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) [elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:85) [elasticsearch-6.2.1.jar:6.2.1]
Caused by: java.lang.IllegalArgumentException: struct not defined for return type [double] with owner struct [org.elasticsearch.index.fielddata.ScriptDocValues.GeoPoints] and method with name [getLats] and parameters

at org.elasticsearch.painless.Definition.addMethod(Definition.java:915) ~[?:?]
at org.elasticsearch.painless.Definition.(Definition.java:587) ~[?:?]
... 15 more
Caused by: java.lang.IllegalArgumentException: The class could not be found to create type [double].
at org.elasticsearch.painless.Definition.getTypeInternal(Definition.java:1284) ~[?:?]
at org.elasticsearch.painless.Definition.getTypeInternal(Definition.java:1259) ~[?:?]
at org.elasticsearch.painless.Definition.addMethod(Definition.java:913) ~[?:?]
at org.elasticsearch.painless.Definition.(Definition.java:587) ~[?:?]
... 15 more
Caused by: java.lang.IllegalArgumentException: struct not defined for return type [double] with owner struct [org.elasticsearch.index.fielddata.ScriptDocValues.GeoPoints] and method with name [getLats] and parameters

at org.elasticsearch.painless.Definition.addMethod(Definition.java:915) ~[?:?]
at org.elasticsearch.painless.Definition.(Definition.java:587) ~[?:?]
at org.elasticsearch.painless.PainlessScriptEngine.(PainlessScriptEngine.java:106) ~[?:?]
at org.elasticsearch.painless.PainlessPlugin.getScriptEngine(PainlessPlugin.java:59) ~[?:?]
at org.elasticsearch.script.ScriptModule.(ScriptModule.java:69) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.node.Node.(Node.java:327) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.node.Node.(Node.java:246) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap$5.(Bootstrap.java:213) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:323) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-6.2.1.jar:6.2.1]
... 6 more
Caused by: java.lang.IllegalArgumentException: The class could not be found to create type [double].
at org.elasticsearch.painless.Definition.getTypeInternal(Definition.java:1284) ~[?:?]
at org.elasticsearch.painless.Definition.getTypeInternal(Definition.java:1259) ~[?:?]
at org.elasticsearch.painless.Definition.addMethod(Definition.java:913) ~[?:?]
at org.elasticsearch.painless.Definition.(Definition.java:587) ~[?:?]
at org.elasticsearch.painless.PainlessScriptEngine.(PainlessScriptEngine.java:106) ~[?:?]
at org.elasticsearch.painless.PainlessPlugin.getScriptEngine(PainlessPlugin.java:59) ~[?:?]
at org.elasticsearch.script.ScriptModule.(ScriptModule.java:69) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.node.Node.(Node.java:327) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.node.Node.(Node.java:246) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap$5.(Bootstrap.java:213) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:323) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-6.2.1.jar:6.2.1]
... 6 more

I suspected our plugin (we-elastic-svc) was the cause (the error went away if I removed the plugin from the docker run command). But the plugin has no painless script, geo or double anything in the code. Just looking for ideas of how to debug and solve this error. Please help!!!

I'm using the latest Elasticsearch version 6.2.1

May be share your plugin code. Or try to remove some parts of it to isolate the root cause ?

Hard to say just from logs IMO.

Thanks for the reply! The plugin had asm.jar and excluding that made the error go away. Must be some classpath conflict with the Painless code though I didn't get the Jar Hell error.

Hope it helps somebody who runs into similar exception.

Cheers!

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