Skip to content

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

@einalex

Description

@einalex

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions