phetsims / energy-skate-park-basics

"Energy Skate Park: Basics" is an educational simulation in HTML5, by PhET Interactive Simulations.
http://phet.colorado.edu/en/simulation/energy-skate-park-basics
GNU General Public License v3.0
2 stars 9 forks source link

Impossible set state #382

Closed samreid closed 7 years ago

samreid commented 7 years ago

From https://github.com/phetsims/energy-skate-park-basics/issues/380#issuecomment-330665201 and discovered during https://github.com/phetsims/QA/issues/50

@samreid if it means anything, the State wrapper gives this error from simply clicking on a track node, no need to even cut it.

SimIFrameAPI Invocation Error: Error: Impossible set state:
energySkateParkBasics.playgroundScreen.view.trackNode_4.controlPointNode_1.controlPointUI
    at energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130
    at Object.g [as setState] (energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130)
    at TPhETIO.implementation [as setState] (energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130)
    at Object.invoke (energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130)
    at Object.handleSingleInvoke (energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130)
    at Object.handleRequest (energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130)
    at energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130 Error: Impossible set state:
energySkateParkBasics.playgroundScreen.view.trackNode_4.controlPointNode_1.controlPointUI
    at http://www.colorado.edu/physics/phet/dev/html/energy-skate-park-basics/1.4.0-phetiorc.1/energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130:52472
    at Object.g [as setState] (http://www.colorado.edu/physics/phet/dev/html/energy-skate-park-basics/1.4.0-phetiorc.1/energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130:52531)
    at TPhETIO.implementation [as setState] (http://www.colorado.edu/physics/phet/dev/html/energy-skate-park-basics/1.4.0-phetiorc.1/energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130:1421226)
    at Object.invoke (http://www.colorado.edu/physics/phet/dev/html/energy-skate-park-basics/1.4.0-phetiorc.1/energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130:1216383)
    at Object.handleSingleInvoke (http://www.colorado.edu/physics/phet/dev/html/energy-skate-park-basics/1.4.0-phetiorc.1/energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130:1215144)
    at Object.handleRequest (http://www.colorado.edu/physics/phet/dev/html/energy-skate-park-basics/1.4.0-phetiorc.1/energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130:1215620)
    at http://www.colorado.edu/physics/phet/dev/html/energy-skate-park-basics/1.4.0-phetiorc.1/energy-skate-park-basics_en-phetio.html?production&sim=energy-skate-park-basics&relativeSimPath&frameTitle=destination:1130:1216610
samreid commented 7 years ago

I'm going to deem these popups as "transient" and remove them from the state. We can re-evaluate at the ESPB PhET-iO design meeting.

samreid commented 7 years ago

Finished, states no longer crash, closing.

samreid commented 7 years ago

I'm seeing this again after working on https://github.com/phetsims/phet-io/issues/1273, not sure why.

samreid commented 7 years ago

I realized we need to have these objects instrumented to get data stream from them, so it will be better to use phetioState:false.

samreid commented 7 years ago

Removed from state above, closing.