Skip to content

Failure entering the nerves.system.shell using erlang 26.0.2 #893

@samuelventura

Description

@samuelventura

Environment

elixir -v
Erlang/OTP 26 [erts-14.0.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit:ns]
Elixir 1.14.4 (compiled with Erlang/OTP 26)

cat ~/.tool-versions 
erlang 26.0.2
elixir 1.14.4-otp-26

uname -a
Linux p3420 6.2.0-24-generic #24-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 16 12:03:50 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Current behavior

The task nerves.system.shell fails on a customized x64 nerves system upgraded to release v1.23.0.

$ mix nerves.system.shell
sh: 1: exec: tty_sl: not found
** (ArgumentError) argument error
    :erlang.port_control(#Port<0.8>, 25889124, [])
    (nerves 1.10.2) lib/mix/nerves/shell.ex:106: Mix.Nerves.Shell.get_tty_geometry/1
    (nerves 1.10.2) lib/mix/nerves/shell.ex:49: Mix.Nerves.Shell.open/2
    (nerves_bootstrap 1.11.5) lib/attic/system.shell.ex:74: Mix.Tasks.Nerves.System.Shell.run/1
    (mix 1.14.4) lib/mix/task.ex:421: anonymous fn/3 in Mix.Task.run_task/4
    (mix 1.14.4) lib/mix/cli.ex:84: Mix.CLI.run_task/2

Expected behavior

The nerves shell to customize a system should show up.

Other findings

According to the links below, the erlang release 26.0.2 dropped erts/emulator/drivers/unix/ttsl_drv.c which compiles to tty_sl needed by lib/mix/nerves/shell.ex.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions