Closed Bug 1231570 Opened 8 years ago Closed 8 years ago

LongPress touchevent interpreted as click events frequently with native APZ

Categories

(Firefox for Android Graveyard :: Toolbar, defect)

45 Branch
Unspecified
Android
defect
Not set
normal

Tracking

(firefox46 unaffected, firefox47 unaffected, firefox48 fixed, firefox49 fixed)

RESOLVED FIXED
Firefox 49
Tracking Status
firefox46 --- unaffected
firefox47 --- unaffected
firefox48 --- fixed
firefox49 --- fixed

People

(Reporter: capella, Assigned: kats)

References

()

Details

Attachments

(2 files)

A specific issue I see, is that using the new native APZ, often I try to generate a longPress but wind up with a singleClick instead.

general STR

long-press (hold) a link, notice no haptic feedback nor contextmenu display.
Wait ... wait ... wait ...
Release press, and observe link click-through that navigates you forward.

It seemed to me that the click, if default, should be avoided. Perhaps if we can check (touchEndTime - touchStartTime) > LONGPRESS_MIN_TRIGGER_TIME, I'd think we'd prove no single-click intent on the users part.
Do you have a specific link you've seen this on? I haven't had any luck reproducing this. In general falling back to a click from a long-press is intentional if nobody does a preventDefault on the contextmenu or MozLongTap events. In this case though browser.js should be handling the contextmenu event and doing a preventDefault on it, so either the link itself is doing something, or for some reason we're taking one of the early-exit conditions in [1].

It might be worth adding some logging to those early-exit conditions and seeing if they get hit the next time you run into this.

[1] http://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/browser.js?rev=bbe776eaf22e#2663
I don't have a specific link, it seems semi-random, but it's often enough on my GS3 that it's annoying and I can look further.

I think after mozLando we may have decided to file this, perhaps at least to re-address the intentional decision to fallback to a click.

Though again, it's been often enough that it seems something basic is wrong. I'll continue looking and update if I can spot anything.
I get this problem on all links on all sites on Windows nightly touch. (Just in case, verified just now on http://www.abc.net.au/ ) I long press one of the links and get both a context menu *and* a click (i.e. it navigates to the page, with the context menu still hovering over the top).

Another issue which may be related is that if I try to drag the scrollbar up and down (using tap-then-drag), the page starts to jump around wildly at various points during the scroll. If I try to touch-drag (i.e. no tap first, which works on release Firefox and other browsers), it treats it like a touch scroll, rather than my trying to drag the scrollbar.

If I recall correctly, both issues have existed ever since APZ was first turned on in Nightly.
This was indeed a variation I was seeing on my GS3, though I'm not routinely testing with that anymore.
(In reply to voracity from comment #3)
> I get this problem on all links on all sites on Windows nightly touch.

This bug is for Fennec - I filed new bugs for the two issues you reported seeing on Windows. Bug 1256339 and bug 1256340. Thanks!
Ping on this bug ... I've noticed that for specific-site /TheHill.com/ on my mobile devices in nightly-48.0a1, long-press *any* links in the main page now this behaviour.

Also, after the unexpected navigation forward, long-pressing links on the subsequent pages, also triggers this behaviour. See [0] for STR. I also notice that after switching into Desktop mode, long-press on links works as expected.

I can't see this bug in Release-v45, nor in Beta-v46.

Testing fresh installs of nightly from f-m-o/pub I find the first error build appears 12-1-2015 [1], which iirc was right around the APZ introduction.

[0] https://www.dropbox.com/s/moqppltr42u2d39/bug1231570_longPress_theHill.mp4?dl=0
[1] https://ftp.mozilla.org/pub/mobile/nightly/2015/12/2015-12-01-03-02-26-mozilla-central-android-api-11/
Flags: needinfo?(bugmail.mozilla)
I can't find another page where this occurs :/

This reminds me of Bug 1021804 - Long press on news story links invoke context menu while at the same time load the page
I can reproduce on this site as well. I'll investigate; leaving ni on me for now.
So it looks like on thehill.com at least there is some JS somewhere that is listening for the touchend event (which gets sent to us from Android when the contextmenu comes up) and does something that eventually causes gecko to dispatch a eLegacyDOMActivate type of event, which triggers the navigation. Attached is the backtrace - the stack in the lower frames are for the touch-end event, then it goes through a bunch of JS frames, and the event in the top frames is for the eLegacyDOMActivate event.

AFAICT this is being done by the webpage, not Gecko. However, we might be incorrectly sending it a touchend event since really that should be a touchcancel or something.
Flags: needinfo?(bugmail.mozilla)
I'm seeing this quite heavily on eBay when using the full (desktop) page, e.g. here:
http://www.ebay.com/sch/i.html?_odkw=Firefox&_sac=1&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.Xplush+Firefox.TRS0&_nkw=plush+Firefox&_sacat=0 (either open it in desktop mode, or scroll down and click on "Classic site").

When long pressing a search result link, I get the context menu, but often - although not always - Firefox will also start navigating to the link target.

And just to double-check, in a local build with APZ turned off, things are working normally, i.e. long pressing just opens the context menu and nothing else.
I reproduced the problem on the ebay site in Nightly. Then I tried in a local build so to actually debug it and I get one of these two things happening:
1) On long-pressing the link, some word in the link gets selected and I get the floating action bar
2) The link is long-pressed, context menu comes up, and the page doesn't navigate to the link target (i.e. behaves as expected).

So basically I can't reproduce in a local build. :(
Ok, I reproduced it, it seems to be the same thing as in comment 9. There's a eLegacyDOMActivate event coming from JS somewhere.
Ok, the JS stack is bogus, I think. Hard to say for sure, but the event might be coming from [1], as a result of a touch-end event. I'll dig a bit more.

[1] http://mxr.mozilla.org/mozilla-central/source/dom/base/Element.cpp?rev=9979c96310a0#3015
AFAICT there is code on the webpage that is doing click detection using touch listeners, and so it gets the touchdown/touchup combo and fires the click. I guess the bug here is that we are sending a touchup instead of a touchcancel? After long-pressing on the link, the context menu popup makes Android send us a touchup, we should figure out a way to detect that and turn it into a touchcancel.
Yeah, pre-APZ fennec and Chrome both send touchcancel after a handled contextmenu event, so we should be doing the same, probably in C++ code somewhere. I'm just not sure where the right place to do it is. Randall, any thoughts?
So my comment above was right ? "This reminds me of Bug 1021804" ?
Yup! Too bad we didn't add a test for it the first time around :/

Looking through that bug quickly I think the equivalent place in APZ code to dispatch that event is at the bottom of APZEventState::ProcessLongTap, if eventHandled is true. I'll see if that works.
Assignee: nobody → bugmail.mozilla
Comment on attachment 8748341 [details]
MozReview Request: Bug 1231570 - Ensure we send a touchcancel after a prevented long-press. r?capella

https://reviewboard.mozilla.org/r/50229/#review47133

Nice! Fixes the issue with "The Hill" and everything.
Attachment #8748341 - Flags: review?(markcapella) → review+
Backed out for crash in test_wheel_scroll.html after assertion at gfx/layers/apz/src/InputQueue.cpp:493 on Linux debug in M-e10s(8)

Backout: https://hg.mozilla.org/integration/mozilla-inbound/rev/09bb19edf4a8

Push with failure: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=7ac47a347557cc7a7c125ff0136ff0ce20c9cef7
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=27191407&repo=mozilla-inbound

06:29:57     INFO -  352 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_wheel_scroll.html | Wheel event successfully synthesized
06:29:57  WARNING -  TEST-UNEXPECTED-FAIL | gfx/layers/apz/test/mochitest/test_wheel_scroll.html | application terminated with exit code 11
06:29:57     INFO -  runtests.py | Application ran for: 0:02:11.336353
06:29:57     INFO -  zombiecheck | Reading PID log: /tmp/tmpqHblwJpidlog
06:29:57     INFO -  ==> process 2017 launched child process 2077
06:29:57     INFO -  zombiecheck | Checking for orphan process with PID: 2077
06:29:57     INFO -  mozcrash Copy/paste: /usr/local/bin/linux64-minidump_stackwalk /tmp/tmpKouhBz.mozrunner/minidumps/1a09fade-b6c2-2d68-01fe4aa1-0cede89a.dmp /home/worker/workspace/build/symbols
06:30:11     INFO -  mozcrash Saved minidump as /home/worker/workspace/build/blobber_upload_dir/1a09fade-b6c2-2d68-01fe4aa1-0cede89a.dmp
06:30:11     INFO -  mozcrash Saved app info as /home/worker/workspace/build/blobber_upload_dir/1a09fade-b6c2-2d68-01fe4aa1-0cede89a.extra
06:30:11  WARNING -  PROCESS-CRASH | gfx/layers/apz/test/mochitest/test_wheel_scroll.html | application crashed [@ mozilla::layers::InputQueue::CurrentTouchBlock]
06:30:11     INFO -  Crash dump filename: /tmp/tmpKouhBz.mozrunner/minidumps/1a09fade-b6c2-2d68-01fe4aa1-0cede89a.dmp
06:30:11     INFO -  Operating system: Linux
06:30:11     INFO -                    0.0.0 Linux 3.13.0-79-generic #123-Ubuntu SMP Fri Feb 19 14:27:58 UTC 2016 x86_64
06:30:11     INFO -  CPU: amd64
06:30:11     INFO -       family 6 model 62 stepping 4
06:30:11     INFO -       1 CPU
06:30:11     INFO -  Crash reason:  SIGSEGV
06:30:11     INFO -  Crash address: 0x0
06:30:11     INFO -  Thread 0 (crashed)
06:30:11     INFO -   0  libxul.so!mozilla::layers::InputQueue::CurrentTouchBlock [InputQueue.cpp:7ac47a347557 : 493 + 0x29]
06:30:11     INFO -      rbx = 0x00007ffc52f023e8   r12 = 0x00007fdd624cc800
06:30:11     INFO -      r13 = 0x00007ffc52f023e0   r14 = 0x00007fdd5c284ba8
06:30:11     INFO -      r15 = 0x00007ffc52f02700   rip = 0x00007fdd8b1a8763
06:30:11     INFO -      rsp = 0x00007ffc52f023c0   rbp = 0x00007ffc52f023c0
06:30:11     INFO -      Found by: given as instruction pointer in context
06:30:11     INFO -   1  libxul.so!mozilla::layers::AsyncPanZoomController::ResetTouchInputState [AsyncPanZoomController.cpp:7ac47a347557 : 3763 + 0x7]
06:30:11     INFO -      rbx = 0x00007ffc52f023e8   r12 = 0x00007fdd624cc800
06:30:11     INFO -      r13 = 0x00007ffc52f023e0   r14 = 0x00007fdd5c284ba8
06:30:11     INFO -      r15 = 0x00007ffc52f02700   rip = 0x00007fdd8b1bba3b
06:30:11     INFO -      rsp = 0x00007ffc52f023d0   rbp = 0x00007ffc52f02430
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -   2  libxul.so!mozilla::layers::InputQueue::UpdateActiveApzc [InputQueue.cpp:7ac47a347557 : 736 + 0xf]
06:30:11     INFO -      rbx = 0x00007fdd60aa1a10   r12 = 0x00007fdd5c284ba8
06:30:11     INFO -      r13 = 0x00007ffc52f02468   r14 = 0x00007fdd5c284ba8
06:30:11     INFO -      r15 = 0x00007ffc52f02700   rip = 0x00007fdd8b1bbab0
06:30:11     INFO -      rsp = 0x00007ffc52f02440   rbp = 0x00007ffc52f02450
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -   3  libxul.so!mozilla::layers::InputQueue::ProcessInputBlocks [InputQueue.cpp:7ac47a347557 : 712 + 0xa]
06:30:11     INFO -      rbx = 0x00007fdd5c284ba0   r12 = 0x00007fdd60aa1a00
06:30:11     INFO -      r13 = 0x00007ffc52f02468   r14 = 0x00007fdd5c284ba8
06:30:11     INFO -      r15 = 0x00007ffc52f02700   rip = 0x00007fdd8b1bbd8e
06:30:11     INFO -      rsp = 0x00007ffc52f02460   rbp = 0x00007ffc52f02490
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -   4  libxul.so!RunnableMethod<mozilla::layers::APZCTreeManager, void (mozilla::layers::APZCTreeManager::*)(long unsigned int, bool), mozilla::Tuple<long unsigned int, bool> >::Run [task.h:7ac47a347557 : 28 + 0x1a]
06:30:11     INFO -      rbx = 0x00007ffc52f024b0   r12 = 0x00007fdd968ed880
06:30:11     INFO -      r13 = 0x00007fdd60a76000   r14 = 0x0000000000000017
06:30:11     INFO -      r15 = 0x00007ffc52f02700   rip = 0x00007fdd8b223cac
06:30:11     INFO -      rsp = 0x00007ffc52f024a0   rbp = 0x00007ffc52f024a0
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -   5  libxul.so!mozilla::layers::APZThreadUtils::RunOnControllerThread [APZThreadUtils.cpp:7ac47a347557 : 76 + 0x5]
06:30:11     INFO -      rbx = 0x00007ffc52f024b0   r12 = 0x00007fdd968ed880
06:30:11     INFO -      r13 = 0x00007fdd60a76000   r14 = 0x0000000000000017
06:30:11     INFO -      r15 = 0x00007ffc52f02700   rip = 0x00007fdd8b1c360b
06:30:11     INFO -      rsp = 0x00007ffc52f024b0   rbp = 0x00007ffc52f024d0
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -   6  libxul.so!mozilla::layers::RemoteContentController::RecvContentReceivedInputBlock [RemoteContentController.cpp:7ac47a347557 : 222 + 0x4]
06:30:11     INFO -      rbx = 0x00007fdd637dfa10   r12 = 0x00007ffc52f024f8
06:30:11     INFO -      r13 = 0x00007fdd60a76000   r14 = 0x0000000000000017
06:30:11     INFO -      r15 = 0x00007ffc52f02700   rip = 0x00007fdd8b22c3c6
06:30:11     INFO -      rsp = 0x00007ffc52f024e0   rbp = 0x00007ffc52f02530
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -   7  libxul.so!mozilla::layers::PAPZParent::OnMessageReceived [PAPZParent.cpp:7ac47a347557 : 394 + 0x5]
06:30:11     INFO -      rbx = 0x0000000000000000   r12 = 0x00007ffc52f02580
06:30:11     INFO -      r13 = 0x00007ffc52f02590   r14 = 0x00007ffc52f0256c
06:30:11     INFO -      r15 = 0x00007ffc52f02748   rip = 0x00007fdd8ac87857
06:30:11     INFO -      rsp = 0x00007ffc52f02540   rbp = 0x00007ffc52f025f0
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -   8  libxul.so!mozilla::ipc::MessageChannel::DispatchAsyncMessage [MessageChannel.cpp:7ac47a347557 : 1654 + 0x10]
06:30:11     INFO -      rbx = 0x00007fdd60b03068   r12 = 0x00007ffc52f02740
06:30:11     INFO -      r13 = 0x0000000000000001   r14 = 0x00007ffc52f02600
06:30:11     INFO -      r15 = 0x0000000000000000   rip = 0x00007fdd8ac60943
06:30:11     INFO -      rsp = 0x00007ffc52f02600   rbp = 0x00007ffc52f02630
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -   9  libxul.so!mozilla::ipc::MessageChannel::DispatchMessage [MessageChannel.cpp:7ac47a347557 : 1592 + 0xa]
06:30:11     INFO -      rbx = 0x00007ffc52f02740   r12 = 0x00007fdd60b03068
06:30:11     INFO -      r13 = 0x00007ffc52f02650   r14 = 0x00007ffc52f02668
06:30:11     INFO -      r15 = 0x00007ffc52f02660   rip = 0x00007fdd8ac6da79
06:30:11     INFO -      rsp = 0x00007ffc52f02640   rbp = 0x00007ffc52f02720
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  10  libxul.so!mozilla::ipc::MessageChannel::OnMaybeDequeueOne [MessageChannel.cpp:7ac47a347557 : 1559 + 0xa]
06:30:11     INFO -      rbx = 0x00007ffc52f02740   r12 = 0x00007fdd60b03068
06:30:11     INFO -      r13 = 0x00007fdd60b03001   r14 = 0x00007ffc52f028d0
06:30:11     INFO -      r15 = 0x00007ffc52f0294f   rip = 0x00007fdd8ac6fc94
06:30:11     INFO -      rsp = 0x00007ffc52f02730   rbp = 0x00007ffc52f02790
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  11  libxul.so!RunnableMethod<mozilla::ipc::MessageChannel, bool (mozilla::ipc::MessageChannel::*)(), mozilla::Tuple<> >::Run [task.h:7ac47a347557 : 28 + 0x11]
06:30:11     INFO -      rbx = 0x00007fdd968ed880   r12 = 0x00007ffc52f027c0
06:30:11     INFO -      r13 = 0x00007ffc52f02818   r14 = 0x00007ffc52f028d0
06:30:11     INFO -      r15 = 0x00007ffc52f0294f   rip = 0x00007fdd8ac5bd35
06:30:11     INFO -      rsp = 0x00007ffc52f027a0   rbp = 0x00007ffc52f027a0
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  12  libxul.so!mozilla::ipc::MessageChannel::DequeueTask::Run [MessageChannel.h:7ac47a347557 : 477 + 0x5]
06:30:11     INFO -      rbx = 0x00007fdd968ed880   r12 = 0x00007ffc52f027c0
06:30:11     INFO -      r13 = 0x00007ffc52f02818   r14 = 0x00007ffc52f028d0
06:30:11     INFO -      r15 = 0x00007ffc52f0294f   rip = 0x00007fdd8ac5b8be
06:30:11     INFO -      rsp = 0x00007ffc52f027b0   rbp = 0x00007ffc52f027b0
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  13  libxul.so!MessageLoop::RunTask [message_loop.cc:7ac47a347557 : 335 + 0x5]
06:30:11     INFO -      rbx = 0x00007fdd968ed880   r12 = 0x00007ffc52f027c0
06:30:11     INFO -      r13 = 0x00007ffc52f02818   r14 = 0x00007ffc52f028d0
06:30:11     INFO -      r15 = 0x00007ffc52f0294f   rip = 0x00007fdd8ac4320d
06:30:11     INFO -      rsp = 0x00007ffc52f027c0   rbp = 0x00007ffc52f02800
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  14  libxul.so!MessageLoop::DeferOrRunPendingTask [message_loop.cc:7ac47a347557 : 343 + 0x4]
06:30:11     INFO -      rbx = 0x00007ffc52f02818   r12 = 0x00007ffc52f02848
06:30:11     INFO -      r13 = 0x00007ffc52f02801   r14 = 0x00007ffc52f028d0
06:30:11     INFO -      r15 = 0x00007ffc52f0294f   rip = 0x00007fdd8ac46bab
06:30:11     INFO -      rsp = 0x00007ffc52f02810   rbp = 0x00007ffc52f02830
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  15  libxul.so!MessageLoop::DoWork [message_loop.cc:7ac47a347557 : 418 + 0x4]
06:30:11     INFO -      rbx = 0x00007fdd968ed880   r12 = 0x00007ffc52f02848
06:30:11     INFO -      r13 = 0x00007ffc52f02801   r14 = 0x00007ffc52f028d0
06:30:11     INFO -      r15 = 0x00007ffc52f0294f   rip = 0x00007fdd8ac46c55
06:30:11     INFO -      rsp = 0x00007ffc52f02840   rbp = 0x00007ffc52f02880
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  16  libxul.so!mozilla::ipc::DoWorkRunnable::Run [MessagePump.cpp:7ac47a347557 : 227 + 0x8]
06:30:11     INFO -      rbx = 0x00007fdd968ed880   r12 = 0x00007ffc52f02801
06:30:11     INFO -      r13 = 0x00007ffc52f028d8   r14 = 0x00007ffc52f028d0
06:30:11     INFO -      r15 = 0x00007ffc52f0294f   rip = 0x00007fdd8ac5b229
06:30:11     INFO -      rsp = 0x00007ffc52f02890   rbp = 0x00007ffc52f028a0
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  17  libxul.so!nsThread::ProcessNextEvent [nsThread.cpp:7ac47a347557 : 991 + 0x10]
06:30:11     INFO -      rbx = 0x00007fdd86cdd500   r12 = 0x00007ffc52f028e8
06:30:11     INFO -      r13 = 0x00007ffc52f028d8   r14 = 0x00007ffc52f028d0
06:30:11     INFO -      r15 = 0x00007ffc52f0294f   rip = 0x00007fdd8a8ce93c
06:30:11     INFO -      rsp = 0x00007ffc52f028b0   rbp = 0x00007ffc52f02930
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  18  libxul.so!NS_ProcessNextEvent [nsThreadUtils.cpp:7ac47a347557 : 290 + 0xc]
06:30:11     INFO -      rbx = 0x0000000000000000   r12 = 0x00007fdd968ed880
06:30:11     INFO -      r13 = 0x00007fdd968f5ef0   r14 = 0x00007fdd86cdd500
06:30:11     INFO -      r15 = 0x00007ffc52f02b01   rip = 0x00007fdd8a8f48c4
06:30:11     INFO -      rsp = 0x00007ffc52f02940   rbp = 0x00007ffc52f02960
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  19  libxul.so!mozilla::ipc::MessagePump::Run [MessagePump.cpp:7ac47a347557 : 98 + 0x9]
06:30:11     INFO -      rbx = 0x00007fdd968f5ec0   r12 = 0x00007fdd968ed880
06:30:11     INFO -      r13 = 0x00007fdd968f5ef0   r14 = 0x00007fdd86cdd500
06:30:11     INFO -      r15 = 0x00007ffc52f02b01   rip = 0x00007fdd8ac625fa
06:30:11     INFO -      rsp = 0x00007ffc52f02970   rbp = 0x00007ffc52f029d0
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  20  libxul.so!MessageLoop::RunInternal [message_loop.cc:7ac47a347557 : 233 + 0x16]
06:30:11     INFO -      rbx = 0x00007fdd968ed880   r12 = 0x00007fdd86cdd500
06:30:11     INFO -      r13 = 0x00007ffc52f02cb0   r14 = 0x00007ffc52f02e11
06:30:11     INFO -      r15 = 0x00007ffc52f02b40   rip = 0x00007fdd8ac41e99
06:30:11     INFO -      rsp = 0x00007ffc52f029e0   rbp = 0x00007ffc52f02a10
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  21  libxul.so!MessageLoop::Run [message_loop.cc:7ac47a347557 : 226 + 0x7]
06:30:11     INFO -      rbx = 0x00007fdd968ed880   r12 = 0x00007fdd86cdd500
06:30:11     INFO -      r13 = 0x00007ffc52f02cb0   r14 = 0x00007ffc52f02e11
06:30:11     INFO -      r15 = 0x00007ffc52f02b40   rip = 0x00007fdd8ac41ec0
06:30:11     INFO -      rsp = 0x00007ffc52f02a20   rbp = 0x00007ffc52f02a50
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  22  libxul.so!nsBaseAppShell::Run [nsBaseAppShell.cpp:7ac47a347557 : 156 + 0xc]
06:30:11     INFO -      rbx = 0x00007fdd7c1dd710   r12 = 0x00007fdd86cdd500
06:30:11     INFO -      r13 = 0x00007ffc52f02cb0   r14 = 0x00007ffc52f02e11
06:30:11     INFO -      r15 = 0x00007ffc52f02b40   rip = 0x00007fdd8c3304c7
06:30:11     INFO -      rsp = 0x00007ffc52f02a60   rbp = 0x00007ffc52f02a70
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  23  libxul.so!nsAppStartup::Run [nsAppStartup.cpp:7ac47a347557 : 284 + 0x5]
06:30:11     INFO -      rbx = 0x00007fdd7b5101a0   r12 = 0x00007ffc52f02b48
06:30:11     INFO -      r13 = 0x00007ffc52f02cb0   r14 = 0x00007ffc52f02e11
06:30:11     INFO -      r15 = 0x00007ffc52f02b40   rip = 0x00007fdd8cb2803a
06:30:11     INFO -      rsp = 0x00007ffc52f02a80   rbp = 0x00007ffc52f02a90
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  24  libxul.so!XREMain::XRE_mainRun [nsAppRunner.cpp:7ac47a347557 : 4347 + 0x14]
06:30:11     INFO -      rbx = 0x0000000000000000   r12 = 0x00007ffc52f02b48
06:30:11     INFO -      r13 = 0x00007ffc52f02cb0   r14 = 0x00007ffc52f02e11
06:30:11     INFO -      r15 = 0x00007ffc52f02b40   rip = 0x00007fdd8cb77ad6
06:30:11     INFO -      rsp = 0x00007ffc52f02aa0   rbp = 0x00007ffc52f02c10
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  25  libxul.so!XREMain::XRE_main [nsAppRunner.cpp:7ac47a347557 : 4451 + 0x4]
06:30:11     INFO -      rbx = 0x00007ffc52f02cb0   r12 = 0x00007ffc52f02ce8
06:30:11     INFO -      r13 = 0x00007ffc52f02c48   r14 = 0x00007ffc52f02c40
06:30:11     INFO -      r15 = 0x0000000000000000   rip = 0x00007fdd8cb77fc5
06:30:11     INFO -      rsp = 0x00007ffc52f02c20   rbp = 0x00007ffc52f02c90
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  26  libxul.so!XRE_main [nsAppRunner.cpp:7ac47a347557 : 4559 + 0x10]
06:30:11     INFO -      rbx = 0x00007ffc52f02cb0   r12 = 0x0000000000000005
06:30:11     INFO -      r13 = 0x00007ffc52f04138   r14 = 0x00007ffc52f02eb0
06:30:11     INFO -      r15 = 0x00007ffc52f02e98   rip = 0x00007fdd8cb7823b
06:30:11     INFO -      rsp = 0x00007ffc52f02ca0   rbp = 0x00007ffc52f02e40
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  27  firefox!do_main [nsBrowserApp.cpp:7ac47a347557 : 220 + 0x5]
06:30:11     INFO -      rbx = 0x00007ffc52f04138   r12 = 0x0000000000000005
06:30:11     INFO -      r13 = 0x00007fdd9685e900   r14 = 0x00007ffc52f02e90
06:30:11     INFO -      r15 = 0x00007ffc52f02e98   rip = 0x0000000000406189
06:30:11     INFO -      rsp = 0x00007ffc52f02e50   rbp = 0x00007ffc52f03ee0
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  28  firefox!main [nsBrowserApp.cpp:7ac47a347557 : 360 + 0x14]
06:30:11     INFO -      rbx = 0x00007ffc52f04138   r12 = 0x0000000000000005
06:30:11     INFO -      r13 = 0x00007ffc52f04168   r14 = 0x0000000000000000
06:30:11     INFO -      r15 = 0x000002867df57e87   rip = 0x000000000040565c
06:30:11     INFO -      rsp = 0x00007ffc52f03ef0   rbp = 0x00007ffc52f04050
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  29  libc-2.15.so + 0x2176c
06:30:11     INFO -      rbx = 0x0000000000000000   r12 = 0x0000000000405748
06:30:11     INFO -      r13 = 0x00007ffc52f04130   r14 = 0x0000000000000000
06:30:11     INFO -      r15 = 0x0000000000000000   rip = 0x00007fdd96a8f76d
06:30:11     INFO -      rsp = 0x00007ffc52f04060   rbp = 0x0000000000000000
06:30:11     INFO -      Found by: call frame info
06:30:11     INFO -  30  firefox!init [replace_malloc.c:7ac47a347557 : 133 + 0x1]
06:30:11     INFO -      rip = 0x00000000004055ae   rsp = 0x00007ffc52f04080
06:30:11     INFO -      Found by: stack scanning
Flags: needinfo?(bugmail.mozilla)
Thanks, I'll look into this. Probably something unexpected happening with the touch events I synthesized for the test, leaving stuff in a bad state.
Flags: needinfo?(bugmail.mozilla)
I filed and landed bug 1270165 for the assertion failure, re-landing this shortly.
https://hg.mozilla.org/mozilla-central/rev/94c682c9371a
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 49
OS: Unspecified → Android
Version: unspecified → 45 Branch
Comment on attachment 8748341 [details]
MozReview Request: Bug 1231570 - Ensure we send a touchcancel after a prevented long-press. r?capella

Approval Request Comment
[Feature/regressing bug #]: APZ on Fennec
[User impact if declined]: Sometimes long-pressing on a link pops up a context menu but also navigates to the link
[Describe test coverage new/current, TreeHerder]: patch includes a test
[Risks and why]: relatively low risk, this behaviour is well understood but wasn't properly ported over from the older Java panning/zooming code on Fennec
[String/UUID change made/needed]: none
Attachment #8748341 - Flags: approval-mozilla-aurora?
Comment on attachment 8748341 [details]
MozReview Request: Bug 1231570 - Ensure we send a touchcancel after a prevented long-press. r?capella

APZ fix for fennec, please uplift to aurora, only after uplift of bug 1270165
Attachment #8748341 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
I'm guessing this is why I'm finding it nearly impossible to click links with today's Aurora nightly?
On Fennec?
Flags: needinfo?(ryanvm)
Yes. HTC M8 w/ Marshmallow. I see it most easily on Reddit. When I try to long-click a link, I get selection handles (and the associated menu) instead of the context menu letting me open the link in a new tab. Oddly, I was unable to even short-click links at that point either.
Flags: needinfo?(ryanvm)
I've seen something similar (short-clicking not working and long-clicking only displaying the selection handles) very recently on a local build, although in my case it was on a plain HTTP server directory listing page. A restart fixed it, although I can't quite remember whether restarting Fennec was enough, or if I had to actually reboot my phone... apart from that incident, I haven't encountered any difficulties clicking links.
I've been getting selection handles a lot as well, such as in bug 1265550. It's probably best to file these all as separate issues, because they may or may not be related. Ryan/Jan, do you guys mind filing separate bugs with as much info/STR you can provide? Thanks.
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.