Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CT: Assertion failed: matrix should not map plane to a line or point #155

Closed
veillette opened this issue Jul 31, 2021 · 12 comments
Closed

Comments

@veillette
Copy link
Contributor

geometric-optics : multitouch-fuzz : unbuilt
https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/geometric-optics/geometric-optics_en.html?continuousTest=%7B%22test%22%3A%5B%22geometric-optics%22%2C%22multitouch-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1627676158588%22%2C%22timestamp%22%3A1627680890180%7D&brand=phet&ea&fuzz&fuzzPointers=2&memoryLimit=1000&supportsPanAndZoom=false
Query: brand=phet&ea&fuzz&fuzzPointers=2&memoryLimit=1000&supportsPanAndZoom=false
Uncaught Error: Assertion failed: matrix should not map plane to a line or point
Error: Assertion failed: matrix should not map plane to a line or point
at window.assertions.assertFunction (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/assert/js/assert.js:25:13)
at Image.appendMatrix (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/scenery/js/nodes/Node.js:2627:15)
at Image.scale (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/scenery/js/nodes/Node.js:2301:16)
at updateScaleAndPosition (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/geometric-optics/js/common/view/TargetNode.js:56:19)
at https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/geometric-optics/js/common/view/TargetNode.js:77:7
at TinyProperty.emit (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/axon/js/TinyEmitter.js:86:9)
at DerivedProperty._notifyListeners (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/axon/js/Property.js:271:23)
at DerivedProperty.set (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/axon/js/Property.js:186:14)
at DerivedProperty.getDerivedPropertyListener (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/axon/js/DerivedProperty.js:112:13)
at TinyProperty.emit (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1627676158588/axon/js/TinyEmitter.js:86:9)
id: Bayes Chrome
Snapshot from 7/30/2021, 4:15:58 PM

@veillette veillette self-assigned this Jul 31, 2021
@pixelzoom pixelzoom changed the title Assertion failed: matrix should not map plane to a line or point CT: Assertion failed: matrix should not map plane to a line or point Sep 16, 2021
@pixelzoom
Copy link
Contributor

pixelzoom commented Sep 21, 2021

This is still occurring occassionally, most recently 9/20/2021 @ 10:14:53 PM for test geometric-optics : fuzz : unbuilt.

@pixelzoom
Copy link
Contributor

@KatieWoe reports that this is still occurring:

geometric-optics : pan-and-zoom-fuzz : unbuilt
https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/geometric-optics/geometric-optics_en.html?continuousTest=%7B%22test%22%3A%5B%22geometric-optics%22%2C%22pan-and-zoom-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1632873257028%22%2C%22timestamp%22%3A1632891880356%7D&brand=phet&ea&fuzz&fuzzPointers=2&memoryLimit=1000&supportsPanAndZoom=true
Query: brand=phet&ea&fuzz&fuzzPointers=2&memoryLimit=1000&supportsPanAndZoom=true
Uncaught Error: Assertion failed: matrix should not map plane to a line or point
Error: Assertion failed: matrix should not map plane to a line or point
at window.assertions.assertFunction (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/assert/js/assert.js:25:13)
at Image.appendMatrix (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/scenery/js/nodes/Node.js:2629:15)
at Image.scale (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/scenery/js/nodes/Node.js:2303:16)
at updateScaleAndPosition (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/geometric-optics/js/common/view/TargetNode.js:56:19)
at https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/geometric-optics/js/common/view/TargetNode.js:76:7
at TinyProperty.emit (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/axon/js/TinyEmitter.js:86:9)
at DerivedProperty._notifyListeners (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/axon/js/Property.js:271:23)
at DerivedProperty.set (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/axon/js/Property.js:186:14)
at DerivedProperty.getDerivedPropertyListener (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/axon/js/DerivedProperty.js:112:13)
at TinyProperty.emit (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1632873257028/axon/js/TinyEmitter.js:86:9)
id: Bayes Chrome
Snapshot from 9/28/2021, 5:54:17 PM

@pixelzoom
Copy link
Contributor

@arouinfar should this be addressed for the prototype? I have not investigated whether it causes the sim to crash in practice.

@arouinfar
Copy link
Contributor

In #215 (comment) we decided not to address assertion failure issues for the prototype, so back to @pixelzoom.

@pixelzoom
Copy link
Contributor

Since this is not in the prototype, unassigning until I start working on public production issues.

@pixelzoom pixelzoom removed their assignment Oct 1, 2021
@pixelzoom
Copy link
Contributor

Still happening very occassionally on CT. Most recently:

geometric-optics : multitouch-fuzz : unbuilt
https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/geometric-optics/geometric-optics_en.html?continuousTest=%7B%22test%22%3A%5B%22geometric-optics%22%2C%22multitouch-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1641078512821%22%2C%22timestamp%22%3A1641109628869%7D&brand=phet&ea&fuzz&fuzzPointers=2&memoryLimit=1000&supportsPanAndZoom=false
Query: brand=phet&ea&fuzz&fuzzPointers=2&memoryLimit=1000&supportsPanAndZoom=false
Uncaught Error: Assertion failed: matrix should not map plane to a line or point
Error: Assertion failed: matrix should not map plane to a line or point
at window.assertions.assertFunction (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/assert/js/assert.js:25:13)
at Image.appendMatrix (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/chipper/dist/js/scenery/js/nodes/Node.js:2360:15)
at Image.scale (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/chipper/dist/js/scenery/js/nodes/Node.js:2074:16)
at updateScaleAndPosition (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/chipper/dist/js/geometric-optics/js/common/view/TargetNode.js:43:19)
at https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/chipper/dist/js/geometric-optics/js/common/view/TargetNode.js:60:7
at TinyProperty.emit (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/chipper/dist/js/axon/js/TinyEmitter.js:69:9)
at DerivedProperty._notifyListeners (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/chipper/dist/js/axon/js/Property.js:228:23)
at DerivedProperty.set (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/chipper/dist/js/axon/js/Property.js:159:14)
at DerivedProperty.getDerivedPropertyListener (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/chipper/dist/js/axon/js/DerivedProperty.js:98:13)
at TinyProperty.emit (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1641078512821/chipper/dist/js/axon/js/TinyEmitter.js:69:9)
id: Bayes Chrome
Snapshot from 1/1/2022, 4:08:32 PM

@pixelzoom
Copy link
Contributor

We'll need @jonathanolson's assistance on this one, since Image.appendMatrix is in scenery.

@jonathanolson
Copy link
Contributor

Tried fuzzing for an hour, couldn't reproduce or find on CT. Basically, don't call image.scale( 0, y ) or image.scale( x, 0 ) or both with zero (since it looks like it's failing in a scale call) at

parentNode.scale( viewBounds.width / initialWidth, viewBounds.height / initialHeight );
.

@pixelzoom
Copy link
Contributor

Sounds good. I haven't seen this in CT for awhile either, so closing.

@pixelzoom
Copy link
Contributor

Reopening. This issue is still occurring occasionally in CT. Most recently:

geometric-optics : phet-io-fuzz : unbuilt
https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/geometric-optics/geometric-optics_en.html?continuousTest=%7B%22test%22%3A%5B%22geometric-optics%22%2C%22phet-io-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1644246215834%22%2C%22timestamp%22%3A1644248887429%7D&ea&brand=phet-io&phetioStandalone&fuzz&memoryLimit=1000
Query: ea&brand=phet-io&phetioStandalone&fuzz&memoryLimit=1000
Uncaught Error: Assertion failed: matrix should not map plane to a line or point
Error: Assertion failed: matrix should not map plane to a line or point
at window.assertions.assertFunction (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/assert/js/assert.js:25:13)
at Node.appendMatrix (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/chipper/dist/js/scenery/js/nodes/Node.js:2423:15)
at Node.scale (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/chipper/dist/js/scenery/js/nodes/Node.js:2137:16)
at updateScaleAndPosition (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/chipper/dist/js/geometric-optics/js/common/view/TargetNode.js:59:18)
at https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/chipper/dist/js/geometric-optics/js/common/view/TargetNode.js:74:38
at TinyProperty.emit (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/chipper/dist/js/axon/js/TinyEmitter.js:69:9)
at DerivedProperty._notifyListeners (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/chipper/dist/js/axon/js/Property.js:228:23)
at DerivedProperty.set (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/chipper/dist/js/axon/js/Property.js:159:14)
at DerivedProperty.getDerivedPropertyListener (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/chipper/dist/js/axon/js/DerivedProperty.js:98:13)
at TinyProperty.emit (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1644246215834/chipper/dist/js/axon/js/TinyEmitter.js:69:9)
id: Bayes Chrome
Snapshot from 2/7/2022, 8:03:35 AM

@pixelzoom pixelzoom reopened this Feb 7, 2022
@pixelzoom
Copy link
Contributor

In #155 (comment), @jonathanolson said

Basically, don't call image.scale( 0, y ) or image.scale( x, 0 ) or both with zero (since it looks like it's failing in a scale call) at

I'll investigate why scale is being called with 0 values.

@pixelzoom pixelzoom removed their assignment Feb 8, 2022
pixelzoom added a commit that referenced this issue Feb 15, 2022
@pixelzoom
Copy link
Contributor

I added a small non-zero scale value, MIN_SCALE: 1e-5, which is now used when a zero scale is encountered.

Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants