tomekowal
Error on incremental compilation in MIX_ENV=test with Elixir 1.19
Hi!
I am trying to pinpoint why my project has issue on incremental compilation when running tests in elixir 1.19.0-rc.0-otp-26
I am running an umbrella project. When I change a file, it triggers recompilation in a couple of apps across umbrella.
I am getting errors like this:
mix deps.compile running across 4 OS processes
4> ==> app1
4> Compiling 1 file (.ex)
4> Generated app1 app
1> ==> app2
1> Compiling 1 file (.ex)
1> Generated app2 app
3> ==> app3
3> Compiling 1 file (.ex)
1> ==> app4
1> Compiling 8 files (.ex)
3> Generated app3 app
1> Generated app4 app
1> ==> app5
1> Compiling 102 files (.ex)
1> Generated app5 app
1> ==> app6
1> Compiling 6 files (.ex)
1> Generated app6 app
** (EXIT from #PID<0.98.0>) an exception was raised:
** (File.Error) could not write to file "/Users/user1/project/_build/test/consolidated/Elixir.Plug.Exception.beam": no such file or directory
(elixir 1.19.0-rc.0) lib/file.ex:1401: File.write!/3
(mix 1.19.0-rc.0) lib/mix/compilers/protocol.ex:159: Mix.Compilers.Protocol.consolidate_each/4
(elixir 1.19.0-rc.0) lib/task/supervised.ex:105: Task.Supervised.invoke_mfa/2
(elixir 1.19.0-rc.0) lib/task/supervised.ex:40: Task.Supervised.reply/4
20:05:54.679 [error] Task #PID<0.902.0> started from #PID<0.98.0> terminating
** (File.Error) could not write to file "/Users/tomaszkowal/bluecodecom/scheme-services-19/_build/test/consolidated/Elixir.Plug.Exception.beam": no such file or directory
(elixir 1.19.0-rc.0) lib/file.ex:1401: File.write!/3
(mix 1.19.0-rc.0) lib/mix/compilers/protocol.ex:159: Mix.Compilers.Protocol.consolidate_each/4
(elixir 1.19.0-rc.0) lib/task/supervised.ex:105: Task.Supervised.invoke_mfa/2
(elixir 1.19.0-rc.0) lib/task/supervised.ex:40: Task.Supervised.reply/4
Function: #Function<8.102399383/0 in Mix.Compilers.Protocol.consolidate/4>
Args: []
...
and then a long list of similarly looking errors for all protocols: Collectable, Phoenix.HTML.Safe and so on and so forth.
This never happened on Elixir 1.18.x or any other previous versions.
I am somewhat sure it is connected to the parallel compilation. Other facts:
- I doesn’t happen always
- it only happens on incremental compilation
- it seems to be pure chance if introducing a new line triggers it or compiles fine
- it only runs in
MIX_ENV=test - when it compiles, subsequent invocation of
mix testwork fine
I wasn’t able to reproduce it outside of our production app, so I don’t have a minimal reproduction example yet that I could share.
Did anybody see anything like that?
Most Liked
Popular in Troubleshooting
Hello everyone,
I’m working on a blockchain project in Elixir and I’m implementing some of the core cryptography in a Rust NIF using Rus...
New
Besides (over)logging every code-path leading to Repo.insert_all, is it possible to make Postgrex and/or ecto_sql log the exact, failing ...
New
I have installed it on Phoenix 1.8.1 (without authentication or other packages and got 2 problems).
I had to set up things manually the ...
New
In a project I’m working on, I cannot get tests with breakpoints or pry working. Here is an example in a new mix project.
Create a fresh...
New
Hi All,
I am bumping into a weird issue with an umbrella app while upgrading to latest Elixir 1.19.x + otp28.
A couple apps in the umbr...
New
Hey,
I’ve got a project with several path dependencies. Some are phoenix apps, but this likely isn’t relevant.
I don’t fully understand...
New
Hey there,
Using the install script method recommended here on Ubuntu 24.04:
And then running the following commands:
iex> :obser...
New
Is there any way to go from a float 1.0 to 1.00 while retaining the float() type?
New
Hi,
I am using the following versions:
Erlang/OTP 27 [erts-15.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit:ns]
El...
New
The Issue of Enums in Elixir
Elixir doesn’t have a native enum construct, so we usually rely on atoms, strings, or macros to represent na...
New
Other popular topics
Manning 2016 Halloween weekend sale via Deal of the Day
Friday, October 28 - Half off all MEAPs - code WM102816LT
Saturday, October 29 ...
New
Credo is smart enough to check for (something like) this:
assert length(the_list) == 0
with this response:
Checking if an enum is empt...
New
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
Hello!
Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
Good day to you all.
I have been struggling to get a query involving like and ilike to work.
Can anyone assist me on this, please?
pro...
New
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
Hi,
I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible.
total = 10
while total != 0
...
New
I tried installing
elixir 1.11.2
erlang 23.3.4
via asdf in my zsh shell. Enabled the versions locally and globally.
When I list them ...
New







