#5 closed defect (fixed)
Invalid YAML report for programs with options or stdin
Reported by: | Vladimír Štill | Owned by: | mornfall |
---|---|---|---|
Priority: | major | Milestone: | 5.0 |
Component: | UI | Keywords: | stdin report |
Cc: | divine@…, kdudka@… |
Description
divine check
outputs invalid report if there is a binary file given using --stdin
, or if options of the program can be interpreted as YAML (e.g. when they start with -
, which they often do). The report cannot be loaded with divine sim --load-report
- for the stdin, it would be probably a good idea to encode it to base64 and use the
!!binary
YAML prefix if the parser can deal with it - for options we need to escape or quote them
Reproducing
Follow the https://divine.fi.muni.cz/2018/dios/#building-gzip, with the newest DIVINE (tested with https://divine.fi.muni.cz/download/static-amd64-linux/divcc-4.1.6+2018.05.31 and https://divine.fi.muni.cz/download/static-amd64-linux/divine-4.1.6+2018.05.31). Then run the following:
$ divine-4.1.6+2018.05.31 check --report-filename gzip_hello.report --stdin hello.gz ./gzip -f -d - # ... $ divine-4.1.6+2018.05.31 sim --load-report gzip_hello.report YAML:292:14: error: Got empty plain scalar vfs.stdin: !S[�H���W(�/�I�-� E: YAML error: expected scalar found key trace: remaining keys: Aborted
Workaround
As a workaround, the stdin part of the report can be dropped and replaced by --stdin
option on sim
's commandline (divine sim --stdin FILE --load-report REPORT
). The arguments should be quoted manually in the report file.
Attachments (2)
Change History (5)
Changed 7 years ago by
Attachment: | gzip_hello.report added |
---|
comment:1 Changed 7 years ago by
Component: | sim → UI |
---|---|
Summary: | Invalid YAML report for programs with options and stdin → Invalid YAML report for programs with options or stdin |
Original report