# Strange evaluating indication of output cells Something like this happened when I was working with two Manipulate cells. I saved the notebook, duplicated it and only keep these two cells, and opened the notebook with a fresh kernel, it still happened immediately (in trusted directory, if not, this happens after clicking enable dynamics).

I have repeated this on Mathematica 10.1 on OS X 10.10.3 and Windows 8.1 (I am not able to open it in version 9).

So is it a bug, or an expected behaviour I am unaware of?

The code in the notebook is here:

First Cell:

Manipulate[
circle = ParametricPlot3D[{Sin[x], Cos[x], 0}, {x, -Pi, Pi},
PerformanceGoal -> "Quality"];
circle1 = First[circle];
circlebase = Scale[circle1, {1, 1, 1}, {0, 0, 0}];
fin = Table[
Translate[Rotate[{Point[{-1, 0, 0}]}, - i 4 Pi/1000, {0, 0, 1}],
2 {Sin[i 2 Pi/1000], Cos[i 2 Pi/1000], 0}], {i, step}];
circlerolled =
Translate[circle1,
2 {Sin[ 2 Pi step/1000], Cos[ 2 Pi step/1000], 0}];
Graphics3D[{fin, circlebase, circlerolled},
PlotRange -> {{-3.1, 3.1}, {-3.1, 3.1}, {-0.1, 0.1}},
ViewPoint -> {0, 0, 1}, Boxed -> False],
{step, 1, 1000}]


Second Cell:

Manipulate[
circle = ParametricPlot3D[{Sin[x], Cos[x], 0}, {x, -Pi, Pi},
PerformanceGoal -> "Quality"];
circle1 = First[circle];
circlebase = Scale[circle1, {-3, -3, -3}, {0, 0, 0}];
fin = Table[
Translate[
Rotate[Point[{-1, 0, 0}], - i 2 Pi/(251/(-2)), {0, 0, 1}],
-2 {Sin[i 2 Pi/251], Cos[i 2 Pi/251], 0}], {i, step}];
circlerolled =
Translate[
circle1, (-3 + 1) {Sin[ 2 Pi step/251], Cos[ 2 Pi step/251], 0}];
Graphics3D[{fin, circlebase, circlerolled},
PlotRange -> {{-3, 3}, {-3, 3}, {-0.1, 0.1}},
ViewPoint -> {0, 0, 1}, Boxed -> False],
{step, 1, 251}]


The code itself should produce this after executing them separately.If you are not able to produce it, you may try to download my sample notebook.

I guarantee it is not malicious (anyway you can open it with a text editor and see the source code)

This infinite evaluation is the result of "cross-linking" the two Dynamic expressions due to the failure to localize your Symbols with DynamicModule, e.g.:

DynamicModule[{circle, circle1, circlebase, fin, circlerolled},
Manipulate[
circle = ParametricPlot3D[{Sin[x], Cos[x], 0}, {x, -Pi, Pi},
PerformanceGoal -> "Quality"];
circle1 = First[circle];
circlebase = Scale[circle1, {1, 1, 1}, {0, 0, 0}];
fin = Table[
Translate[Rotate[{Point[{-1, 0, 0}]}, -i 4 Pi/1000, {0, 0, 1}],
2 {Sin[i 2 Pi/1000], Cos[i 2 Pi/1000], 0}], {i, step}];
circlerolled = Translate[circle1, 2 {Sin[2 Pi step/1000], Cos[2 Pi step/1000], 0}];
Graphics3D[{fin, circlebase, circlerolled},
PlotRange -> {{-3.1, 3.1}, {-3.1, 3.1}, {-0.1, 0.1}}, ViewPoint -> {0, 0, 1},
Boxed -> False], {step, 1, 1000}
]
]

• step is automatically localized by Manipulate and does not need to be added to the DynamicModule specification.

• This localization should be included for all Manipulate expressions unless you have specific need to access the values globally, and if you do you will need unique Symbol names.

• Thank you, the problem is solved. After some more attempts, I found that only the conflict of "used" variables to display will cause the infinite evaluation. – happy fish Apr 21 '15 at 16:13
• @Felix "used" meaning present in the display expression? You should still localize the other variables to prevent unwanted global interaction, IMHO. – Mr.Wizard Apr 21 '15 at 16:15
• Yeah, I inserted some unused conflict variables and this didn't happen. But I know it is a bad habit now and I will localize my variables. Thanks:) – happy fish Apr 21 '15 at 16:19