ChristopherChudzicki / math3d-react

A user-friendly 3d graphing calculator for the web. Create, share, and animate 3d mathematical scenes.
https://www.math3d.org
Mozilla Public License 2.0
249 stars 34 forks source link

App Crashed #357

Open keysmusician opened 1 year ago

keysmusician commented 1 year ago

Here's what happened just before the crash: I had a variable slider named "phi" in an expression in a vector. Tweaking the slider didn't seem to do anything, so I thought maybe "phi" was being interpreted as a constant and not using the slider's value. As soon as I deleted the "i" at the end of "phi" the screen went white.

I'm using Firefox 106.0.5 and MacOS 12.5

My console shows this:

MathBox² 2.1.0 [index.js:116:16](https://www.math3d.org/static/node_modules/mathbox/src/index.js)
<root id="1">
  <cartesian id="2" range={[[-5, 5], [-5, 5], [-5, 5]]} scale={{x: 1, y: 1, z: 1/2}}>
    <group id="3" visible={true}>
      <area id="4" classes=["data"] channels={3} axes={[1, 2]} live={false} rangeX={[0, 1]} rangeY={[0, 1]} expr={function(e,r,a){var i=t(r,a),o=Object(oe.a)(i,2),c=o[0],s=o[1],l=n(c,s),u=Object(oe.a)(l,3);e(u[0],u[1],u[2])}} width={64} height={64} />
      <area id="5" classes=["colors"] channels={4} items={1} axes={[1, 2]} live={false} rangeX={[0, 1]} rangeY={[0, 1]} width={64} height={64} expr={function(e,t,a){var o=n(t,a),c=Object(oe.a)(o,2),s=c[0],l=c[1],u=r(s,l),p=Object(oe.a)(u,3),h=p[0],f=p[1],b=p[2],O=at(h,m,v),x=at(f,y,g),C=at(b,E,j),w=i(O,x,C,s,l);e.apply(void 0,Object(ce.a)(d(w)))}} />
      <surface id="6" points={[<area#4.data />]} colors={[<area#5.colors />]} color="#FFFFFF" zOrder={25} opacity={3/4} zIndex={0} zBias={0} shaded={true} />
      <group id="7" classes=["gridV"]>
        <resample id="8" source={[<area#4.data />]} height={8} />
        <line id="9" zBias={5} zOrder={25.001} color="gray" opacity={1/2} width={2} />
      </group>
      <group id="10" classes="gridU">
        <resample id="11" source={[<area#4.data />]} width={8} />
        <transpose id="12" order="yx" />
        <line id="13" zBias={5} zOrder={25.001} color="gray" opacity={1/2} width={2} />
      </group>
    </group>
    <group id="14" classes=["camera"]>
      <camera id="15" proxy={true} position={[1/2, -2, 1/2]} />
    </group>
    <group id="16" classes=["axis"] visible={true}>
      <axis id="17" zOrder={0} color="#808080" opacity={1} zIndex={0} zBias={0} axis="x" size={2} width={1} />
      <scale id="18" divide={10} nice={true} zero={false} axis="x" />
      <group id="19" classes=["ticks"] visible={true}>
        <ticks id="20" width={2} />
        <format id="21" digits={2} />
        <label id="22" classes=["tick-labels"] />
      </group>
      <group id="23" classes=["label"]>
        <array id="24" channels={3} live={false} data={[[5, 0, 0]]} />
        <text id="25" weight="bold" data=["x"] />
        <label id="26" offset={[0, 40, 0]} />
      </group>
    </group>
    <group id="27" classes=["axis"] visible={true}>
      <axis id="28" zOrder={0} color="#808080" opacity={1} zIndex={0} zBias={0} axis="y" size={2} width={1} />
      <scale id="29" divide={10} nice={true} zero={false} axis="y" />
      <group id="30" classes=["ticks"] visible={true}>
        <ticks id="31" width={2} />
        <format id="32" digits={2} />
        <label id="33" classes=["tick-labels"] />
      </group>
      <group id="34" classes=["label"]>
        <array id="35" channels={3} live={false} data={[[0, 5, 0]]} />
        <text id="36" weight="bold" data=["y"] />
        <label id="37" offset={[0, 40, 0]} />
      </group>
    </group>
    <group id="38" classes=["axis"] visible={true}>
      <axis id="39" zOrder={0} color="#808080" opacity={1} zIndex={0} zBias={0} axis="z" size={2} width={1} />
      <scale id="40" divide={10} nice={true} zero={false} axis="z" />
      <group id="41" classes=["ticks"] visible={true}>
        <ticks id="42" width={2} />
        <format id="43" digits={2} />
        <label id="44" classes=["tick-labels"] offset={[20, 0, 0]} />
      </group>
      <group id="45" classes=["label"]>
        <array id="46" channels={3} live={false} data={[[0, 0, 5]]} />
        <text id="47" weight="bold" data=["z"] />
        <label id="48" offset={[0, 40, 0]} />
      </group>
    </group>
    <group id="49" visible={true}>
      <grid id="50" zOrder={0} color="#808080" opacity={1} zIndex={0} zBias={0} width={1/2} divideX={10} divideY={10} niceX={false} niceY={false} axes="xy" />
    </group>
    <group id="51" visible={false}>
      <grid id="52" zOrder={0} color="#808080" opacity={1} zIndex={0} zBias={0} width={1/2} divideX={10} divideY={10} niceX={false} niceY={false} axes="yz" />
    </group>
    <group id="53" visible={false}>
      <grid id="54" zOrder={0} color="#808080" opacity={1} zIndex={0} zBias={0} width={1/2} divideX={10} divideY={10} niceX={false} niceY={false} axes="zx" />
    </group>
  </cartesian>
</root> [pretty.js:145:24](https://www.math3d.org/static/node_modules/mathbox/src/util/pretty.js)
Geometry   21,188 triangles   0 points   0 lines   52 draw calls  [index.js:183:12](https://www.math3d.org/static/node_modules/mathbox/src/index.js)
Uncaught Error: prayer failed: nodeId is the id of some Node that exists
    s https://www.math3d.org/mathquill.min.js:10
    seek https://www.math3d.org/mathquill.min.js:10
    delegateMouseEvents https://www.math3d.org/mathquill.min.js:10
    jQuery 2
2 [mathquill.min.js:10:415](https://www.math3d.org/mathquill.min.js)
    s https://www.math3d.org/mathquill.min.js:10
    seek https://www.math3d.org/mathquill.min.js:10
    delegateMouseEvents https://www.math3d.org/mathquill.min.js:10
    jQuery 2
InternalError: too much recursion
    Mn index.js:30
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
[react-dom.production.min.js:198:194](https://www.math3d.org/static/node_modules/react-dom/cjs/react-dom.production.min.js)
    React 7
    unstable_runWithPriority scheduler.production.min.js:18
    React 7
    Redux 3
    setSliderValue actions.js:3
    value VariableSlider.js:66
    value EvaluatedSlider.js:87
    _interval AnimationControls.js:99
Uncaught InternalError: too much recursion
    Mn index.js:30
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
    e mathscope.js:307
    n mathscope.js:308
[index.js:30:79](https://www.math3d.org/static/js/utils/sets/index.js)
    Mn index.js:30
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
    forEach self-hosted:4909
    e mathscope.js:307
    n mathscope.js:308
ChristopherChudzicki commented 1 year ago

Hi @keysmusician, Sorry about the crash. I was not able to reproduce based on

I had a variable slider named "phi" in an expression in a vector. Tweaking the slider didn't seem to do anything, so I thought maybe "phi" was being interpreted as a constant and not using the slider's value. As soon as I deleted the "i" at the end of "phi" the screen went white.

One question for you: Did you see "phi" as separate letters, "p-h-i"? It should display as the greek letter:

Screen Shot 2022-11-17 at 6 50 59 AM