ExpoSEJS / ExpoSE

A Dynamic Symbolic Execution (DSE) engine for JavaScript. ExpoSE is highly scalable, compatible with recent JavaScript standards, and supports symbolic modelling of strings and regular expressions.
MIT License
183 stars 36 forks source link

Error when running basic example: Unexpected end of JSON input #112

Closed dan-mk closed 5 months ago

dan-mk commented 8 months ago

I've encountered an issue when attempting to run the basic example provided in the README. The process ends with some error messages, and I'm unable to proceed. I've installed it locally and within Docker afterwards, but I've got the same results.

Here is the output I received:

my-expose-container | [+] ExpoSE /usr/src/app/tests/numbers/infoflow concurrent: 4 timeout: 7200000 per-test: 2400000
[\] [0 done /0 queued / 1 running / 0 errors / 0% coverage ] ***(node:20) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
my-expose-container | (Use `node --trace-deprecation ...` to show where the warning was created)
[|] [1 done /0 queued / 0 running / 1 errors / 0% coverage ] ***
my-expose-container | [+] {"_bound":0} took 0.377s
my-expose-container | [!] Exception E: SyntaxError: Unexpected end of JSON input of test data on 
my-expose-container | [!] Exception E: SyntaxError: Unexpected end of JSON input of coverage data on 
my-expose-container | [!] Exit code non-zero
my-expose-container | [!] Error extracting final output - a fatal error must have occured
my-expose-container | [!] expoSE replay /usr/src/app/tests/numbers/infoflow '{"_bound":0}'
my-expose-container | [!] Stats
my-expose-container | [!] Done
my-expose-container | [+] Total Lines Of Code 0
my-expose-container | [+] Total Coverage: NaN%
my-expose-container | [+] EXPOSE_PRINT_COVERAGE=1 for line by line breakdown
my-expose-container | [+] ExpoSE Finished. 1 paths, 1 errors
my-expose-container exited with code 1

This is my Dockerfile:

FROM node:14.16.1

WORKDIR /usr/src/app
RUN git clone https://github.com/ExpoSEJS/ExpoSE.git .
RUN ./install

And this is my docker-compose.yml:

version: '3.8'

services:
  expose:
    build: .
    container_name: my-expose-container
    command: ["./expoSE", "./tests/numbers/infoflow"]

I'm unsure how to proceed with troubleshooting this issue.

Any guidance or fix you can provide would be greatly appreciated.

aubourg commented 6 months ago

Same issue here.

JJK96 commented 5 months ago

Duplicate of #86

dan-mk commented 5 months ago

Silly me. I was trying to Dockerize the code myself because I didn't realize how hard it was, and most importantly, I didn't realize there's already a Dockerfile in the repo. Setting EXPOSE_PRINT_PATHS=1 really showed me how deep the problem was hahaha. Thanks @JJK96.