phetsims / build-an-atom

"Build an Atom" is an educational simulation in HTML5, by PhET Interactive Simulations.
http://phet.colorado.edu/en/simulation/build-an-atom
GNU General Public License v3.0
11 stars 10 forks source link

CT Did not get next-test message in 400000ms #239

Closed KatieWoe closed 1 year ago

KatieWoe commented 1 year ago
build-an-atom : phet-io-state-fuzz : unbuilt
Tried to run 3 times, never completed, failure: Error: Error: Did not get next-test message in 400000ms: ["build-an-atom","phet-io-state-fuzz","unbuilt"]
[URL] http://128.138.93.172//continuous-testing/aqua/html/wrapper-test.html?url=..%2F..%2Fct-snapshots%2F1689324625427%2Fphet-io-wrappers%2Fstate%2F%3Fsim%3Dbuild-an-atom%26phetioDebug%3Dtrue%26phetioWrapperDebug%3Dtrue%26fuzz&testInfo=%7B%22test%22%3A%5B%22build-an-atom%22%2C%22phet-io-state-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1689324625427%22%2C%22timestamp%22%3A1689327949539%7D
[NAVIGATED] http://128.138.93.172//continuous-testing/aqua/html/wrapper-test.html?url=..%2F..%2Fct-snapshots%2F1689324625427%2Fphet-io-wrappers%2Fstate%2F%3Fsim%3Dbuild-an-atom%26phetioDebug%3Dtrue%26phetioWrapperDebug%3Dtrue%26fuzz&testInfo=%7B%22test%22%3A%5B%22build-an-atom%22%2C%22phet-io-state-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1689324625427%22%2C%22timestamp%22%3A1689327949539%7D
[NAVIGATED] about:blank
[NAVIGATED] http://128.138.93.172//continuous-testing/ct-snapshots/1689324625427/phet-io-wrappers/state/?sim=build-an-atom&phetioDebug=true&phetioWrapperDebug=true&fuzz&wrapperContinuousTest=%7B%22test%22%3A%5B%22build-an-atom%22%2C%22phet-io-state-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1689324625427%22%2C%22timestamp%22%3A1689327949539%7D
[NAVIGATED] about:blank
[NAVIGATED] about:blank
[CONSOLE] enabling assert
[NAVIGATED] http://128.138.93.172//continuous-testing/ct-snapshots/1689324625427/build-an-atom/build-an-atom_en.html?brand=phet-io&ea&debugger&postMessageOnError&sim=build-an-atom&phetioDebug=true&phetioWrapperDebug=true&fuzz&wrapperContinuousTest=%7B%22test%22%3A%5B%22build-an-atom%22%2C%22phet-io-state-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1689324625427%22%2C%22timestamp%22%3A1689327949539%7D&frameTitle=source
[NAVIGATED] http://128.138.93.172//continuous-testing/ct-snapshots/1689324625427/build-an-atom/build-an-atom_en.html?brand=phet-io&ea&debugger&postMessageOnError&sim=build-an-atom&phetioDebug=true&phetioWrapperDebug=true&fuzz&wrapperContinuousTest=%7B%22test%22%3A%5B%22build-an-atom%22%2C%22phet-io-state-fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1689324625427%22%2C%22timestamp%22%3A1689327949539%7D&frameTitle=destination
[CONSOLE] enabling assert
[CONSOLE] enabling assert
[CONSOLE] continuous-test-wrapper-load
[CONSOLE] continuous-test-wrapper-load

id: "Sparky Node Puppeteer"
Snapshot from 7/14/2023, 2:50:25 AM
jbphet commented 1 year ago

I've done some investigation, and have found that if I run the state wrapper with fuzz locally, the page will eventually appear to lock up. I can see through the dev tools that this is happening when the state is being set on the "destination" sim in the state wrapper during fuzz testing. The problem is in SphereBucket, and the destination sim is getting stuck in an infinite loop trying to update the layout of the the particles in the bucket. After a bit more digging, I could see that it was happening when the userControlled (aka dragging) state of the particles were being set to false while they were in the bucket. This can't happen in the main sim due to the way in which listeners are added when particles go into the bucket and removed when the particles are removed, but apparently it can during the setting of phet-io state.

I modified the particle removal listener to ignore the case where a particle's userControlledProperty is set to false when the particle is already in the bucket, and this seems to prevent the infinite loop on my local copy. I'll watch CT for the next day or so and close this if the CT error disappears.

jbphet commented 1 year ago

I just checked CT, and this problem has not recurred since the potential fix was submitted, and it has been over 24 hrs. Seems like it worked. Closing, and will reopen if I see the problem again soon.