I had the test code of a package I am developing for my PhD suddenly start crashing after a seemingly inoffensive commit.
The complete error log is here. It happens if I execute the tests in my last commit (i.e.,
git clone https://github.com/henriquebecker91/GuillotineModels.jl/
cd GuillotineModels.jl
git checkout 1f31094a
julia
julia> activate .
julia> instantiate
julia> test
)
The Julia version is 1.0.5 (the specific package versions are in the Manifest.toml file of the respository). The commit that introduced the error was this commit. In other words, if I checkout 9c2e654b instead (the previous commit) I do not have the crash. I had this problem with my Arch Linux laptop, and I used my mother’s Ubuntu laptop to reproduce it.
I do not have a MWE, but I have isolated the changes that make the problem appear, they are those changes (i.e., if I revert just those and keep the rest of the changes then the error disappear). They surprised me very much. I only changed the type of some parameters/return/literals of a single method from Int to the parametric type P that was already available in the scope, but most important, P is Int in the method call that gives the problem. (In fact, Int64, as Int is an alias for Int64 on my system that is a 64-bit architecture). The change, therefore, should make difference only if I used a different type for P in the future, but it crashes in a situation in which it should have made no difference (i.e., both Int and P refer to the same type Int64). If the error was not consistent I would question my RAM or SSD, as it seems bizarre.
For now I will just rollback my change, as it is not essential, it only avoided unnecessary integer conversions, but I would like to know what to do to avoid hitting this problem again.