Mojo binding being rebound in content::DeviceSensorEventPump<blink::WebDeviceOrientationListener>::SensorEntry::OnSensorCreated |
|||||
Issue descriptionOn tip of tree, chrome and webview crash when a youtube video is the first url opened. The check that fails is https://cs.chromium.org/chromium/src/mojo/public/cpp/bindings/lib/binding_state.cc?l=90 Steps to reproduce: (1) Open chrome or webview browser shell (2) paste and navigate to https://m.youtube.com/watch?v=ZJDMWVZta3M The video should be the first page opened; I can't reproduce this by opening m.youtube.com and then opening a video. Stack trace attached.
,
Nov 29 2017
Someone who worked on device sensor code should take a look. I don't recall who did that though.
,
Nov 29 2017
This DCHECK indicates a mojo consumer is using a binding type incorrectly, by trying to bind and already-bound binding.
,
Nov 29 2017
cc some folks who touched device_sensor_event_pump.h last..
,
Nov 29 2017
juncai@ can reproduce this and is taking a look.
,
Nov 30 2017
I created a CL for review: https://chromium-review.googlesource.com/c/chromium/src/+/798595
,
Jan 2 2018
,
Jan 11 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5d2543a1086ba586a9d142caedf8fb4ef3739fb6 commit 5d2543a1086ba586a9d142caedf8fb4ef3739fb6 Author: Jun Cai <juncai@chromium.org> Date: Thu Jan 11 20:07:32 2018 Add SensorState to make sure SensorEntry::sensor only binds once This CL adds a sensor state machine to make sure during the sensor initialization, sensor is only created once. Here is the design doc which explains the change in this CL: https://docs.google.com/document/d/1eA2YjNVcTIMPdJhA4sxv1qaksdW507SNb2Jfsij_G_U/edit Bug: 788965 Change-Id: Id20c745377b1320281dce72f097792c5b478cc38 Reviewed-on: https://chromium-review.googlesource.com/798595 Reviewed-by: Nasko Oskov <nasko@chromium.org> Reviewed-by: Reilly Grant <reillyg@chromium.org> Commit-Queue: Jun Cai <juncai@chromium.org> Cr-Commit-Position: refs/heads/master@{#528724} [modify] https://crrev.com/5d2543a1086ba586a9d142caedf8fb4ef3739fb6/content/renderer/device_sensors/device_motion_event_pump.cc [modify] https://crrev.com/5d2543a1086ba586a9d142caedf8fb4ef3739fb6/content/renderer/device_sensors/device_motion_event_pump.h [modify] https://crrev.com/5d2543a1086ba586a9d142caedf8fb4ef3739fb6/content/renderer/device_sensors/device_motion_event_pump_unittest.cc [modify] https://crrev.com/5d2543a1086ba586a9d142caedf8fb4ef3739fb6/content/renderer/device_sensors/device_orientation_event_pump.cc [modify] https://crrev.com/5d2543a1086ba586a9d142caedf8fb4ef3739fb6/content/renderer/device_sensors/device_orientation_event_pump.h [modify] https://crrev.com/5d2543a1086ba586a9d142caedf8fb4ef3739fb6/content/renderer/device_sensors/device_orientation_event_pump_unittest.cc [modify] https://crrev.com/5d2543a1086ba586a9d142caedf8fb4ef3739fb6/content/renderer/device_sensors/device_sensor_event_pump.h [add] https://crrev.com/5d2543a1086ba586a9d142caedf8fb4ef3739fb6/content/renderer/device_sensors/fake_sensor_and_provider.cc [add] https://crrev.com/5d2543a1086ba586a9d142caedf8fb4ef3739fb6/content/renderer/device_sensors/fake_sensor_and_provider.h [modify] https://crrev.com/5d2543a1086ba586a9d142caedf8fb4ef3739fb6/content/test/BUILD.gn
,
Jan 11 2018
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by boliu@chromium.org
, Nov 29 2017