[Screen Reader] B2G Crashes when using the 2-finger swipe

RESOLVED DUPLICATE of bug 1228028

Status

()

Core
Panning and Zooming
RESOLVED DUPLICATE of bug 1228028
2 years ago
2 years ago

People

(Reporter: julienw, Unassigned)

Tracking

({access})

unspecified
ARM
Gonk (Firefox OS)
access
Points:
---

Firefox Tracking Flags

(b2g-v2.5 unaffected, b2g-master affected)

Details

Attachments

(2 attachments)

(Reporter)

Description

2 years ago
STR:
1. enable screen reader in settings.
2. try to do the 2-finger vertical swipe

=> Firefox OS reboots.

Aries, latest master eng build (BuildID is 20151127104912).

qawanted for a branch check; thanks !
I can't reproduce this. What is this 2-finger vertical swipe supposed to do in screenreader? And where are you performing this 2-finger vertical swipe (home screen? settings?)

I'm using 2-finger swiping down and up on homescreen and settings multiple times and don't see anything in Aries and Flame both central builds.
Flags: needinfo?(felash)
This bug can be repro on the latest build of Aries KK master and Flame KK master by the following STR.
STR:
1.Enable screen reader in settings.
2.Choose a interface(wherever the interface is)
3.Use 2- finger sliding screen (Random direction)
Actually result: Firefox OS reboots.
See attachment: Aries_v2.6.3gp&logcat_1634.txt.
Found time: 16:34.
Reproduce rate: 15/30.

Device: Aries KK Master (affected)
Build ID               20151130132518
Gaia Revision          702773bee0b70e479ccebe5e061f571e977bc376
Gaia Date              2015-11-30 02:51:04
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/a18630f9ab42ddfde03ba8c7757a42069c48c7ed
Gecko Version          45.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20151130.124429
Firmware Date          Mon Nov 30 12:44:37 UTC 2015
Bootloader             s1

Device: Flame KK Master 512mb (affected)
Build ID               20151130150225
Gaia Revision          702773bee0b70e479ccebe5e061f571e977bc376
Gaia Date              2015-11-30 02:51:04
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/a18630f9ab42ddfde03ba8c7757a42069c48c7ed
Gecko Version          45.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20151130.184049
Firmware Date          Mon Nov 30 18:40:59 EST 2015
Firmware Version       v18D v4
Bootloader             L1TC000118D0

Device: Aries KK v2.5 (unaffected)
Build ID               20151130171620
Gaia Revision          391bcad1b3b427f189f4c7f11858fc739574682e
Gaia Date              2015-11-30 15:51:31
Gecko Revision         http://hg.mozilla.org/releases/mozilla-b2g44_v2_5/rev/1a022b4b67446b50f36c098aa425c65782af9066
Gecko Version          44.0a2
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20151130.164746
Firmware Date          Mon Nov 30 16:47:54 UTC 2015
Bootloader             s1

Device: Flame KK v2.5 512mb (unaffected)
Build ID               20151130173516
Gaia Revision          391bcad1b3b427f189f4c7f11858fc739574682e
Gaia Date              2015-11-30 15:51:31
Gecko Revision         http://hg.mozilla.org/releases/mozilla-b2g44_v2_5/rev/1a022b4b67446b50f36c098aa425c65782af9066
Gecko Version          44.0a2
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20151130.164630
Firmware Date          Mon Nov 30 16:46:40 UTC 2015
Firmware Version       v18D v4
Bootloader             L1TC000118D0
Created attachment 8694100 [details]
Aries_v2.6.3gp
Created attachment 8694101 [details]
logcat_1634.txt
QA Whiteboard: [MGSEI-Triage+]
status-b2g-v2.5: --- → unaffected
status-b2g-master: --- → affected
Keywords: qawanted
(Reporter)

Comment 5

2 years ago
With gecko git hash: b4fae5d56f365139b983029f26dc94bb66766ba1
( Bug 1228544 - [firefox-ui-tests] Disable usage of proxxy server. r=armenzg a=tomcat DONTBUILD )



Full stack:

Program received signal SIGSEGV, Segmentation fault.
0xb4a4396c in DeltaTypeForDeltaMode (aDeltaMode=<optimized out>) at /home/julien/travail/git/gecko-dev/widget/InputData.h:557
557	        MOZ_CRASH();
(gdb) bt
#0  0xb4a4396c in DeltaTypeForDeltaMode (aDeltaMode=<optimized out>) at /home/julien/travail/git/gecko-dev/widget/InputData.h:557
#1  mozilla::ScrollWheelInput::ScrollWheelInput (this=0xa8dda318, aWheelEvent=...) at /home/julien/travail/git/gecko-dev/widget/InputData.cpp:372
#2  0xb4a40464 in DispatchWheelInputOnControllerThread (aWidget=0xaff58f60, aAPZC=0xaa754ec0, aWheelEvent=..., this=0xa8dda310) at ../../widget/nsBaseWidget.cpp:1090
#3  nsBaseWidget::DispatchAPZAwareEvent (this=0xaff58f60, aEvent=<optimized out>) at ../../widget/nsBaseWidget.cpp:1132
#4  0xb42f0136 in nsDOMWindowUtils::SendWheelEvent (this=0xadc61500, aX=63.5, aY=<optimized out>, aDeltaX=0, aDeltaY=1, aDeltaZ=0, aDeltaMode=2, aModifiers=0, aLineOrPageDeltaX=0, aLineOrPageDeltaY=0, 
    aOptions=0) at ../../../dom/base/nsDOMWindowUtils.cpp:813
#5  0xb3e5601a in NS_InvokeByIndex (that=<optimized out>, methodIndex=<optimized out>, paramCount=<optimized out>, params=<optimized out>)
    at ../../../../../../xpcom/reflect/xptcall/md/unix/xptcinvoke_arm.cpp:163
#6  0xb412d2f2 in Invoke (this=0xbe9355b0) at /home/julien/travail/git/gecko-dev/js/xpconnect/src/XPCWrappedNative.cpp:2097
#7  Call (this=0xbe9355b0) at /home/julien/travail/git/gecko-dev/js/xpconnect/src/XPCWrappedNative.cpp:1414
#8  XPCWrappedNative::CallMethod (ccx=..., mode=mode@entry=XPCWrappedNative::CALL_METHOD) at /home/julien/travail/git/gecko-dev/js/xpconnect/src/XPCWrappedNative.cpp:1381
#9  0xb412d738 in XPC_WN_CallMethod (cx=0xb201f040, argc=10, vp=0xb097c0e0) at /home/julien/travail/git/gecko-dev/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1115
#10 0xb52e1ca6 in CallJSNative (args=..., native=0xb412d645 <XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*)>, cx=0xb201f040) at ../../../js/src/jscntxtinlines.h:235
#11 js::Invoke (cx=0xb201f040, args=..., construct=<optimized out>) at /home/julien/travail/git/gecko-dev/js/src/vm/Interpreter.cpp:444
#12 0xb52deeb0 in Interpret (cx=0xb201f040, state=...) at /home/julien/travail/git/gecko-dev/js/src/vm/Interpreter.cpp:2763
#13 0xb52e19cc in js::RunScript (cx=cx@entry=0xb201f040, state=...) at /home/julien/travail/git/gecko-dev/js/src/vm/Interpreter.cpp:391
#14 0xb52e1cfa in js::Invoke (cx=cx@entry=0xb201f040, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/julien/travail/git/gecko-dev/js/src/vm/Interpreter.cpp:462
#15 0xb52e2348 in js::Invoke (cx=cx@entry=0xb201f040, thisv=..., fval=..., argc=<optimized out>, argv=argv@entry=0xbe935e88, rval=rval@entry=...)
    at /home/julien/travail/git/gecko-dev/js/src/vm/Interpreter.cpp:496
#16 0xb5248d54 in JS_CallFunctionValue (cx=0xb201f040, obj=obj@entry=..., fval=fval@entry=..., args=..., rval=rval@entry=...) at /home/julien/travail/git/gecko-dev/js/src/jsapi.cpp:2790
#17 0xb42f4572 in nsFrameMessageManager::ReceiveMessage (this=0xab9274c0, aTarget=0xabe8d430, aTargetFrameLoader=0xacdb7240, aTargetClosed=aTargetClosed@entry=false, aMessage=..., aIsSync=aIsSync@entry=false, 
    aCloneData=aCloneData@entry=0xbe935fe0, aCpows=aCpows@entry=0xbe935fd4, aPrincipal=aPrincipal@entry=0x0, aRetVal=aRetVal@entry=0x0) at ../../../dom/base/nsFrameMessageManager.cpp:1229
#18 0xb42f482a in nsFrameMessageManager::ReceiveMessage (this=<optimized out>, aTarget=<optimized out>, aTargetFrameLoader=<optimized out>, aMessage=..., aIsSync=aIsSync@entry=false, 
    aCloneData=aCloneData@entry=0xbe935fe0, aCpows=aCpows@entry=0xbe935fd4, aPrincipal=aPrincipal@entry=0x0, aRetVal=aRetVal@entry=0x0) at ../../../dom/base/nsFrameMessageManager.cpp:1042
#19 0xb49854e4 in mozilla::dom::TabParent::ReceiveMessage (this=this@entry=0xaa65fc00, aMessage=..., aSync=aSync@entry=false, aData=aData@entry=0xbe935fe0, aCpows=aCpows@entry=0xbe935fd4, aPrincipal=0x0, 
    aRetVal=aRetVal@entry=0x0) at /home/julien/travail/git/gecko-dev/dom/ipc/TabParent.cpp:2532
#20 0xb498556e in mozilla::dom::TabParent::RecvAsyncMessage(nsString const&, mozilla::dom::ClonedMessageData const&, nsTArray<mozilla::jsipc::CpowEntry>&&, IPC::Principal const&) (this=0xaa65fc00, 
    aMessage=..., aData=..., aCpows=..., aPrincipal=...) at /home/julien/travail/git/gecko-dev/dom/ipc/TabParent.cpp:1811
#21 0xb40aa9e4 in mozilla::dom::PBrowserParent::OnMessageReceived (this=0xaa65fc00, msg__=...) at PBrowserParent.cpp:1731
#22 0xb40d7458 in mozilla::dom::PContentParent::OnMessageReceived (this=0xaaa1d000, msg__=...) at PContentParent.cpp:3649
#23 0xb3fbd090 in mozilla::ipc::MessageChannel::DispatchAsyncMessage (this=0xaaa1d038, aMsg=...) at /home/julien/travail/git/gecko-dev/ipc/glue/MessageChannel.cpp:1385
#24 0xb3fc18b0 in mozilla::ipc::MessageChannel::DispatchMessage (this=this@entry=0xaaa1d038, aMsg=...) at /home/julien/travail/git/gecko-dev/ipc/glue/MessageChannel.cpp:1305
#25 0xb3fc38d6 in mozilla::ipc::MessageChannel::OnMaybeDequeueOne (this=0xaaa1d038) at /home/julien/travail/git/gecko-dev/ipc/glue/MessageChannel.cpp:1276
#26 0xb3e2f486 in details::CallMethod<, FdWatcher, void (FdWatcher::*)()>(mozilla::IndexSequence<>, FdWatcher*, void (FdWatcher::*)(), mozilla::Tuple<>&) (obj=obj@entry=0xaaa1d038, 
    method=(void (FdWatcher::*)(FdWatcher * const)) 0xb3fc387b <mozilla::ipc::MessageChannel::OnMaybeDequeueOne()>, arg=...) at ../../../ipc/chromium/src/base/task.h:28
#27 0xb3e2f4aa in DispatchTupleToMethod<FdWatcher, void (FdWatcher::*)()> (arg=..., method=(void (FdWatcher::*)(FdWatcher * const)) 0xb3fc387b <mozilla::ipc::MessageChannel::OnMaybeDequeueOne()>, 
    obj=0xaaa1d038) at ../../../ipc/chromium/src/base/task.h:46
#28 RunnableMethod<FdWatcher, void (FdWatcher::*)(), mozilla::Tuple<> >::Run() (this=<optimized out>) at ../../../ipc/chromium/src/base/task.h:307
#29 0xb3fbb9f0 in Run (this=<optimized out>) at ../../dist/include/mozilla/ipc/MessageChannel.h:472
#30 mozilla::ipc::MessageChannel::DequeueTask::Run (this=<optimized out>) at ../../dist/include/mozilla/ipc/MessageChannel.h:489
#31 0xb3fabfcc in MessageLoop::RunTask (this=0xb1ee51a0, task=0xa8ea1998) at /home/julien/travail/git/gecko-dev/ipc/chromium/src/base/message_loop.cc:364
#32 0xb3fae6da in MessageLoop::DeferOrRunPendingTask (this=<optimized out>, pending_task=...) at /home/julien/travail/git/gecko-dev/ipc/chromium/src/base/message_loop.cc:372
#33 0xb3fb0320 in DoWork (this=<optimized out>) at /home/julien/travail/git/gecko-dev/ipc/chromium/src/base/message_loop.cc:459
#34 MessageLoop::DoWork (this=0xb1ee51a0) at /home/julien/travail/git/gecko-dev/ipc/chromium/src/base/message_loop.cc:438
#35 0xb3fbbf90 in mozilla::ipc::DoWorkRunnable::Run (this=<optimized out>) at /home/julien/travail/git/gecko-dev/ipc/glue/MessagePump.cpp:220
#36 0xb3e51060 in ProcessNextEvent (aResult=0xbe93652f, aMayWait=true, this=0xb6a025c0) at /home/julien/travail/git/gecko-dev/xpcom/threads/nsThread.cpp:964
#37 nsThread::ProcessNextEvent (this=0xb6a025c0, aMayWait=<optimized out>, aResult=0xbe93652f) at /home/julien/travail/git/gecko-dev/xpcom/threads/nsThread.cpp:849
#38 0xb3e628ce in NS_ProcessNextEvent (aThread=<optimized out>, aMayWait=aMayWait@entry=true) at /home/julien/travail/git/gecko-dev/xpcom/glue/nsThreadUtils.cpp:297
#39 0xb3fbec06 in mozilla::ipc::MessagePump::Run (this=0xb6a55970, aDelegate=0xb1ee51a0) at /home/julien/travail/git/gecko-dev/ipc/glue/MessagePump.cpp:127
#40 0xb3fabf58 in MessageLoop::RunInternal (this=this@entry=0xb1ee51a0) at /home/julien/travail/git/gecko-dev/ipc/chromium/src/base/message_loop.cc:234
#41 0xb3fac00c in RunHandler (this=0xb1ee51a0) at /home/julien/travail/git/gecko-dev/ipc/chromium/src/base/message_loop.cc:227
#42 MessageLoop::Run (this=0xb1ee51a0) at /home/julien/travail/git/gecko-dev/ipc/chromium/src/base/message_loop.cc:201
#43 0xb4a499d6 in nsBaseAppShell::Run (this=0xb6ac9160) at /home/julien/travail/git/gecko-dev/widget/nsBaseAppShell.cpp:156
#44 0xb4dcb7f6 in nsAppStartup::Run (this=0xb20760d0) at /home/julien/travail/git/gecko-dev/toolkit/components/startup/nsAppStartup.cpp:281
#45 0xb4deda22 in XREMain::XRE_mainRun (this=this@entry=0xbe936698) at ../../../toolkit/xre/nsAppRunner.cpp:4290
#46 0xb4dedc2a in XREMain::XRE_main (this=this@entry=0xbe936698, argc=argc@entry=1, argv=argv@entry=0xb6a2b190, aAppData=aAppData@entry=0xb6f2ac90 <_ZL8sAppData>) at ../../../toolkit/xre/nsAppRunner.cpp:4383
#47 0xb4dedda6 in XRE_main (argc=1, argv=0xb6a2b190, aAppData=0xb6f2ac90 <_ZL8sAppData>, aFlags=<optimized out>) at ../../../toolkit/xre/nsAppRunner.cpp:4485
#48 0xb6f0ca84 in do_main (argc=argc@entry=1, argv=argv@entry=0xb6a2b190) at ../../../b2g/app/nsBrowserApp.cpp:167
#49 0xb6f0cb92 in b2g_main (argc=argc@entry=1, argv=argv@entry=0xbe937954) at ../../../b2g/app/nsBrowserApp.cpp:299
#50 0xb6f0c924 in RunProcesses (aReservedFds=..., argv=0xbe937954, argc=1) at ../../../b2g/app/B2GLoader.cpp:232
#51 main (argc=1, argv=0xbe937954) at ../../../b2g/app/B2GLoader.cpp:297
Flags: needinfo?(felash)
(Reporter)

Updated

2 years ago
Keywords: regressionwindow-wanted
(Reporter)

Comment 6

2 years ago
Looks like an input crash.
Component: Gaia::System::Accessibility → DOM: Events
Product: Firefox OS → Core
(Reporter)

Updated

2 years ago
Component: DOM: Events → General
(Reporter)

Updated

2 years ago
Component: General → Panning and Zooming
(Reporter)

Comment 7

2 years ago
(In reply to Pi Wei Cheng [:piwei] from comment #1)
> I can't reproduce this. What is this 2-finger vertical swipe supposed to do
> in screenreader? And where are you performing this 2-finger vertical swipe
> (home screen? settings?)
> 
> I'm using 2-finger swiping down and up on homescreen and settings multiple
> times and don't see anything in Aries and Flame both central builds.

I use it on homescreen. You need to swipe quite fast (not like a "tap and drag" but really a quick vertical swipe move).
(Reporter)

Comment 8

2 years ago
when debugging, I see that aDeltaMode equals 2, which is likely "page", because this is what the 2-finger swipe is doing when the screen reader is enabled. From "InputData.h", we read that "page" is not supported with APZ, see [1].

[1] https://dxr.mozilla.org/mozilla-central/source/widget/InputData.h#539-546

Kats, any idea ?
Flags: needinfo?(bugmail.mozilla)
Thanks Julien for the info. This looks like the same issue as bug 1228028 on B2GDroid. Marking as a dependency for now, and I'll poke sgiles there to see if he's made any progress.
Depends on: 1228028
Flags: needinfo?(bugmail.mozilla)
QA Contact: sleedavid
(Reporter)

Updated

2 years ago
Keywords: regressionwindow-wanted
QA Contact: sleedavid
This should be fixed now. Note that the two-finger swipe doesn't actually do a page down because some code somewhere is calling preventDefault on the wheel event. At least it doesn't crash though.
Status: NEW → RESOLVED
Last Resolved: 2 years ago
No longer depends on: 1228028
Resolution: --- → DUPLICATE
Duplicate of bug: 1228028
(Reporter)

Comment 11

2 years ago
Thanks a lot Kats, at least I can continue trying this now :D
You need to log in before you can comment on or make changes to this bug.