# Kernel Crashes using Normalize for malformed complex vectors

Bug introduced in 10.0 or earlier and fixed in 11.3

I found a deterministic way to crash the kernel of Mathematica 11.0.1 at both Windows 8 and Windows 10.

The crash appears when I run the following code:

testvec = {0.18746673492062105 + 0.07179896380864931 I,
0.10271089033292742 + 0.29743889409731045 I,
0.14718709404615468 + 0.19088958403002848 I,
0.12205003155893783 + 0.05721359003080298 I,
0.022886875150098424 + 0.06926066019534503 I,
0.2286466187044286 + 0.021886715310015535 I,
0.3000933170709555 + 0.08213327207615487 I,
0.27275542569463435 + 0.2021236544928293 I,
0.09282290144945393 + 0.06710608870159725 I,
0.18321947106989928 + 0.19079872835899886 I,
0.07103005932536283 + 0.2664541533372109 I,
0.1000573663951961 + 0.24319769942599498 I,
0.07439123195876386 + 0.19025514766872914 I,
0.09333733294822154 + 0.2799084917039692 I,
0.27152323358174535 + 0.0883256922927881 I,
0.2383215861152127 - 0.13737179264951108 I};
testnewvec = testvec;
value = -0.9206729702180169 - 1.6708036090286889 I;
testnewvec[[0]] = testnewvec[[0]]*value;
testnewvec = Normalize[testnewvec];


I found this problem when tracking down a bug in a code, i.e. I understand that overwriting testnewvec[[0]] does not make sense. Anyway, I think the Kernel should never crash so I thought it might be useful to report here and wonder whether other people can reproduce it.

• "I thought it might be useful to report here" These sorts of problems should be reported to Wolfram instead, to make sure they will get fixed. Can you please do that? The crash happens with 11.1 too. – Szabolcs Aug 7 '17 at 11:32
• @Szabolcs thanks for your answer. I thought there are mathematica developers on SE, in particular checking the "bug" section? For instance ilian has commented on some other bug-reports here. – Mario Krenn Aug 7 '17 at 11:40
• I don't know how Wolfram works internally, but the same people have suggested on occasion that for a bug to get attention, it should be formally reported. – Szabolcs Aug 7 '17 at 12:17
• @Nico, you can ask here for workarounds, but even if Wolfram employees browse this site, they are in no way acting in an official capacity here. You still need to report to them if you want this to get attention. – J. M.'s technical difficulties Aug 7 '17 at 15:02
• I have filed a bug report, thanks for this example. – ilian Aug 7 '17 at 15:45

This bug has been fixed as of version 11.3.0.

testvec = {0.18746673492062105 + 0.07179896380864931 I,
0.10271089033292742 + 0.29743889409731045 I,
0.14718709404615468 + 0.19088958403002848 I,
0.12205003155893783 + 0.05721359003080298 I,
0.022886875150098424 + 0.06926066019534503 I,
0.2286466187044286 + 0.021886715310015535 I,
0.3000933170709555 + 0.08213327207615487 I,
0.27275542569463435 + 0.2021236544928293 I,
0.09282290144945393 + 0.06710608870159725 I,
0.18321947106989928 + 0.19079872835899886 I,
0.07103005932536283 + 0.2664541533372109 I,
0.1000573663951961 + 0.24319769942599498 I,
0.07439123195876386 + 0.19025514766872914 I,
0.09333733294822154 + 0.2799084917039692 I,
0.27152323358174535 + 0.0883256922927881 I,
0.2383215861152127 - 0.13737179264951108 I};
testnewvec = testvec;
value = -0.9206729702180169 - 1.6708036090286889 I;
testnewvec[[0]] = testnewvec[[0]]*value;

(* Normalize *)