lookit / ember-lookit-frameplayer

Ember app with experiment frames and a frame player to run browser-based experiments
MIT License
5 stars 20 forks source link

Stuck on Consent Recording - server error? #198

Closed claudiaubc closed 3 years ago

claudiaubc commented 3 years ago

Describe the bug When participating in our study, there are times when the embedded consent recorder will not load. When you click 'start consent recording', it will only say 'starting recording..." and never move on to 'recording'. When inspecting the error, it will show the error message "Failed to load resource: the server responded with a status of 404 ()" . This has happened randomly on a few members of our team, and we are worried parents will experience the same issue when the study goes live. We have tested this on google chrome, and it seems to occur randomly, and sometimes persistently, despite refreshing. Other times there will be no issue at all!

Which frame or frames does it affect? exp-lookit-video-consent

Screenshots image

Environment:

Additional information

If we have trouble reproducing the bug with this information, we'll likely ask for the following additional information:

kimberscott commented 3 years ago

Thanks for reporting this - I suspect it's related to some other Chrome-specific errors people have mentioned, including having trouble restarting the consent recording (discussion on Slack) and possibly (less likely) https://github.com/lookit/ember-lookit-frameplayer/issues/162.

Two requests -

claudiaubc commented 3 years ago

The console looks like this:

manifest.json:1 Failed to load resource: the server responded with a status of 404 () manifest.json:2 Manifest: Line: 2, column: 1, Syntax error. vendor-563af2e9bb7650864ed911db7efde789.js:6921 Study: daab37f4-325e-470e-985f-a2a319166b73 vendor-563af2e9bb7650864ed911db7efde789.js:6921 Child: 3007d7a4-acab-4580-baa2-cb282e925138 vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for nextFrame Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for setupVideoRecorder Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for recorderReady Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:50 page feature policy allows camera access vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:50 page feature policy allows microphone access vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:50 recorder resolution width: 1280 vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:50 connection established vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for videoStreamConnection Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:53 getUserMedia success vendor-563af2e9bb7650864ed911db7efde789.js:6921 onCamAccess: lookit-video-recorder-1608225707514 vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for recorder.hasCamAccess Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:53 {"echoCancellation":false,"noiseSuppression":true} vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:53 SoundMeter connecting vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:53 {"height":720,"width":1280} vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for destroyingRecorder Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 Destroying the videoRecorder: lookit-video-recorder-1608225707514 vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:55 disconnect reason io client disconnect vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for videoStreamConnection Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for setupVideoRecorder Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:55 page feature policy allows camera access vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:55 page feature policy allows microphone access vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:55 recorder resolution width: 1280 vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:55 connection established vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for videoStreamConnection Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:58 getUserMedia success vendor-563af2e9bb7650864ed911db7efde789.js:6921 onCamAccess: lookit-video-recorder-1608225707514 vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for recorder.hasCamAccess Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:58 {"deviceId":"default","echoCancellation":false,"noiseSuppression":true} vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:58 SoundMeter connecting vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:21:58 {"deviceId":"6906ee6cd7e2792db7f7011abe97a6d7bb8bec78b577a8309424b080f64d22f1","height":720,"width":1280} vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for nextFrame Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 Destroying the videoRecorder: lookit-video-recorder-1608225707514 vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:22:00 disconnect reason io client disconnect vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for setupVideoRecorder Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 Invalid consent form specified. 'template' parameter of 'exp-lookit-video-consent' frame should be one of: consent_001 consent_002 consent_003 consent_004 e. @ vendor-563af2e9bb7650864ed911db7efde789.js:6921 vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for recorderReady Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:22:01 page feature policy allows camera access vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:22:01 page feature policy allows microphone access vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:22:01 recorder resolution width: 1280 vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:22:01 connection established vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for videoStreamConnection Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:22:04 getUserMedia success vendor-563af2e9bb7650864ed911db7efde789.js:6921 onCamAccess: lookit-video-recorder-1608225707514 vendor-563af2e9bb7650864ed911db7efde789.js:6921 Timing event captured for recorder.hasCamAccess Object vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:22:04 {"deviceId":"default","echoCancellation":false,"noiseSuppression":true} vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:22:04 SoundMeter connecting vendor-563af2e9bb7650864ed911db7efde789.js:6921 pipe-log at 09:22:04 {"deviceId":"6906ee6cd7e2792db7f7011abe97a6d7bb8bec78b577a8309424b080f64d22f1","height":720,"width":1280} manifest.json:1 Failed to load resource: the server responded with a status of 404 ()

I just tested it on Firefox and also encountered the same issue. Similar to chrome, its not consistent as I can get through one time then not the other. While we've had this error on a Mac, we were wondering if the issue may be happening as I am using a Surface Pro?

kimberscott commented 3 years ago

Thanks! Ok, I'm actually not seeing anything too suspicious / obviously error-explaining here - the manifest.json issues could be coming from any dependency or even a browser plugin, and are unlikely to explain the problem you're having. (Although disabling browser plugins might be worthwhile just to double check you can reproduce the error without them.)

It should be ok on any non-mobile recent version of Firefox/Chrome, so using a Surface Pro also shouldn't be the cause. We'll be digging into this more after the holidays!

kimberscott commented 3 years ago

Separately: if you're trying to use consent template consent_005 it looks like you'll need to update the experiment runner to at least 2.1.0 (see release notes).

claudiaubc commented 3 years ago

With the new consent template it seems to be working! Can't get the bug to come up anymore on either Chrome/Firefox..

kimberscott commented 3 years ago

Huh! That's good but a bit puzzling. I'll close this out for now but please reopen if you notice similar behavior again.