I’m working on a fairly large app and when running the tests it recompiles all files each time. This is pretty annoying, obviously, as it takes quite some time.
I have tracked it down and the issue seems that the “compile manifest” that is written after compilation (in the Mix.Compilers.Elixir module) cannot be read back in (throwing a badarg on this line ), so mix considers all files “new” and compiles everything.
When I remove the compressed: 9 option to :term_to_binary, all goes well. @michalmuskala suggested I post this here because more people might have the same issue. It could have something to do with a bug in Erlang’s zlib. I am already on the latest Erlang (19.2), running on Arch Linux.
Using different Erlang versions does not seem to differ; I have built several Erlang versions using kerl and keep getting the same error.