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

[HOLESKY PECTRA] ArithmeticException! FCU #9189

Open
rolfyone opened this issue Mar 2, 2025 · 2 comments · Fixed by #9191
Open

[HOLESKY PECTRA] ArithmeticException! FCU #9189

rolfyone opened this issue Mar 2, 2025 · 2 comments · Fixed by #9191
Assignees
Labels
bug 🐞 Something isn't working

Comments

@rolfyone
Copy link
Contributor

rolfyone commented Mar 2, 2025

{"@timestamp":"2025-03-02T20:53:40,855","level":"ERROR","thread":"forkchoice-async-0","class":"ForkChoiceRatchet","message":"Fork choice process head failed","throwable":" java.util.concurrent.CompletionException: java.lang.ArithmeticException: uint64 overflow\n\tat java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:368)\n\tat java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:377)\n\tat java.base/java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:1097)\n\tat java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)\n\tat java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2194)\n\tat tech.pegasys.teku.infrastructure.async.SafeFuture.lambda$propagateResult$3(SafeFuture.java:145)\n\tat java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)\n\tat java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:887)\n\tat java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2357)\n\tat tech.pegasys.teku.infrastructure.async.SafeFuture.whenComplete(SafeFuture.java:620)\n\tat tech.pegasys.teku.infrastructure.async.SafeFuture.whenComplete(SafeFuture.java:31)\n\tat tech.pegasys.teku.infrastructure.async.SafeFuture.propagateResult(SafeFuture.java:142)\n\tat tech.pegasys.teku.infrastructure.async.SafeFuture.propagateTo(SafeFuture.java:318)\n\tat tech.pegasys.teku.infrastructure.async.ScheduledExecutorAsyncRunner.lambda$createRunnableForAction$1(ScheduledExecutorAsyncRunner.java:124)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: java.lang.ArithmeticException: uint64 overflow\n\tat tech.pegasys.teku.infrastructure.unsigned.UInt64.plus(UInt64.java:142)\n\tat tech.pegasys.teku.infrastructure.unsigned.UInt64.plus(UInt64.java:108)\n\tat tech.pegasys.teku.storage.protoarray.ProtoNode.adjustWeight(ProtoNode.java:108)\n\tat tech.pegasys.teku.storage.protoarray.ProtoArray.applyDelta(ProtoArray.java:728)\n\tat tech.pegasys.teku.storage.protoarray.ProtoArray.lambda$applyDeltas$8(ProtoArray.java:716)\n\tat tech.pegasys.teku.storage.protoarray.ProtoArray.applyToNodes(ProtoArray.java:744)\n\tat tech.pegasys.teku.storage.protoarray.ProtoArray.applyDeltas(ProtoArray.java:716)\n\tat tech.pegasys.teku.storage.protoarray.ProtoArray.applyScoreChanges(ProtoArray.java:429)\n\tat tech.pegasys.teku.storage.protoarray.ForkChoiceStrategy.applyPendingVotes(ForkChoiceStrategy.java:126)\n\tat tech.pegasys.teku.storage.store.StoreVoteUpdater.applyForkChoiceScoreChanges(StoreVoteUpdater.java:81)\n\tat tech.pegasys.teku.statetransition.forkchoice.ForkChoice.updateHeadTransaction(ForkChoice.java:380)\n\tat tech.pegasys.teku.statetransition.forkchoice.ForkChoice.lambda$processHead$11(ForkChoice.java:353)\n\tat tech.pegasys.teku.infrastructure.async.eventthread.AsyncRunnerEventThread.recordEventThreadIdAndExecute(AsyncRunnerEventThread.java:130)\n\tat tech.pegasys.teku.infrastructure.async.eventthread.AsyncRunnerEventThread.lambda$doExecute$1(AsyncRunnerEventThread.java:113)\n\tat tech.pegasys.teku.infrastructure.async.SafeFuture.of(SafeFuture.java:80)\n\tat tech.pegasys.teku.infrastructure.async.AsyncRunner.lambda$runAsync$2(AsyncRunner.java:47)\n\tat tech.pegasys.teku.infrastructure.async.SafeFuture.of(SafeFuture.java:72)\n\t... 4 more\n"}

holesky-03

@rolfyone rolfyone added the bug 🐞 Something isn't working label Mar 3, 2025
@rolfyone rolfyone self-assigned this Mar 3, 2025
rolfyone added a commit to rolfyone/teku that referenced this issue Mar 3, 2025
fixes Consensys#9189

could be worked to larger value if we need? but this seems like a hard thing to get to currently...

Signed-off-by: Paul Harris <[email protected]>
@rolfyone
Copy link
Contributor Author

rolfyone commented Mar 3, 2025

@tbenr i range limited weight but maybe we need to bump it or understand exactly how we overflow a number as large as uint64... trace level added

@tbenr tbenr reopened this Mar 3, 2025
@tbenr
Copy link
Contributor

tbenr commented Mar 3, 2025

This should not happen and it is most likely a bug in the way we calculate delta weights in some conditions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐞 Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants