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

Improve handling of errors in coordinator #317

Open
julien-marchand opened this issue Nov 20, 2024 · 0 comments
Open

Improve handling of errors in coordinator #317

julien-marchand opened this issue Nov 20, 2024 · 0 comments
Assignees
Labels
bug Something isn't working Coordinator Linea-Besu

Comments

@julien-marchand
Copy link
Member

julien-marchand commented Nov 20, 2024

Description

Improve the management of errors in the coordinator by catching the following errors and outputting a clearer error/warning message.

Motivation

Better operational management of the Linea stack, less support requests.

Tasks

Error 1

11:14:34.195 [pool-9-thread-1] WARN  net.consensys.zkevm.ethereum.finalization.FinalizationUpdatePoller - Error when polling/handling Linea finalized block number
java.util.concurrent.CompletionException: org.web3j.tx.exceptions.ContractCallException: Empty value (0x) returned from contract
  at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:332) ~[?:?]
  at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:347) ~[?:?]
  at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1141) ~[?:?]
  at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
  at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2194) ~[?:?]
  at org.web3j.utils.Async.lambda$run$1(Async.java:40) ~[core-4.12.1.jar:?]
  at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
  at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: org.web3j.tx.exceptions.ContractCallException: Empty value (0x) returned from contract
  at org.web3j.tx.Contract.executeCallSingleValueReturn(Contract.java:338) ~[core-4.12.1.jar:?]
  at org.web3j.tx.Contract.lambda$executeRemoteCallSingleValueReturn$1(Contract.java:458) ~[core-4.12.1.jar:?]
  at org.web3j.protocol.core.RemoteCall.send(RemoteCall.java:42) ~[core-4.12.1.jar:?]
  at org.web3j.utils.Async.lambda$run$1(Async.java:38) ~[core-4.12.1.jar:?]
  ... 4 more

This is likely due to the lack of finalization at the moment of the start. It should output a warning log at best.

Error 2

2024-11-23 09:42:02 time=2024-11-23T09:42:02,437Z level=INFO message=Migrating schema "public" to version "004 - remove versioning schema" | logger=DbMigrate thread=main | 
2024-11-23 09:42:02 time=2024-11-23T09:42:02,514Z level=INFO message=Successfully applied 4 migrations to schema "public", now at version v004 (execution time 00:00.590s) | logger=DbMigrate thread=main | 
2024-11-23 09:42:02 time=2024-11-23T09:42:02,523Z level=INFO message=Coordinator database migration completed | logger=Db thread=main | 
2024-11-23 09:42:04 time=2024-11-23T09:42:04,046Z level=FATAL message=get(...) must not be null | logger=CoordinatorAppCli thread=main | java.lang.NullPointerException: get(...) must not be null
2024-11-23 09:42:04     at net.consensys.linea.ethereum.gaspricing.staticcap.FeeHistoryFetcherImpl.<init>(FeeHistoryFetcherImpl.kt:34)
2024-11-23 09:42:04     at net.consensys.zkevm.coordinator.app.L1DependentApp.<init>(L1DependentApp.kt:214)
2024-11-23 09:42:04     at net.consensys.zkevm.coordinator.app.CoordinatorApp.<init>(CoordinatorApp.kt:140)
2024-11-23 09:42:04     at net.consensys.zkevm.coordinator.app.CoordinatorAppMain$Companion.startApp(CoordinatorAppMain.kt:32)

This should be fixed by better handling on calling fee history during start up (e.g. when L1 block number is zero)

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

No branches or pull requests

2 participants