DSP.fft: Invalid Instruction crash for a particular array

I have stumbled upon an array that causes the DSP.fft operation to crash.

Here is the array in question: https://pastebin.com/khS87BeK

I have not been able to produce a smaller array than this that causes the same problem.

To reproduce the crash:

using DSP
using DelimitedFiles
pcrash = readdlm("fftcrash.csv", ',')
DSP.fft(pcrash)

Julia then quits with the error message:

Invalid instruction at 0000000070689959: 0x66, 0x0f, 0x3a, 0x0f,IInvalid instruction at 0000000070689959: 0x66, 0x0f, 0x3a, 0x0f, 0xc9, 0x08, 0xf2, 0x41, 0x0f, 0x12, 0x44, 0x05, 0x00, 0x66, 0x0f

Please submit a bug report with steps to0x66, 0x0f, 0x3a

I am on Windows 8.1 64-bit, here is my Pkg setup:

(@v1.4) pkg> status
Status `C:\Users\--\.julia\environments\v1.4\Project.toml`
  [621f4979] AbstractFFTs v0.5.0
  [c7e460c6] ArgParse v1.1.0
  [c52e3926] Atom v0.12.14
  [fbb218c0] BSON v0.2.6
  [6e4b80f9] BenchmarkTools v0.5.0
  [88353bc9] ConfParser v0.1.2
  [717857b8] DSP v0.6.7
  [39dd38d3] Dierckx v0.4.2
  [0c46a032] DifferentialEquations v6.14.0
  [31c24e10] Distributions v0.23.4
  [7a1cc6ca] FFTW v1.2.1
  [587475ba] Flux v0.10.4
  [e5e0dc1b] Juno v0.8.2
  [5078a376] LazyArrays v0.16.10
  [23992714] MAT v0.8.0
  [429524aa] Optim v0.21.0
  [9b87118b] PackageCompiler v1.1.1
  [d96e819e] Parameters v0.12.1
  [995b91a9] PlotUtils v1.0.4
  [91a5bcdd] Plots v1.3.7
  [438e738f] PyCall v1.91.4
  [d330b81b] PyPlot v2.9.0
  [276daf66] SpecialFunctions v0.10.3
  [6fc51010] Surrogates v1.1.2
  [592b5752] Trapz v2.0.2
  [009559a3] XGBoost v0.4.3
  [37e2e46d] LinearAlgebra

Strangely, on a Linux cluster, I don’t experience this crash. Here’s the Pkg state for that:

(@v1.4) pkg> status
Status `~/.julia/environments/v1.4/Project.toml`
  [621f4979] AbstractFFTs v0.5.0
  [fbb218c0] BSON v0.2.6
  [6e4b80f9] BenchmarkTools v0.5.0
  [88353bc9] ConfParser v0.1.2
  [717857b8] DSP v0.6.7
  [39dd38d3] Dierckx v0.4.1
  [0c46a032] DifferentialEquations v6.14.0
  [7a1cc6ca] FFTW v1.2.1
  [587475ba] Flux v0.8.3
  [5078a376] LazyArrays v0.16.9
  [23992714] MAT v0.8.0
  [429524aa] Optim v0.21.0
  [9b87118b] PackageCompiler v1.1.1
  [d96e819e] Parameters v0.12.1
  [91a5bcdd] Plots v1.3.7
  [d330b81b] PyPlot v2.9.0
  [276daf66] SpecialFunctions v0.10.2
  [6fc51010] Surrogates v1.1.2
  [009559a3] XGBoost v0.4.3
  [8bb1440f] DelimitedFiles
  [37e2e46d] LinearAlgebra
  [2f01184e] SparseArrays

Does anyone know how to resolve this? Is this a bug in the language, or is it a result of conflicting/outdated packages?

Sounds like a problem with FFTW?
Perhaps you can file an issue there.

This sounds like a CPU instruction is getting used for some reason on your Windows machine that it doesn’t support. Does it happen to be very old?

1 Like