Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't click buttons on gmail login page #14782

Closed
jdm opened this issue Dec 30, 2016 · 7 comments
Closed

Can't click buttons on gmail login page #14782

jdm opened this issue Dec 30, 2016 · 7 comments

Comments

@jdm
Copy link
Member

@jdm jdm commented Dec 30, 2016

STR:

  1. visit http://mail.google.com
  2. type in email address
  3. try to click blue button to continue

Pressing enter triggers it fine, but clicking does not work. This means the login process breaks if you encounter a "Check your account recover options" page, where the only way to continue is to click a button.

@jdm jdm added the A-content/dom label Dec 30, 2016
@kimumetal
Copy link
Contributor

@kimumetal kimumetal commented Jan 1, 2017

I did some further test on dev build and found out that after scrolling on the page, click event worked properly.
(1) Launch servo with ./mach run --dev http://mail.google.com . In this phase, the blue button has no response on clicking it.
(2) Type in email address and trigger scrolling by keyboard up/down button or trackpad swipe.(Other methods not tested)
(3) Try to click blue button to continue.

On this issue's scope, only the (2) matters. But just in case, I wrote all the messages on reproducing this sequence.

(1) After servo launched, I could see this message:

ERROR:script::dom::bindings::error: Error at https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1:75:1 f.Email is undefined

(2) After typing in email address, I scrolled the page(with keyboard or Macbook touchpad swipe) and was able to click on the blue button.

(3) The clicking event worked(the blue button's image changed to pressed state button image), but I could not go further with this message:

assertion failed: !node.get_flag(HAS_DIRTY_DESCENDANTS) (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(1) }, at /Volumes/USBDISK01/github/servo/components/script/dom/node.rs:246)
stack backtrace:
   0:        0x10cb8f4e1 - backtrace::backtrace::trace::hf69d5756c40bafc7
   1:        0x10cb8fb88 - backtrace::capture::Backtrace::new::h92e5f83ad3bb233c
   2:        0x10c82647c - servo::main::{{closure}}::h895a2cbda7e897d4
   3:        0x111e140e3 - std::panicking::rust_panic_with_hook::h3e771863e3ed8403
   4:        0x10e6c6383 - std::panicking::begin_panic::h94258923a88c8674
   5:        0x10f64d850 - script::dom::node::Node::add_child::hf32add5ecd949ac2
   6:        0x10f660050 - script::dom::node::Node::insert::h640ff9b8b1a10eaf
   7:        0x10f65f751 - script::dom::node::Node::pre_insert::hb48a201b080bccc1
   8:        0x10f664d97 - <script::dom::node::Node as script::dom::bindings::codegen::Bindings::NodeBinding::NodeBinding::NodeMethods>::AppendChild::ha2c0b56ea10d9679
   9:        0x10fbf2192 - script::dom::bindings::codegen::Bindings::NodeBinding::NodeBinding::appendChild::{{closure}}::hf52e78253ef010d2
  10:        0x10feef4c8 - core::ops::FnOnce::call_once::haae447aa14e75aa1
  11:        0x10f3497ca - <std::panic::AssertUnwindSafe<F> as core::ops::FnOnce<()>>::call_once::h7391a23632d62880
  12:        0x10ea0b48a - std::panicking::try::do_call::h35f9a59bcdf3c844
  13:        0x111e14fba - __rust_maybe_catch_panic
  14:        0x10e931674 - std::panicking::try::hceb6394a40c918d5
  15:        0x10e68ce66 - std::panic::catch_unwind::h9fcd6b94e2d76e9a
  16:        0x10e2d591d - js::panic::wrap_panic::he70b524d1fc6eee3
  17:        0x10fbf1dfd - script::dom::bindings::codegen::Bindings::NodeBinding::NodeBinding::appendChild::h10242f71043230cf
  18:        0x110502240 - CallJitMethodOp
  19:        0x10f4f050a - script::dom::bindings::utils::generic_call::h7a053b25702164ef
  20:        0x10f4f0651 - script::dom::bindings::utils::generic_method::h828da8139e6bf0e3
  21:        0x1109883aa - 2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstruct
  22:        0x1109825cc - _ZL9InterpretP9JSContextRN2js8RunStateE
  23:        0x110976b9e - 2js9RunScriptEP9JSContextRNS_8RunState
  24:        0x110988689 - 2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstruct
  25:        0x110988845 - 2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_E
  26:        0x1108b7f88 - 2js8fun_callEP9JSContextjPN2JS5Value
  27:        0x1109883aa - 2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstruct
  28:        0x11062120e - 2js3jitL14DoCallFallbackEP9JSContextPNS0_13BaselineFrameEPNS0_15ICCall_FallbackEjPN2JS5ValueENS7_13MutableHandleIS8_E
ERROR:servo: assertion failed: !node.get_flag(HAS_DIRTY_DESCENDANTS)

I want to participate further, but I don't know much about the internals...

@jdm
Copy link
Member Author

@jdm jdm commented Jan 1, 2017

That's a very useful result; thank you!

@jdm
Copy link
Member Author

@jdm jdm commented Jan 1, 2017

That being said, I cannot reproduce the issue any more - every time I load the page, I'm able to type my email and immediately click the button without scrolling the page at all.

@kimumetal
Copy link
Contributor

@kimumetal kimumetal commented Jan 1, 2017

I still can reproduce this issue, so I think that the gmail website is not changed.

I tested on following environment:
servo: dev build on git hash bbe70c7
OS: OSX Sierra 10.12.1(16B2555)
Machine: MacBook Air (11-inch, Early 2015), 1.6 GHz Intel Core i5, 4GB 1600 MHz DDR3

+) Still can be reproduced on release build.

@jdm jdm added the A-webcompat label Jan 4, 2017
@nox
Copy link
Member

@nox nox commented Oct 7, 2017

I get a bunch of

ERROR:script::dom::bindings::error: Error at :0:0 uncaught exception: unknown (can't convert to string)
@nox nox added the C-reproduced label Oct 7, 2017
@dralley
Copy link
Contributor

@dralley dralley commented Mar 24, 2020

Gmail was completely rewritten as an SPA a while back, so I doubt this is still reproducable.

@jdm
Copy link
Member Author

@jdm jdm commented Mar 24, 2020

Indeed. Now there's #25595.

@jdm jdm closed this Mar 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.