Error running tests in an umbrella app after upgrading Elixir from 1.13 to 1.14

I’ve run into a strange issue after upgrading Elixir in my local environment from 1.13 to 1.14.

I have an umbrella app, in which I can successfully execute “mix test” using Elixir 1.13. However when trying the same with Elixir 1.14 I get:

** (exit) exited in: GenServer.call(ExUnit.Server, :modules_loaded, :infinity)
    ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
    (elixir 1.14.1) lib/gen_server.ex:1027: GenServer.call/3
    (ex_unit 1.14.1) lib/ex_unit.ex:376: ExUnit.run/1
    (mix 1.14.1) lib/mix/compilers/test.ex:42: Mix.Compilers.Test.require_and_run/4
    (mix 1.14.1) lib/mix/tasks/test.ex:546: Mix.Tasks.Test.do_run/3
    (mix 1.14.1) lib/mix/task.ex:421: anonymous fn/3 in Mix.Task.run_task/4
    (mix 1.14.1) lib/mix/project.ex:397: Mix.Project.in_project/4
    (elixir 1.14.1) lib/file.ex:1607: File.cd!/2
    (mix 1.14.1) lib/mix/task.ex:577: anonymous fn/4 in Mix.Task.run_in_children_projects/2

This continues to happen even if I remove the "apps/*/test" folders in every child application. I noticed however, that if I include the apps: Path.wildcard("apps/*/test") |> Enum.map(& String.split(&1, "/") |> Enum.at(1) |> String.to_atom) key to the mix project, the mix test is able to execute.

Any idea what is wrong, and if adding the apps: umbrella_apps to the project can be avoided?

I am also getting this error in a non-umbrella app after upgrading Elixir to 1.14.1. The mix compile runs without issues, but mix test results in this same error shown above when executed in a github action. The prior Elixir version (1.13.4) experiences no such issues, and also I cannot reproduce this error when executing locally, only get the failure in a github action. The app is proprietary, but is pretty simple, containing a mix project file, a few Erlang files, and a NIF driver. In contrast to the app in my original message, in case of this app, adding the apps: [app_name] key to the project doesn’t eliminate the problem.

I am somewhat clueless what might cause the issue of ExUnit.Server not being started.

Can you please try the v1.14 branch on GitHub? I have fixed a similar bug a couple days a bug, but it was outside of an umbrella. I want to be double sure it handles the umbrella case as well.

1 Like

I checked, the mix test in that v1.14 branch works correctly with the umbrella app that experienced this issue.

Thank you very much!

2 Likes