-
Notifications
You must be signed in to change notification settings - Fork 470
"Internal error" when using a space instead of a comma between library names #3046
Description
Expected Behavior
A normal error
Actual Behavior
$ dune init exe main --libs="str gsl"
Internal error, please report upstream including the contents of _build/log.
Description:
("atom cannot be printed in dune syntax", { atom = "str gsl" })
Backtrace:
Raised at file "src/stdune/code_error.ml", line 9, characters 30-62
Called from file "src/dune_lang/t.ml", line 28, characters 26-40
Called from file "src/dune_lang/t.ml" (inlined), line 40, characters 43-49
Called from file "src/dune/format_dune_lang.ml", line 33, characters 2-108
Called from file "format.ml", line 1252, characters 4-20
Called from file "format.ml", line 1264, characters 32-48
Called from file "format.ml", line 1313, characters 16-34
Called from file "format.ml", line 1252, characters 4-20
Called from file "format.ml", line 1313, characters 16-34
Called from file "format.ml", line 1313, characters 16-34
Called from file "format.ml", line 1313, characters 16-34
Called from file "format.ml", line 1313, characters 16-34
Called from file "format.ml", line 1264, characters 32-48
Called from file "format.ml", line 1313, characters 16-34
Called from file "format.ml", line 1252, characters 4-20
Called from file "format.ml", line 1313, characters 16-34
Called from file "format.ml", line 1264, characters 32-48
Called from file "format.ml", line 1313, characters 16-34
Called from file "format.ml", line 1266, characters 32-48
Called from file "format.ml", line 1313, characters 16-34
Called from file "src/stdune/exn.ml", line 13, characters 8-11
Re-raised at file "src/stdune/exn.ml", line 19, characters 4-11
Called from file "src/dune/dune_init.ml", line 159, characters 19-38
Called from file "list.ml", line 103, characters 22-25
Called from file "src/stdune/list.ml" (inlined), line 5, characters 19-33
Called from file "src/dune/dune_init.ml", line 466, characters 4-39
Called from file "list.ml", line 103, characters 22-25
Called from file "src/stdune/list.ml" (inlined), line 5, characters 19-33
Called from file "src/stdune/list.ml", line 44, characters 29-39
Called from file "src/dune/dune_init.ml", line 476, characters 4-36
Called from file "bin/init.ml", line 134, characters 4-64
Called from file "vendor/cmdliner/src/cmdliner_term.ml", line 25, characters 19-24
Called from file "vendor/cmdliner/src/cmdliner.ml", line 146, characters 9-16
Called from file "vendor/cmdliner/src/cmdliner.ml", line 176, characters 18-36
Called from file "vendor/cmdliner/src/cmdliner.ml", line 312, characters 20-46
Called from file "bin/main.ml", line 198, characters 10-51
I must not segfault. Uncertainty is the mind-killer. Exceptions are
the little-death that brings total obliteration. I will fully express
my cases. Execution will pass over me and through me. And when it
has gone past, I will unwind the stack along its path. Where the
cases are handled there will be nothing. Only I will remain.
Reproduction
dune init exe main --libs="str gsl"
instead of the correct, comma-separated
dune init exe main --libs="str,gsl"
- PR with a reproducing test:
- dune init exe main --libs="str gsl"
Specifications
- Version of
dune(output ofdune --version): 2.1.3 - Version of
ocaml(output ofocamlc --version): 4.09.0 - Operating system (distribution and version): Debian Buster
Additional information
$ cat _build/log
dune init exe main '--libs=str gsl'
OCAMLPARAM: unset
- Link to gist with verbose output (run
dunewith the--verboseflag):