phetsims / forces-and-motion-basics

"Forces and Motion: Basics" is an educational simulation in HTML5, by PhET Interactive Simulations.
http://phet.colorado.edu/en/simulation/forces-and-motion-basics
GNU General Public License v3.0
7 stars 10 forks source link

[phet-io 2.1.11-rc.1] crashes quickly in Safari if console open while recording #265

Closed ghost closed 5 years ago

ghost commented 5 years ago

For https://github.com/phetsims/QA/issues/187.

While doing the third test, I noticed that trying to record your actions using this link...

https://phet-dev.colorado.edu/html/forces-and-motion-basics/2.1.11-rc.1/wrappers/iframe/iframe.html?url=../login/login.html?screens=2.3&wrapper=record&validationRule=validateDigits&encryption=encryptNumberV1&numberOfDigits=7&promptText=This%20is%20a%20test&publisher_id=5d4c8ae1&key_name=phet-study_2018_q4&widget_id=forces-and-motion-basics-qatest&phet-io.emitInputEvents=true&phet-io.emitStates=true&phet-io.emitStatesInterval=60&launchLocalVersion&metacog

...causes Safari to crash pretty quickly if the console is open while recording.

EDIT0: If the console is not open, it doesn't crash right away. I'm going to try to make a bigger recording to see if it will eventually crash.

EDIT1: It didn't crash when I made a bigger recording without the console open.

macOS 10.13.6 Safari 11.1.2

zepumph commented 5 years ago

@KatieWoe and I noticed this this morning with https://phet-dev.colorado.edu/html/forces-and-motion-basics/2.1.11-rc.1/wrappers/iframe/iframe.html?url=../login/login.html?screens=2.3&wrapper=record&validationRule=validateDigits&encryption=encryptNumberV1&numberOfDigits=7&promptText=This%20is%20a%20test&publisher_id=5d4c8ae1&key_name=phet-study_2018_q4&widget_id=forces-and-motion-basics-qatest&phet-io.emitInputEvents=true&phet-io.emitStates=true&phet-io.emitStatesInterval=60&launchLocalVersion&console (the console logging wrapper from step 2)

I'm baffled why this is happening just when dev tools is open. @samreid, since you use a mac, can you try to reproduce? Is there a way that you can pause a debugger before the page unloads or something?

zepumph commented 5 years ago

Since students won't have their dev tools open, perhaps this isn't a large priority for this maintenance release.

@lmulhall-phet can you reproduce this on master with a link like: http://localhost/phet-io-wrappers/record/?console&sim=forces-and-motion-basics&ea&phetioEmitStates=true&phetioEmitStatesInterval=60&phetioEmitInputEvents=true

samreid commented 5 years ago

I launched the URL from https://github.com/phetsims/forces-and-motion-basics/issues/265#issuecomment-421503041 on Mac 10.13.6 + Chrome 69.0.3497.92 and saw no problem. I tried in Safari Version 11.1.2 (13605.3.8) with JS console open and there was no problem there either.

ghost commented 5 years ago

Is this issue current? Can it be closed? @samreid @zepumph

zepumph commented 5 years ago

It looks like @samreid had a hard time reproducing it on the original version last year.

@lmulhall-phet can you reproduce this on the version above? Can you reproduce this on the recently published GQ? https://phet-io.colorado.edu/sims/graphing-quadratics/1.1/

If you cannot do either, then I think this is good to close.

ghost commented 5 years ago

@zepumph, using the recording wrapper in https://phet-io.colorado.edu/sims/graphing-quadratics/1.1/, I noticed that interacting with the dev tools panel while recording is pretty laggy on my device, e.g. switching from "All" console messages to "Errors" takes a while. I didn't see a crash. I'm willing to bet this is device-specific and that's why @samreid wasn't able to reproduce. I'll keep this on my list of things to look out for, but I think it's OK to close this for now.

zepumph commented 5 years ago

Thanks @lmulhall-phet. I'm good with closing. Do you mind commenting on if this occurs with the dev tools panel not open? I think that that would increase the priority of this bug.

ghost commented 5 years ago

The only lagginess I'm experiencing in the recording wrapper is with the dev tools panel. The sim itself performs as if it were the regular sim.