flashbots / flashbots/mev-share-node

CI fails due to 64-bit misalignment for certain Go versions

Open
#32 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
109
Forks
15
PR merge metrics
No merged PRs in 30d

Description

Lint CI check is failing with error:
```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x61232f]
```

The reason originates from the usage of `sync/atomic` Uint64-related functions [here](https://github.com/flashbots/mev-share-node/blob/6fb6a9847eb4c9a077ed712342ed3490676b75a2/simqueue/queue.go#L163-L171). The bug is explained in package notes [here](https://pkg.go.dev/sync/atomic#pkg-note-BUG).

To fundamentally fix this, uint64s should be aligned by either placing on top of structs or with padding. It's not a big issue so it can be fixed in the CI by using Go version 1.21.6.

Also, [README's status badge](https://github.com/flashbots/mev-share-node/blob/6fb6a9847eb4c9a077ed712342ed3490676b75a2/README.md?plain=1#L5C87-L5C127) is not using this repo's workflows.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.