#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
!!binaryYAML 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