Memory corruption bugs in ECOS.jl and SCS.jl

We recently discovered and corrected memory corruption bugs in both ECOS.jl and SCS.jl. The wrappers did not properly keep a reference in Julia to the memory passed to the solvers, so if the GC fired at an inopportune time, it could result in the solver reading from or writing to freed memory (e.g., causing segfaults). Crashes have been observed, but rarely. The issue has been present in all releases of the packages.

ECOS v0.8.0 is tagged and contains the fix (requires Julia 0.6+).
SCS master branch contains the fix. The release is held up by a concurrent transition to SCS 2.x and getting binaries available on all platforms.

1 Like