smartbugs / smartbugs

SmartBugs: A Framework to Analyze Ethereum Smart Contracts

Home Page:https://smartbugs.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Child processes not terminating after error

gsalzer opened this issue · comments

Suppose we execute the command

python smartBugs.py  -t ethbmc --dataset access_control --mem-quota "1g" --process 36

using smartBugs.py from branch bytecode. Not surprisingly, we get the error

ethbmc: commands not provided. Please check your config file.

which is to be expected, as currently the command to be executed is not yet defined.

The problem is that after that, the 36 subprocesses keep hanging around indefinitely, and the main process does not terminate. The code executed is

            msg = f"{task.tool}: default docker image not provided. Please check your config file."
            logs.print(msg)
            sys.exit(msg)

in docker_api.py. So it seems that sys.exit is not sufficient to exit everything.

cannot reproduce, seems to be fixed by the recent updates.