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,
Int in the method call that gives the problem. (In fact,
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
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.