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

RuntimeException: ProtoArray: Best node is not viable for head #1712

Closed
q9f opened this issue May 2, 2020 · 0 comments · Fixed by #1716
Closed

RuntimeException: ProtoArray: Best node is not viable for head #1712

q9f opened this issue May 2, 2020 · 0 comments · Fixed by #1716

Comments

@q9f
Copy link
Contributor

q9f commented May 2, 2020

Description

On Schlesi, the client tells me to report the following exception:

13:11:00.228 FATAL - PLEASE FIX OR REPORT | Unexpected exception thrown for java.lang.RuntimeException: ProtoArray: Best node is not viable for head: event 'interface tech.pegasys.artemis.util.time.channels.TimeTickChannel.onTick' in handler 'tech.pegasys.artemis.services.beaconchain.BeaconChainController'
java.lang.RuntimeException: ProtoArray: Best node is not viable for head
	at tech.pegasys.artemis.protoarray.ProtoArray.findHead(ProtoArray.java:125) ~[artemis-protoarray-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]

Steps to Reproduce (Bug)

  1. Build Teku latest master
  2. Configure for Schlesi https://github.com/goerli/schlesi
  3. Connect to a local node

Expected behavior:

Run Smoothly.

Actual behavior:

Runtime Exception:

13:09:30.128 INFO  - Sync Event *** Current slot: 36347, Head block: 133, Connected peers: 2
13:09:36.118 INFO  - Sync Event *** Current slot: 36348, Head block: 238, Connected peers: 2
13:09:48.117 INFO  - Sync Event *** Current slot: 36349, Head block: 529, Connected peers: 2
13:10:00.117 INFO  - Sync Event *** Current slot: 36350, Head block: 780, Connected peers: 2
13:10:12.116 INFO  - Sync Event *** Current slot: 36351, Head block: 1010, Connected peers: 2
13:10:24.117 INFO  - Sync Event *** Current slot: 36352, Head block: 1241, Connected peers: 2
13:10:36.118 INFO  - Sync Event *** Current slot: 36353, Head block: 1468, Connected peers: 2
13:10:48.117 INFO  - Sync Event *** Current slot: 36354, Head block: 1706, Connected peers: 2
13:11:00.228 FATAL - PLEASE FIX OR REPORT | Unexpected exception thrown for java.lang.RuntimeException: ProtoArray: Best node is not viable for head: event 'interface tech.pegasys.artemis.util.time.channels.TimeTickChannel.onTick' in handler 'tech.pegasys.artemis.services.beaconchain.BeaconChainController'
java.lang.RuntimeException: ProtoArray: Best node is not viable for head
	at tech.pegasys.artemis.protoarray.ProtoArray.findHead(ProtoArray.java:125) ~[artemis-protoarray-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.protoarray.ProtoArrayForkChoiceStrategy.findHead(ProtoArrayForkChoiceStrategy.java:193) ~[artemis-protoarray-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.protoarray.ProtoArrayForkChoiceStrategy.findHead(ProtoArrayForkChoiceStrategy.java:76) ~[artemis-protoarray-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.statetransition.forkchoice.ForkChoice.processHead(ForkChoice.java:53) ~[artemis-ethereum-statetransition-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.services.beaconchain.BeaconChainController.processSlotWhileSyncing(BeaconChainController.java:511) ~[artemis-services-beaconchain-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.services.beaconchain.BeaconChainController.onTick(BeaconChainController.java:463) ~[artemis-services-beaconchain-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
	at tech.pegasys.artemis.events.DirectEventDeliverer.executeMethod(DirectEventDeliverer.java:67) ~[artemis-events-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.events.DirectEventDeliverer.deliverTo(DirectEventDeliverer.java:54) ~[artemis-events-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.events.AsyncEventDeliverer.lambda$deliverTo$0(AsyncEventDeliverer.java:60) ~[artemis-events-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.events.AsyncEventDeliverer$QueueReader.deliverNextEvent(AsyncEventDeliverer.java:111) [artemis-events-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.events.AsyncEventDeliverer$QueueReader.run(AsyncEventDeliverer.java:103) [artemis-events-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:830) [?:?]
13:11:00.617 INFO  - Sync Event *** Current slot: 36355, Head block: 1927, Connected peers: 2
13:11:12.116 INFO  - Sync Event *** Current slot: 36356, Head block: 2144, Connected peers: 2
13:11:24.117 INFO  - Sync Event *** Current slot: 36357, Head block: 2380, Connected peers: 2
13:11:36.117 INFO  - Sync Event *** Current slot: 36358, Head block: 2600, Connected peers: 2
13:11:48.121 FATAL - PLEASE FIX OR REPORT | Unexpected exception thrown for java.lang.RuntimeException: ProtoArray: Best node is not viable for head: event 'interface tech.pegasys.artemis.util.time.channels.TimeTickChannel.onTick' in handler 'tech.pegasys.artemis.services.beaconchain.BeaconChainController'
java.lang.RuntimeException: ProtoArray: Best node is not viable for head
	at tech.pegasys.artemis.protoarray.ProtoArray.findHead(ProtoArray.java:125) ~[artemis-protoarray-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.protoarray.ProtoArrayForkChoiceStrategy.findHead(ProtoArrayForkChoiceStrategy.java:193) ~[artemis-protoarray-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.protoarray.ProtoArrayForkChoiceStrategy.findHead(ProtoArrayForkChoiceStrategy.java:76) ~[artemis-protoarray-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.statetransition.forkchoice.ForkChoice.processHead(ForkChoice.java:53) ~[artemis-ethereum-statetransition-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.services.beaconchain.BeaconChainController.processSlotWhileSyncing(BeaconChainController.java:511) ~[artemis-services-beaconchain-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.services.beaconchain.BeaconChainController.onTick(BeaconChainController.java:463) ~[artemis-services-beaconchain-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
	at tech.pegasys.artemis.events.DirectEventDeliverer.executeMethod(DirectEventDeliverer.java:67) ~[artemis-events-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.events.DirectEventDeliverer.deliverTo(DirectEventDeliverer.java:54) ~[artemis-events-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.events.AsyncEventDeliverer.lambda$deliverTo$0(AsyncEventDeliverer.java:60) ~[artemis-events-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.events.AsyncEventDeliverer$QueueReader.deliverNextEvent(AsyncEventDeliverer.java:111) [artemis-events-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at tech.pegasys.artemis.events.AsyncEventDeliverer$QueueReader.run(AsyncEventDeliverer.java:103) [artemis-events-0.11.0-SNAPSHOT.jar:0.11.0-dev-e8d96cf0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:830) [?:?]
13:11:48.616 INFO  - Sync Event *** Current slot: 36359, Head block: 2825, Connected peers: 2

Frequency:

Seen it 4 times in 8000 blocks.

Versions (Add all that apply)

  • Software version: teku/v0.11.0-dev-e8d96cf0/linux-x86_64/-na-openjdk64bitservervm-java-13
  • Java version: openjdk version "13.0.2" 2020-01-14
  • OS Name & Version: Arch Linux
  • Kernel Version: Linux intan 5.6.5-arch3-1 First commit. #1 SMP PREEMPT Sun, 19 Apr 2020 13:14:25 +0000 x86_64 GNU/Linux
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

Successfully merging a pull request may close this issue.

1 participant