Crash on access of EnsembleSolution

julia> size(sim)
(3, 3957, 85)

julia> size(sim[1].u)
(3957,)

The simulation is treated as being 3 x 3957 x 85.
This is despite the fact that for the second simulation, we have 3978 time points, more than 3957:

julia> size(sim[2].u)
(3978,)

Therefore, if we take a slice of the second time point, we only get the first 3957 time points back, not all 3978

julia> size(sim[1,:,2])
(3957,)

julia> u2_v1 = first.(sim[2].u);

julia> u2_v2 = sim[1,:,2];

julia> u2_v1[eachindex(u2_v2)] == u2_v2
true

julia> length.((u2_v1, u2_v2))
(3978, 3957)

Meanwhile, the third solution:

julia> size(sim[3].u)
(3928,)

Has 3928 time points, less than 3957. Hence the segfault.

EDIT:
Beaten to it by 40 minutes: Crash on access of EnsembleSolution - #5 by peatlux
As a workaround, I’d do getindex.(sim[j].u, i) instead of sim[i,:,j].