5
$\begingroup$

Bug introduced in 10.1.0 or earlier and persisting through 12.0.0 or later

A support case with the identification [CASE:4222617] was created.


While looking at the question How to evaluate the "Domain" of an InterpolationObject? I noted that using PropertyList in a way, that seems to be in accordance with the documentation, will actually crash the kernel for some objects. What is going on?

Let's simply use the documentation's simple example to produce an InterpolatingFunction object:

points = {{0, 0}, {1, 1}, {2, 3}, {3, 4}, {4, 3}, {5, 0}};
ifun = Interpolation[points]; (* creates InterpolatingFunction object *)

PropertyList[ ifun ]

{Coordinates,DerivativeOrder,Domain,ElementMesh,Evaluate,GetPolynomial,Grid,InterpolationMethod,InterpolationOrder,MethodInformation,Methods,OutputDimensions,Periodicity,PlottableQ,Properties,QuantityUnits,Unpack,ValuesOnGrid}

But if we had instead executed one the following expressions we would have crashed the kernel:

DO NOT TRY THE FOLLOWING CODE WITHOUT HAVING SAVED YOUR WORK!

THE FOLLOWING CODE WILL LIKELY CRASH THE KERNEL!

(* PropertyList[ { ifun, 1 } ] *)

(* PropertyList[ { ifun, All } ] *)

Are some objects created differently than others?

$\endgroup$
  • $\begingroup$ On Mathematica 9, it simply fails to evaluate instead of crashing, but it definitely crashes 10.1. I'm pretty sure it's safe to call kernel crashes bugs, have you reported it to Wolfram? $\endgroup$ – eyorble Feb 8 at 15:23
  • $\begingroup$ Also crashes the kernel on 11.3. $\endgroup$ – Carl Lange Feb 8 at 15:29
  • 3
    $\begingroup$ I will file a bug report, thanks (and apologies for the inconvenience). $\endgroup$ – Daniel Lichtblau Feb 8 at 17:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.