# Assembly elasticsearch, Guice runtime problems

**URL:** <https://discuss.elastic.co/t/assembly-elasticsearch-guice-runtime-problems/10343>\
**Category:** Elasticsearch\
**Created:** [January 15, 2013, 4:12am UTC](https://discuss.elastic.co/t/assembly-elasticsearch-guice-runtime-problems/10343 "2013-01-15T04:12:39Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sergey\_Andreev](https://avatars.discourse-cdn.com/v4/letter/s/f08c70/32.png) [@Sergey\_Andreev](https://discuss.elastic.co/u/Sergey_Andreev)\
**Post date:** [January 15, 2013, 4:12am UTC](https://discuss.elastic.co/t/assembly-elasticsearch-guice-runtime-problems/10343/1 "2013-01-15T04:12:39Z")

</div>

Hi,

We are using EC2 discovery mechanism and package our code using sbt  
assembly plugin.

We are getting weird error from Elasticsearch DI:

- it starts with a bunch of warnings  
WARN [transport] - [Balthakk] Registered two transport handlers for action  
discovery/zen/fd/masterPing, handlers:  
org.elasticsearch.discovery.zen.fd.MasterFaultDetection$MasterPingRequestHandler@3e1f1cf9,  
org.elasticsearch.discovery.zen.fd.MasterFaultDetection$MasterPingRequestHandler@6ca73f4b  
WARN [transport] - [Balthakk] Registered two transport handlers for action  
discovery/zen/fd/ping, handlers:  
org.elasticsearch.discovery.zen.fd.NodesFaultDetection$PingRequestHandler@582c8ca7,  
org.elasticsearch.discovery.zen.fd.NodesFaultDetection$PingRequestHandler@54c6552a

- and then throws exceptions:  
Exception in thread "main" java.lang.reflect.InvocationTargetException  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at  
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
at  
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
at java.lang.reflect.Method.invoke(Method.java:597)  
at com.simontuffs.onejar.Boot.run(Boot.java:340)  
at com.simontuffs.onejar.Boot.main(Boot.java:166)  
Caused by: org.elasticsearch.common.inject.CreationException: Guice  
creation errors:

1. Error injecting constructor, java.lang.IllegalStateException: This is a  
proxy used to support circular references involving constructors. The  
object we're proxying is not constructed yet. Please wait until after  
injection has completed to use this object.  
at org.elasticsearch.cache.NodeCache.(Unknown Source)  
while locating org.elasticsearch.cache.NodeCache  
Caused by: java.lang.IllegalStateException: This is a proxy used to support  
circular references involving constructors. The object we're proxying is  
not constructed yet. Please wait until after injection has completed to use  
this object.  
at  
org.elasticsearch.common.inject.internal.ConstructionContext$DelegatingInvocationHandler.invoke(ConstructionContext.java:102)  
at $Proxy18.add(Unknown Source)  
at org.elasticsearch.cache.NodeCache.(NodeCache.java:44)  
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)  
at  
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)  
at  
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)  
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)  
at  
org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54)  
at  
org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)  
at  
org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)  
at  
org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)  
at  
org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:819)  
at  
org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)  
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:56)  
at  
org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)  
at  
org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:200)  
at  
org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)  
at  
org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:812)  
at  
org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)  
at  
org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)  
at  
org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)  
at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:93)  
at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70)  
at  
org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:59)  
at  
org.elasticsearch.node.internal.InternalNode.(InternalNode.java:155)  
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:159)

The problem only happens with EC2 discovery, with Zen everything works just  
fine.  
Looks like a dependencies problem during assembly merge but tried one-jar  
assembly with the same result. Tried to provide elastic-cloud-aws  
dependency separately but not luck.

I would appreciate any pointers to the solution of this issue.

Kind Regards,  
Sergey

--

---

<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:** [July 6, 2017, 2:56am UTC](https://discuss.elastic.co/t/assembly-elasticsearch-guice-runtime-problems/10343/2 "2017-07-06T02:56:28Z")

</div>


