phetsims / build-a-molecule

"Build a Molecule" is an educational simulation in HTML5, by PhET Interactive Simulations.
GNU General Public License v3.0
8 stars 7 forks source link

CT Cannot read property atoms of null #95

Closed KatieWoe closed 4 years ago

KatieWoe commented 5 years ago
build-a-molecule : fuzz : built : run
Query: fuzz&memoryLimit=1000
Uncaught TypeError: Cannot read property 'atoms' of null
TypeError: Cannot read property 'atoms' of null
    at Function.C.getCombinedMoleculeFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1041:845886)
    at C.getPossibleMoleculeStructureFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1041:6681748)
    at C.canBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1041:6682669)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1041:6681992
    at Array.forEach (<anonymous>)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1041:6681907
    at Array.forEach (<anonymous>)
    at C.attemptToBondMolecule (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1041:6681879)
    at C.atomDropped (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1041:6676804)
    at e (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1041:851011)
id: Bayes Chrome
Approximately 5/27/2019, 9:31:40 PM
build-a-molecule : fuzz : require.js : run
Query: brand=phet&ea&fuzz&memoryLimit=1000
Uncaught TypeError: Cannot read property 'atoms' of null
TypeError: Cannot read property 'atoms' of null
    at Function.MoleculeStructure.getCombinedMoleculeFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/MoleculeStructure.js?bust=1559027407431:540:10)
    at Kit.getPossibleMoleculeStructureFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559027407431:522:32)
    at Kit.canBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559027407431:597:95)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559027407431:548:49
    at Array.forEach (<anonymous>)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559027407431:538:20
    at Array.forEach (<anonymous>)
    at Kit.attemptToBondMolecule (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559027407431:535:22)
    at Kit.atomDropped (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559027407431:191:16)
    at dropListener (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/KitCollection.js?bust=1559027407431:86:15)
id: Bayes Chrome
Approximately 5/27/2019, 9:31:40 PM
build-a-molecule : fuzz : require.js : run
Query: brand=phet&ea&fuzz&memoryLimit=1000
Uncaught TypeError: Cannot read property 'atoms' of null
TypeError: Cannot read property 'atoms' of null
    at Function.MoleculeStructure.getCombinedMoleculeFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/MoleculeStructure.js?bust=1559044859898:540:10)
    at Kit.getPossibleMoleculeStructureFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559044859898:522:32)
    at Kit.canBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559044859898:597:95)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559044859898:548:49
    at Array.forEach (<anonymous>)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559044859898:538:20
    at Array.forEach (<anonymous>)
    at Kit.attemptToBondMolecule (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559044859898:535:22)
    at Kit.addAtomToPlay (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559044859898:352:12)
    at Kit.atomDropped (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559044859898:195:16)
id: Bayes Chrome
Approximately 5/27/2019, 9:31:40 PM
build-a-molecule : fuzz : require.js : run
Query: brand=phet&ea&fuzz&memoryLimit=1000
Uncaught TypeError: Cannot read property 'atoms' of null
TypeError: Cannot read property 'atoms' of null
    at Function.MoleculeStructure.getCombinedMoleculeFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/MoleculeStructure.js?bust=1559055740222:540:10)
    at Kit.getPossibleMoleculeStructureFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559055740222:522:32)
    at Kit.canBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559055740222:597:95)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559055740222:548:49
    at Array.forEach (<anonymous>)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559055740222:538:20
    at Array.forEach (<anonymous>)
    at Kit.attemptToBondMolecule (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559055740222:535:22)
    at Kit.addAtomToPlay (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559055740222:352:12)
    at Kit.atomDropped (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559055740222:195:16)
id: Bayes Chrome
Approximately 5/27/2019, 9:31:40 PM
build-a-molecule : fuzz : require.js-canvas : run
Query: brand=phet&ea&fuzz&rootRenderer=canvas&memoryLimit=1000
Uncaught TypeError: Cannot read property 'atoms' of null
TypeError: Cannot read property 'atoms' of null
    at Function.MoleculeStructure.getCombinedMoleculeFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/MoleculeStructure.js?bust=1559024589329:540:10)
    at Kit.getPossibleMoleculeStructureFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559024589329:522:32)
    at Kit.canBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559024589329:597:95)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559024589329:548:49
    at Array.forEach (<anonymous>)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559024589329:538:20
    at Array.forEach (<anonymous>)
    at Kit.attemptToBondMolecule (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559024589329:535:22)
    at Kit.atomDropped (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559024589329:191:16)
    at dropListener (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/KitCollection.js?bust=1559024589329:86:15)
id: Bayes Chrome
Approximately 5/27/2019, 9:31:40 PM
build-a-molecule : fuzz : require.js-canvas : run
Query: brand=phet&ea&fuzz&rootRenderer=canvas&memoryLimit=1000
Uncaught TypeError: Cannot read property 'atoms' of null
TypeError: Cannot read property 'atoms' of null
    at Function.MoleculeStructure.getCombinedMoleculeFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/MoleculeStructure.js?bust=1559037369861:540:10)
    at Kit.getPossibleMoleculeStructureFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559037369861:522:32)
    at Kit.canBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559037369861:597:95)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559037369861:548:49
    at Array.forEach (<anonymous>)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559037369861:538:20
    at Array.forEach (<anonymous>)
    at Kit.attemptToBondMolecule (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559037369861:535:22)
    at Kit.atomDropped (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559037369861:191:16)
    at dropListener (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/KitCollection.js?bust=1559037369861:86:15)
id: Bayes Chrome
Approximately 5/27/2019, 9:31:40 PM
build-a-molecule : fuzz : require.js-canvas : run
Query: brand=phet&ea&fuzz&rootRenderer=canvas&memoryLimit=1000
Uncaught Error: Assertion failed: reentry detected, value=true, oldValue=false
Error: Assertion failed: reentry detected, value=true, oldValue=false
    at window.assertions.assertFunction (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/assert/js/assert.js:22:13)
    at BooleanProperty._notifyListeners (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/axon/js/Property.js?bust=1559037369861:244:17)
    at BooleanProperty.set (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/axon/js/Property.js?bust=1559037369861:160:14)
    at BooleanProperty.set value [as value] (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/axon/js/Property.js?bust=1559037369861:316:34)
    at start (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/view/KitView.js?bust=1559037369861:158:47)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/scenery/js/input/SimpleDragHandler.js?bust=1559037369861:119:28
    at Action.execute (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/axon/js/Action.js?bust=1559037369861:177:20)
    at SimpleDragHandler.startDrag (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/scenery/js/input/SimpleDragHandler.js?bust=1559037369861:319:28)
    at SimpleDragHandler.tryToSnag (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/scenery/js/input/SimpleDragHandler.js?bust=1559037369861:372:14)
    at SimpleDragHandler.down (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/scenery/js/input/SimpleDragHandler.js?bust=1559037369861:389:12)
id: Bayes Chrome
Approximately 5/27/2019, 9:31:40 PM
build-a-molecule : fuzz : require.js-canvas : run
Query: brand=phet&ea&fuzz&rootRenderer=canvas&memoryLimit=1000
Uncaught TypeError: Cannot read property 'atoms' of null
TypeError: Cannot read property 'atoms' of null
    at Function.MoleculeStructure.getCombinedMoleculeFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/MoleculeStructure.js?bust=1559052472786:540:10)
    at Kit.getPossibleMoleculeStructureFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559052472786:522:32)
    at Kit.canBond (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559052472786:597:95)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559052472786:548:49
    at Array.forEach (<anonymous>)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559052472786:538:20
    at Array.forEach (<anonymous>)
    at Kit.attemptToBondMolecule (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559052472786:535:22)
    at Kit.atomDropped (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/Kit.js?bust=1559052472786:191:16)
    at dropListener (https://bayes.colorado.edu/continuous-testing/snapshot-1559014300649/build-a-molecule/js/model/KitCollection.js?bust=1559052472786:86:15)
id: Bayes Chrome
Approximately 5/27/2019, 9:31:40 PM
Denz1994 commented 5 years ago

I'll let CT run a few more cycles. If failures persist, I'll review cases of kit.getMolecule() are failing.

I think this can be replicated with a molecule placed in a collection box and then dragging out a single atom.

Denz1994 commented 5 years ago

This is still an issue but can be replicated with the above suggestion. Perhaps, the previous bond isn't being disposed of properly? I'll continue to investigate.

KatieWoe commented 5 years ago

There seems to be an added component:

build-a-molecule : fuzz : built : run
Query: fuzz&memoryLimit=1000
Uncaught TypeError: Cannot read property 'dispose' of undefined
TypeError: Cannot read property 'dispose' of undefined
    at https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1029:6957117
    at H.value (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1029:138493)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1029:173766
    at e.value (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1029:171942)
    at e.value (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1029:174016)
    at C.removeMolecule (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1029:6894429)
    at C.recycleMoleculeIntoBuckets (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1029:6894797)
    at C.atomDropped (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1029:6892609)
    at e (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1029:6861712)
    at H.value (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/build/phet/build-a-molecule_en_phet.html?postMessageOnLoad&postMessageOnError&postMessageOnBeforeUnload&fuzz&memoryLimit=1000:1029:138493)
id: Bayes Chrome
Approximately 6/12/2019, 4:02:07 AM
build-a-molecule : fuzz : require.js-canvas : run
Query: brand=phet&ea&fuzz&rootRenderer=canvas&memoryLimit=1000
Uncaught TypeError: Cannot read property 'atoms' of null
TypeError: Cannot read property 'atoms' of null
    at Function.MoleculeStructure.getCombinedMoleculeFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/js/model/MoleculeStructure.js?bust=1560337160442:540:10)
    at Kit.getPossibleMoleculeStructureFromBond (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/js/model/Kit.js?bust=1560337160442:522:32)
    at Kit.canBond (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/js/model/Kit.js?bust=1560337160442:597:95)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/js/model/Kit.js?bust=1560337160442:548:49
    at Array.forEach (<anonymous>)
    at https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/js/model/Kit.js?bust=1560337160442:538:20
    at Array.forEach (<anonymous>)
    at Kit.attemptToBondMolecule (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/js/model/Kit.js?bust=1560337160442:535:22)
    at Kit.addAtomToPlay (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/js/model/Kit.js?bust=1560337160442:352:12)
    at Kit.atomDropped (https://bayes.colorado.edu/continuous-testing/snapshot-1560333727162/build-a-molecule/js/model/Kit.js?bust=1560337160442:195:16)
id: Bayes Chrome
Approximately 6/12/2019, 4:02:07 AM
Denz1994 commented 5 years ago

I believe there was an issue with how the atoms were being removed from Molecule.atoms[]. I've tracked down the buggy commit to https://github.com/phetsims/build-a-molecule/commit/e9be92071c3b737aa2552a76617268fbffad4862.

Note this should fix CT, but the line of code will still need refactoring. I'll let CT test against several cycles before closing.

Denz1994 commented 4 years ago

This hasn't been showing up in the latest ct cycles. Closing this one.