Why does ListCorrelation crash the kernel?

Consider this simple example:

In[1]:= Get["tmp.mx"];

In[2]:= kernel
Out[2]= {{7.17255*10^-6, 7.30973*10^-6}, {6.10599*10^-6, 6.24766*10^-6}}

In[3]:= ls    
Out[3]= {{6.54171*10^-6, 6.3699*10^-6, 6.18855*10^-6, 5.99765*10^-6}, 
        {6.58821*10^-6, 6.44822*10^-6, 6.29974*10^-6, 6.14267*10^-6}, 
        {6.07857*10^-6, 5.96735*10^-6, 5.84888*10^-6, 5.72304*10^-6},
        {5.50983*10^-6, 5.42819*10^-6, 5.34059*10^-6, 5.2469*10^-6}}

Then this crashes the kernel on my computer

In[4]:= ListCorrelate[kernel, ls , {1, -1}, {}, (#1 - #2)^2 &, Plus]

Did I do something wrong?

I’m using 10.3.0 on OS X 10.11.2

is using the “tmp.mx” needed to reproduce this? Using the input you show, it works fine. 10.3.1, windows 7.

Yes, it needs the “tmp.mx” to reproduce this.

It would be helpful if you include the code used to generate the .mx file, and mention the version that saved it.

The version of Mathematica and the operation system are included in the question. I think the code is too long to put it here, and it may post a distraction. Are you able to reproduce the crash using the .tm file?

So tmp.mx was written out by the same kernel (10.3.0) that was reading it? That’s an important detail, which was not clear from the original post.

Yes, I can reproduce the problem. For a workaround, do something like

kernel = Developer`ToPackedArray[kernel]; ls = Developer`ToPackedArray[ls];
ListCorrelate[kernel, ls , {1, -1}, {}, (#1 - #2)^2 &, Plus]

(* {{1.5540002094334583*^-12, 2.0211107898971485*^-12, 2.7383672401650275*^-12}, 
    {1.1629671425624623*^-12, 1.7229776437865533*^-12, 2.4651739282780577*^-12}, 
    {4.02571661001392*^-12, 4.868779739861625*^-12, 5.85705269642223*^-12}} *)

The code that generates the .mx file is needed for easier debugging. It’s not necessary to post it here, but if you could forward it to support@wolfram.com, I assure you it won’t be a distraction.