Skip to content

"Internal error" when using a space instead of a comma between library names #3046

@raegis

Description

@raegis

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:
  1. dune init exe main --libs="str gsl"

Specifications

  • Version of dune (output of dune --version): 2.1.3
  • Version of ocaml (output of ocamlc --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 dune with the --verbose flag):

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions