Skip to content

Troubleshooting

Ðavid edited this page Mar 13, 2024 · 16 revisions

4nalyz3r fails reading nodeType

Issue: 4nalyz3r fails due to a unknown bug found in a detector

Where: Version all of the auditor toolbox

Breaks: Using 4nalyzer with Dravee detectors

Solution: Remove the detector that makes this fail. Reference

rm ~/.4nalyz3r/src/issues/NC/uselessOverride.ts

Additionally, this usually fails and it's really simple how to find the issue manually, it's on you to remove or not it. Issue 44

rm ~/.4nalyz3r/src/issues/H/delegateCallInLoop.ts

Mac Os not working with solc-select

Issue: solc-select install doesn't install versions on Mac Os

Where: Version all of the auditor toolbox

Breaks: After building

Solution:

Then docker build including platform:

docker build --platform linux/amd64 -t whitehat-machine .

Mac Os failed on building

Issue: yices2 is not found by Mac Os on docker building time

Where: Version 0.1.1 of the auditor toolbox

Breaks: On building time

Solution: Remove yices2 from Dockerfile installation file:

- yices2 \
+ # yices2 \ TODO: commented until I debug this on Mac. For Linux or Win users, you can uncomment this

heimdall failed to create file

Issue: Cant create heimdall config files inside .bifrost folder

Where: Version 0.1.0 of the auditor toolbox

Breaks: Using heimdall decompile

Solution: Run the command:

sudo chown -R whitehat:whitehat /home/whitehat/.bifrost/ /home/whitehat/.foundry/ && \
    chmod -R 755 /home/whitehat/.bifrost/ /home/whitehat/.foundry/

yarn: command not found

Issue: Command not found due to path being overriden

Where: Version 0.0.1 of the auditor toolbox

Breaks: Using yarn

Go to the line at .bashrc that says :home but not $PATH:home and do the following change

export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
- export PATH=":/home/whitehat/.nvm/versions/node/v18.17.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/whitehat/.local/bin"
+ export PATH="$PATH:/home/whitehat/.nvm/versions/node/v18.17.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/whitehat/.local/bin"
. "$HOME/.cargo/env"

Parent system out of time

Issue: Exit code 100

Where: Windows running WSL system and this WSL system running the docker machine

Breaks: on building, not even 2 seconds

ERROR: failed to solve: process "/bin/sh -c apt-get update &&     DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends     build-essential     curl     git     vim     nano     z3     libz3-dev     ripgrep     gawk     libssl-dev     sudo     wget     software-properties-common     libudev-dev     locales     gpg-agent     dialog     procps     file     pandoc     texlive     ca-certificates &&     rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100

Launch the next command to sync your time with the Google server and build again

sudo date -s "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"

code not working

Issue: code command not found

Breaks: on use. Doesn't recognize code

Where: Version <0.1.2 of the auditor toolbox

Solution: Run this command:

echo -e "\n# Point to the latest version of VS Code Remote server\nif [ -d \"${HOME}/.vscode-server/bin\" ]; then\n    LATEST_VSCODE_SERVER_DIR=\$(ls -td ${HOME}/.vscode-server/bin/*/ | head -n 1)\n    ln -sfn \"\${LATEST_VSCODE_SERVER_DIR}\" ${HOME}/.vscode-server/bin/latest/\n    sudo ln -sfn \"\${LATEST_VSCODE_SERVER_DIR}/bin/remote-cli/code\" /usr/local/bin/code\nfi" >> ~/.bashrc
source ~/.bashrc

Now it should work in each bash instance.

Deprecated workarounds

Solution 1: Sometimes work

Use this command to append to the file .bashrc an alias to find the vscode code command

echo "VSCODE_SSH_BIN=$(echo "$BROWSER" | sed -e 's/\/helpers\/browser.sh//g')
alias code='$VSCODE_SSH_BIN/remote-cli/code'" >> ~/.bashrc 

Then source it

source ~/.bashrc 

Solution 2

This was pretty more annoying, but totally worked

  • Step 1: Inside the docker machine, remove the /.vscode-server. Run:
rm -r ~/.vscode-server # you can also run mv ~/.vscode-server ~/.backup-vscode-server
  • Step 2: Outside the docker machine, shutdown wsl what is linked with docker, run:
wsl --shutdown

This will first make docker desktop look like there are no instances of the machines, but after restarting docker desktop, it will show them again.

  • Step 3: Restart docker desktop (in case you are using it)
  • Step 4: Newly launch the command palette and attach the docker image from vscode and enjoy having code ready again :P