Closed Bug 1149412 Opened 11 years ago Closed 11 years ago

F/MOZ_Assert( 179): Assertion failure: mTouchMoveEvents.empty(), at ../../../gecko/widget/gonk/GeckoTouchDispatcher.cpp:172

Categories

(Core Graveyard :: Widget: Gonk, defect)

All
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.2+, firefox38 wontfix, firefox39 wontfix, firefox40 fixed, b2g-v2.2 fixed, b2g-master fixed)

RESOLVED FIXED
mozilla40
blocking-b2g 2.2+
Tracking Status
firefox38 --- wontfix
firefox39 --- wontfix
firefox40 --- fixed
b2g-v2.2 --- fixed
b2g-master --- fixed

People

(Reporter: kanru, Assigned: kats)

References

Details

(Keywords: regression)

Attachments

(1 file)

STR: 1. Build B2G with B2G_DEBUG=y and MOZ_ENABLE_WARNINGS_AS_ERRORS=1 2. Flash and reboot 3. Touch to unlock screen Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 179.654] 0xb4ffa55e in mozilla::GeckoTouchDispatcher::DispatchTouchMoveEvents (this=0xafd2dfa0, this@entry=0xaf887ba0, aVsyncTime=...) at ../../../gecko/widget/gonk/GeckoTouchDispatcher.cpp:172 172 MOZ_ASSERT(mTouchMoveEvents.empty()); (gdb) bt #0 0xb4ffa55e in mozilla::GeckoTouchDispatcher::DispatchTouchMoveEvents (this=0xafd2dfa0, this@entry=0xaf887ba0, aVsyncTime=...) at ../../../gecko/widget/gonk/GeckoTouchDispatcher.cpp:172 #1 0xb4ffa69c in mozilla::GeckoTouchDispatcher::NotifyVsync (this=0xaf887ba0, this@entry=0xafd2dfa0, aVsyncTimestamp=...) at ../../../gecko/widget/gonk/GeckoTouchDispatcher.cpp:103 #2 0xb4ffa6c8 in mozilla::GeckoTouchDispatcher::DispatchTouchNonMoveEvent (this=0xafd2dfa0, aInput=...) at ../../../gecko/widget/gonk/GeckoTouchDispatcher.cpp:153 #3 0xb4ff9dcc in DispatchToMethod<mozilla::GeckoTouchDispatcher, void (mozilla::GeckoTouchDispatcher::*)(mozilla::MultiTouchInput), mozilla::MultiTouchInput> (arg=..., method= (void (mozilla::GeckoTouchDispatcher::*)(mozilla::GeckoTouchDispatcher * const, mozilla::MultiTouchInput)) 0xb4ffa6a5 <mozilla::GeckoTouchDispatcher::DispatchTouchNonMoveEvent(mozilla::MultiTouchInput)>, obj=<optimized out>) at ../../../gecko/ipc/chromium/src/base/tuple.h:393 #4 RunnableMethod<mozilla::GeckoTouchDispatcher, void (mozilla::GeckoTouchDispatcher::*)(mozilla::MultiTouchInput), Tuple1<mozilla::MultiTouchInput> >::Run (this=<optimized out>) at ../../../gecko/ipc/chromium/src/base/task.h:310 #5 0xb42cd9b0 in MessageLoop::RunTask (this=0xaf887cc0, task=0xabf4fb00) at ../../../gecko/ipc/chromium/src/base/message_loop.cc:361 #6 0xb42d0876 in MessageLoop::DeferOrRunPendingTask (this=<optimized out>, pending_task=...) at ../../../gecko/ipc/chromium/src/base/message_loop.cc:369 #7 0xb42d273c in DoWork (this=<optimized out>) at ../../../gecko/ipc/chromium/src/base/message_loop.cc:456 #8 MessageLoop::DoWork (this=0xaf887cc0) at ../../../gecko/ipc/chromium/src/base/message_loop.cc:435 #9 0xb42ce2a8 in base::MessagePumpDefault::Run (this=0xafdef920, delegate=0xaf887cc0) at ../../../gecko/ipc/chromium/src/base/message_pump_default.cc:34 #10 0xb42ce224 in MessageLoop::RunInternal (this=this@entry=0xaf887cc0) at ../../../gecko/ipc/chromium/src/base/message_loop.cc:233 #11 0xb42ce23e in RunHandler (this=0xaf887cc0) at ../../../gecko/ipc/chromium/src/base/message_loop.cc:226 #12 MessageLoop::Run (this=this@entry=0xaf887cc0) at ../../../gecko/ipc/chromium/src/base/message_loop.cc:200 #13 0xb42d442c in base::Thread::ThreadMain (this=0xafdf2460) at ../../../gecko/ipc/chromium/src/base/thread.cc:170 #14 0xb42d2a20 in ThreadFunc (closure=<optimized out>) at ../../../gecko/ipc/chromium/src/base/platform_thread_posix.cc:39 #15 0xb6e91174 in __thread_entry (func=0xb42d2a19 <ThreadFunc(void*)>, arg=0xafdf2460, tls=0xaf887dd0) at bionic/libc/bionic/pthread_create.cpp:105 #16 0xb6e9130c in pthread_create (thread_out=0xafdf2468, attr=<optimized out>, start_routine=0xb42d2a19 <ThreadFunc(void*)>, arg=0x78) at bionic/libc/bionic/pthread_create.cpp:224 #17 0x00000000 in ?? () (gdb) p mTouchMoveEvents $1 = {<std::priv::_Vector_base<mozilla::MultiTouchInput, std::allocator<mozilla::MultiTouchInput> >> = {_M_start = 0xaadeaa00, _M_finish = 0xaadeaa20, _M_end_of_storage = {<std::allocator<mozilla::MultiTouchInput>> = {<std::__stlport_class<std::allocator<mozilla::MultiTouchInput> >> = {<No data fields>}, <No data fields>}, _M_data = 0xaadeaa80}}, <No data fields>}
OS: Linux → Gonk (Firefox OS)
Hardware: x86_64 → All
Blocks: 1146987
Flags: needinfo?(bugmail.mozilla)
Keywords: regression
Build ID 20150331144843 Gaia Revision febc780ed1ba8e52d5797f36316a952548eda053 Gaia Date 2015-03-06 02:42:35 Gecko Revision n/a Gecko Version 40.0a1 Device Name mako Firmware(Release) 4.4.2 Firmware(Incremental) eng.kanru.20141107.093658 Firmware Date Fri Nov 7 09:37:09 CST 2014 Bootloader MAKOZ20i
Thanks for catching this!
Assignee: nobody → bugmail.mozilla
Flags: needinfo?(bugmail.mozilla)
Attached patch Remove assertionSplinter Review
The assertion is actually wrong. In the resampling case, we leave one move event in the queue to be resampled in the future. In fact that's the reason I added the flag in the first place, instead of just using mTouchMoveEvents.size() as the condition. The flag really means "do we have touch moves pending in the queue that we still need to process".
Attachment #8586053 - Flags: review?(mchang)
Attachment #8586053 - Flags: review?(mchang) → review+
Blocks: 1146907, CAF-v2.2-metabug
No longer blocks: 1146987
blocking-b2g: --- → 2.2?
Assuming that was a typo
Blocks: 1146987
No longer blocks: 1146907
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
blocking-b2g: 2.2? → 2.2+
Comment on attachment 8586053 [details] [diff] [review] Remove assertion NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings. [Approval Request Comment] Bug caused by (feature/regressing bug #): bug 1146987 User impact if declined: debug builds with bug 1146987 may trigger asserions and crash Testing completed: none really, it just takes out the incorrect assertion that was causing crashes Risk to taking this patch (and alternatives if risky): very low, affects debug builds only String or UUID changes made by this patch: none
Attachment #8586053 - Flags: approval-mozilla-b2g37?
Attachment #8586053 - Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: