Skip to content

Generates app file with strings in list format #14905

@badlop

Description

@badlop

Elixir and Erlang/OTP versions

Erlang/OTP 28 [erts-16.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]

Elixir 1.20.0-dev (edb9431) (compiled with Erlang/OTP 28)

Operating system

Debian trixie amd64

Current behavior

When using Elixir 1.19.2, the app file contains strings as list of integers:

$ elixir --version
Erlang/OTP 28 [erts-16.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]

Elixir 1.19.2 (compiled with Erlang/OTP 28)

$ mix new my_app
$ cd my_app/
$ mix compile
$ cat _build/dev/lib/my_app/ebin/my_app.app

{application,my_app,[{modules,['Elixir.MyApp']},
{optional_applications,[]},
{applications,[kernel,stdlib,elixir,logger]},
{description,[109,121,95,97,112,112]},
{registered,[]},{vsn,[48,46,49,46,48]}]}.

The same steps work perfectly with Elixir 1.19.1 (and several previous versions):

$ elixir --version
Erlang/OTP 28 [erts-16.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]

Elixir 1.19.1 (compiled with Erlang/OTP 28)

... repeat all steps ...

$ cat _build/dev/lib/my_app/ebin/my_app.app
{application,my_app,
             [{modules,['Elixir.MyApp']},
              {optional_applications,[]},
              {applications,[kernel,stdlib,elixir,logger]},
              {description,"my_app"},
              {registered,[]},
              {vsn,"0.1.0"}]}.

This problem is easily reproducible in the containers:

Details
$ podman run --rm -it public.ecr.aws/docker/library/elixir:1.19.2 sh
# mix new app
# cd app
# mix compile
Compiling 1 file (.ex)
Generated app app
# cat _build/dev/lib/app/ebin/app.app
{application,app,[{modules,['Elixir.App']},{optional_applications,[]},{applications,[kernel,stdlib,elixir,logger]},{description,[97,112,112]},{registered,[]},{vsn,[48,46,49,46,48]}]}.#

And previous version looks perfect:

$ podman run --rm -it public.ecr.aws/docker/library/elixir:1.19.1 sh
# mix new app
# cd app
# mix compile
Compiling 1 file (.ex)
Generated app app
# cat _build/dev/lib/app/ebin/app.app
{application,app,
             [{modules,['Elixir.App']},
              {optional_applications,[]},
              {applications,[kernel,stdlib,elixir,logger]},
              {description,"app"},
              {registered,[]},
              {vsn,"0.1.0"}]}.
#

I thought that maybe this was solved in main branch, maybe with the fix for #14890

but it seems the problem is still present:

$ elixir --version
Erlang/OTP 28 [erts-16.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]

Elixir 1.20.0-dev (edb9431) (compiled with Erlang/OTP 28)

... repeat steps....

$ cat _build/dev/lib/app/ebin/app.app 
{application,app,[{modules,['Elixir.App']},{optional_applications,[]},{applications,[kernel,stdlib,elixir,logger]},{description,[97,112,112]},{registered,[]},{vsn,[48,46,49,46,48]}]}.

Expected behavior

I would expect that the app file contains strings using legible syntax, as Elixir 1.19.1 did. Or if that's the new desired behavior, then it should be mentioned in the release notes.

Metadata

Metadata

Assignees

No one assigned

    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