Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agent dies on start after hitting timeout, possibly to geth not finding eth light peers #32

Open
einalex opened this issue Aug 13, 2020 · 4 comments

Comments

@einalex
Copy link

einalex commented Aug 13, 2020

Can we instead just loop forever waiting for peers?

The output looks like this:

07:34:14.937 [main] INFO  org.springframework.core.KotlinDetector - Kotlin reflection implementation not found at runtime, related features won't be available.
07:34:15.713 [main] INFO  SystemPropertiesFactory - Config (yes): user properties from -Dsysethereum.agents.conf.file file '/etc/syscoin/sysethereum.conf'
07:34:15.723 [main] DEBUG SystemProperties - Config trace:     # /etc/syscoin/sysethereum.conf: 43

...config

07:34:15.893 [main] INFO  MainnetAgentConstantsFactory - genesisSuperblock SuperblockData{merkleRoot=33de3e710118e85a26cd3673c9d24c6d044520a6241c37248cf2cacb4a100f0f, lastSyscoinBlockTime=1576850904, lastSyscoinBlockTimeMTP=1576850690, lastSyscoinBlockHash=33de3e710118e85a26cd3673c9d24c6d044520a6241c37248cf2cacb4a100f0f, lastSyscoinBlockBits=402958772, parentId=0000000000000000000000000000000000000000000000000000000000000000, superblockHeight=1}
07:34:15.902 [main] INFO  org.bitcoinj.core.Context - Creating bitcoinj 0.15.5 context.
07:34:16.054 [main] DEBUG MainConfiguration - mainWeb3jService: Set to: http://localhost:8645/
07:34:26.583 [main] WARN  org.springframework.context.annotation.AnnotationConfigApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'mainLifecycle' defined in URL [jar:file:/var/lib/syscoin/sysethereum.jar!/org/sysethereum/agents/MainLifecycle.class]: Unsatisfied dependency expressed through constructor parameter 3; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'superblockChainClient' defined in URL [jar:file:/var/lib/syscoin/sysethereum.jar!/org/sysethereum/agents/core/SuperblockChainClient.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'superblockChain' defined in URL [jar:file:/var/lib/syscoin/sysethereum.jar!/org/sysethereum/agents/core/syscoin/SuperblockChain.class]: Unsatisfied dependency expressed through constructor parameter 5; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'superblockDuration' defined in class path resource [org/sysethereum/agents/MainConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.math.BigInteger]: Factory method 'superblockDuration' threw exception; nested exception is java.lang.RuntimeException: java.net.SocketTimeoutException: timeout
Exception in thread "main" org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'mainLifecycle' defined in URL [jar:file:/var/lib/syscoin/sysethereum.jar!/org/sysethereum/agents/MainLifecycle.class]: Unsatisfied dependency expressed through constructor parameter 3; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'superblockChainClient' defined in URL [jar:file:/var/lib/syscoin/sysethereum.jar!/org/sysethereum/agents/core/SuperblockChainClient.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'superblockChain' defined in URL [jar:file:/var/lib/syscoin/sysethereum.jar!/org/sysethereum/agents/core/syscoin/SuperblockChain.class]: Unsatisfied dependency expressed through constructor parameter 5; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'superblockDuration' defined in class path resource [org/sysethereum/agents/MainConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.math.BigInteger]: Factory method 'superblockDuration' threw exception; nested exception is java.lang.RuntimeException: java.net.SocketTimeoutException: timeout
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:787)
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:226)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1358)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
	at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:89)
	at org.sysethereum.agents.Main.main(Main.java:18)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'superblockChainClient' defined in URL [jar:file:/var/lib/syscoin/sysethereum.jar!/org/sysethereum/agents/core/SuperblockChainClient.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'superblockChain' defined in URL [jar:file:/var/lib/syscoin/sysethereum.jar!/org/sysethereum/agents/core/syscoin/SuperblockChain.class]: Unsatisfied dependency expressed through constructor parameter 5; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'superblockDuration' defined in class path resource [org/sysethereum/agents/MainConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.math.BigInteger]: Factory method 'superblockDuration' threw exception; nested exception is java.lang.RuntimeException: java.net.SocketTimeoutException: timeout
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:787)
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:226)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1358)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1287)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:874)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:778)
	... 14 more
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'superblockChain' defined in URL [jar:file:/var/lib/syscoin/sysethereum.jar!/org/sysethereum/agents/core/syscoin/SuperblockChain.class]: Unsatisfied dependency expressed through constructor parameter 5; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'superblockDuration' defined in class path resource [org/sysethereum/agents/MainConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.math.BigInteger]: Factory method 'superblockDuration' threw exception; nested exception is java.lang.RuntimeException: java.net.SocketTimeoutException: timeout
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:787)
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:226)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1358)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1287)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:874)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:778)
	... 28 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'superblockDuration' defined in class path resource [org/sysethereum/agents/MainConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.math.BigInteger]: Factory method 'superblockDuration' threw exception; nested exception is java.lang.RuntimeException: java.net.SocketTimeoutException: timeout
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:645)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:625)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1287)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:874)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:778)
	... 42 more
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.math.BigInteger]: Factory method 'superblockDuration' threw exception; nested exception is java.lang.RuntimeException: java.net.SocketTimeoutException: timeout
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:640)
	... 56 more
Caused by: java.lang.RuntimeException: java.net.SocketTimeoutException: timeout
	at org.sysethereum.agents.MainConfiguration.superblockDuration(MainConfiguration.java:121)
	at org.sysethereum.agents.MainConfiguration$$EnhancerBySpringCGLIB$$d1be1cf9.CGLIB$superblockDuration$9(<generated>)
	at org.sysethereum.agents.MainConfiguration$$EnhancerBySpringCGLIB$$d1be1cf9$$FastClassBySpringCGLIB$$5b1ef49d.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363)
	at org.sysethereum.agents.MainConfiguration$$EnhancerBySpringCGLIB$$d1be1cf9.superblockDuration(<generated>)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
	... 57 more
Caused by: java.net.SocketTimeoutException: timeout
	at okio.SocketAsyncTimeout.newTimeoutException(Okio.kt:159)
	at okio.AsyncTimeout.exit$jvm(AsyncTimeout.kt:203)
	at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:163)
	at okio.RealBufferedSource.indexOf(RealBufferedSource.kt:349)
	at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.kt:222)
	at okhttp3.internal.http1.Http1ExchangeCodec.readHeaderLine(Http1ExchangeCodec.kt:210)
	at okhttp3.internal.http1.Http1ExchangeCodec.readResponseHeaders(Http1ExchangeCodec.kt:181)
	at okhttp3.internal.connection.Exchange.readResponseHeaders(Exchange.kt:105)
	at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:82)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:37)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:82)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:84)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:71)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.kt:184)
	at okhttp3.RealCall.execute(RealCall.kt:66)
	at org.web3j.protocol.http.HttpService.performIO(HttpService.java:160)
	at org.web3j.protocol.Service.send(Service.java:42)
	at org.web3j.protocol.core.Request.send(Request.java:81)
	at org.web3j.tx.ClientTransactionManager.sendCall(ClientTransactionManager.java:75)
	at org.web3j.tx.ManagedTransaction.call(ManagedTransaction.java:121)
	at org.web3j.tx.Contract.executeCall(Contract.java:290)
	at org.web3j.tx.Contract.executeCallSingleValueReturn(Contract.java:298)
	at org.web3j.tx.Contract.lambda$executeRemoteCallSingleValueReturn$0(Contract.java:385)
	at org.web3j.protocol.core.RemoteCall.send(RemoteCall.java:42)
	at org.sysethereum.agents.MainConfiguration.superblockDuration(MainConfiguration.java:118)
	... 67 more
Caused by: java.net.SocketException: Socket closed
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:183)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
	at okio.InputStreamSource.read(Okio.kt:102)
	at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:159)
	... 97 more

@sidhujag
Copy link
Member

did you set infura properly?

@einalex
Copy link
Author

einalex commented Aug 18, 2020 via email

@willyko
Copy link

willyko commented Aug 18, 2020

i think there's some variables that can be set to constant instead of drawing from the peer (contract). that superblockDuration for example is pretty set in stone. I think that's the root cause of this error message, requiring peer to be up to get that superblockDuration.

@sidhujag
Copy link
Member

i think it gets that from infura

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants