Second compilation with Surface breaks

Hello,
I’m facing a weird behaviour.
Even though my code is saved in GIT, I can not recover my compilation process.

After a mix clean and mix compile, I can run my code.
If I modify a file (even a space in any file) and recompile, compilation works and I can run the app.

But if I try to perform two compilation back to back or stop/start iex then I get this :

** (MatchError) no match of right hand side value: {:error, {~c"no such file or directory", ~c"cvs.app"}}
    (surface 0.11.0) lib/surface.ex:258: Surface.components/1
    (surface 0.11.0) lib/mix/tasks/compile/surface.ex:167: Mix.Tasks.Compile.Surface.run/1
    (mix 1.15.0) lib/mix/task.ex:447: anonymous fn/3 in Mix.Task.run_task/5
    (mix 1.15.0) lib/mix/tasks/compile.all.ex:124: Mix.Tasks.Compile.All.run_compiler/2
    (mix 1.15.0) lib/mix/tasks/compile.all.ex:104: Mix.Tasks.Compile.All.compile/4
    (mix 1.15.0) lib/mix/tasks/compile.all.ex:93: Mix.Tasks.Compile.All.with_logger_app/2
    (mix 1.15.0) lib/mix/tasks/compile.all.ex:56: Mix.Tasks.Compile.All.run/1
    (mix 1.15.0) lib/mix/task.ex:447: anonymous fn/3 in Mix.Task.run_task/5

I have tried to uinstall/reinstall Erlang, Elixir, update all dependencies… I can not fathom what happens !

Any insight appreciated.
The only thing that I remember doing before this happened is me trying to build a release.

Thanks
Jean-yves :slight_smile:

This is an Elixir v1.15.0 bug. It will be fixed in the next release.

Please be nice. We all make mistakes. :slight_smile:

6 Likes

Hi,
Oh that is a relief. I did not mean to be rude, just was expressing in crude words my last hours, not understanding why 1+1 no longer computed to 2.
Thank you
Jean-yves

3 Likes