Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -808,11 +808,12 @@ func New(
app.GigaOCCEnabled = gigaExecutorConfig.OCCEnabled
tmtypes.SkipLastResultsHashValidation.Store(gigaExecutorConfig.Enabled)
if gigaExecutorConfig.Enabled {
evmoneVM, err := gigalib.InitEvmoneVM()
if err != nil {
panic(fmt.Sprintf("failed to load evmone: %s", err))
// evmone is loaded best-effort
if evmoneVM, err := gigalib.InitEvmoneVM(); err == nil {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this only invoked once on startup? Can we add a log here showing the error and say we are switching to geth executor?

BTW, is there any chance that we can't load either the evmone or the geth executor?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it's only invoked on startup. Even if it successfully loads, we never use it (because it hasn't been tested yet). We only ever use the Geth executor (see here).

I'm happy to add that as a debug log. I just don't want users to be confused and think something is wrong.

BTW, is there any chance that we can't load either the evmone or the geth executor?

No, there's no "loading" of the geth executor, since it's just native golang.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added debug log

app.GigaEvmKeeper.EvmoneVM = evmoneVM
Comment thread
cursor[bot] marked this conversation as resolved.
} else {
logger.Debug("failed to load evmone VM", "error", err)
}
app.GigaEvmKeeper.EvmoneVM = evmoneVM
if gigaExecutorConfig.OCCEnabled {
logger.Info("benchmark: Giga Executor with OCC is ENABLED - using new EVM execution path with parallel execution")
} else {
Expand Down
8 changes: 3 additions & 5 deletions app/test_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -163,13 +163,11 @@ func NewGigaTestWrapperWithRegularStore(t *testing.T, tm time.Time, valPub crypt
// Configure GigaBankKeeper to use regular KVStore instead of GigaKVStore
wrapper.App.GigaBankKeeper.UseRegularStore = true

// Initialize evmone VM if not already initialized
// Initialize evmone VM if not already initialized (best effort)
if wrapper.App.GigaEvmKeeper.EvmoneVM == nil {
evmoneVM, err := gigalib.InitEvmoneVM()
if err != nil {
panic(fmt.Sprintf("failed to load evmone: %s", err))
if evmoneVM, err := gigalib.InitEvmoneVM(); err == nil {
wrapper.App.GigaEvmKeeper.EvmoneVM = evmoneVM
}
wrapper.App.GigaEvmKeeper.EvmoneVM = evmoneVM
}

// Init genesis for GigaEvmKeeper (now uses regular KVStore)
Expand Down
Loading