crytic / medusa

Parallelized, coverage-guided, mutational Solidity smart contract fuzzing, powered by go-ethereum
https://secure-contracts.com/program-analysis/medusa/docs/src/
GNU Affero General Public License v3.0
304 stars 40 forks source link

medusa appears to use one more core than specified #470

Closed elopez closed 2 months ago

elopez commented 2 months ago

When running medusa with --workers 4 I observe the tool saturates 5 cores, not 4. I would expect it to use just 4 cores.

rappie commented 2 months ago

Do you have symExec disabled?

elopez commented 2 months ago

medusa does not have symExec as far as I recall 😅

As a sort of workaround, GOMAXPROCS=4 can be exported on the environment to limit the CPU use to just 4 threads.

rappie commented 2 months ago

Ah right, I got confuzzled with the repo name :smile:

0xalpharush commented 2 months ago

I don't think we plan on fixing this as workers == # of goroutines (and the Go runtime does what it can with available resources) and the workaround provided is sufficient IIUC