-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker container NullPointerException #19
Comments
Are there sol files that you could share with us so that we can reproduce the issue? Given that it's within the docker image, Soufflé should be installed. |
I can't share the sol files in question - but I can tell you that it is a Truffle + OpenZeppelin project that I have flattened using this project: https://github.com/BlockChainCompany/soljitsu Haven't had any problems with other analysis tools; I will do some more debugging on my end and try to come up with a simple share-able example tomorrow. Thanks! |
Ok I understand. Is the output of As you can see from https://github.com/eth-sri/securify/blob/master/src/main/java/ch/securify/CompilationHelpers.java#L87 we only run Can you copy paste the command you use exactly to mount your folder into the Docker container? |
Okay - I just spent a couple hours debugging. The root cause of this error is that I am running
SOUFFLE_RULES is set to smt_files/mustExplicit.dl , which is a relative path. So souffle is not finding it in my working directory and dying.
The reason why I am using a different working directory is because I am trying to get Securify running in CircleCI, which defaults to a working directory other than root. I recommend using absolute paths for Also - there is a small bug in your error logging:
This just prints [Ljava.lang.StackTraceElement;@6872f9c8 as shown above in my original issue comment. It should be changed toe.printStackTrace();
Once I changed my working directory to root |
Do you mean that you have your own Dockerfile that takes the Securify image as its base, and that you change the working directory in this one? |
No, sorry. I am building your Dockerfile and then running commands inside that container to check out my code instead of using a volume mount. It just so happens that the working directory of those commands wasn't If you want to reproduce this, just add a |
Ok I see, but then is there something we can fix for this issue in particular? |
I recommend using absolute paths for |
Absolute paths won't work outside of docker containers unfortunately. |
Potentially related to #16? I am trying to build and run the Dockerfile from the current
master
@569893a. When I run it against the example it runs fine, but when I mount my sol files at/contracts
I get this output:The text was updated successfully, but these errors were encountered: