Closed
Bug 819286
Opened 13 years ago
Closed 13 years ago
Crash when browser tab closes while zooming
Categories
(Core :: DOM: Core & HTML, defect, P2)
Tracking
()
People
(Reporter: martijn.martijn, Assigned: fabrice)
References
()
Details
(Keywords: crash, testcase)
Attachments
(2 files)
828 bytes,
patch
|
Details | Diff | Splinter Review | |
859 bytes,
patch
|
cjones
:
review+
|
Details | Diff | Splinter Review |
Steps to reproduce:
- Visit url testcase
- Tap on the button, a new window opens
- Double tap on the button, or make a pinch zoom gesture
Expected result: no crash
Actual result: crash
Reporter | ||
Updated•13 years ago
|
blocking-basecamp: --- → ?
![]() |
||
Comment 1•13 years ago
|
||
BB+, P2 - severe usability issue
Assignee: nobody → ben
blocking-basecamp: ? → +
Priority: -- → P2
Comment 2•13 years ago
|
||
Thanks for the test case. I can reproduce a full crash of B2G.
This is what I see in logcat http://pastebin.mozilla.org/1985278
Justin, any idea where to start with this?
Severity: critical → normal
Comment 3•13 years ago
|
||
- Figure out which process is crashing (browser process or main process). You probably already have this figured out, but it's not clear from the bug.
- Attach gdb
- Reproduce the crash
- (gdb) bt
Component: Gaia::Browser → DOM: Core & HTML
Product: Boot2Gecko → Core
QA Contact: nhirata.bugzilla
Assignee | ||
Comment 4•13 years ago
|
||
I tested with current inbound and gaia tip, and got no crash.
Assignee | ||
Comment 5•13 years ago
|
||
Hm, forget the previous comment. I can actually crash when double clicking on the button, but not when using pinch to zoom. I'll get a backtrace.
Assignee | ||
Comment 6•13 years ago
|
||
Program received signal SIGSEGV, Segmentation fault.
nsEventStateManager::MapEventCoordinatesForChildProcess (aFrameLoader=0x0, aEvent=0xbe8200c0)
at /home/fabrice/dev/inbound/content/events/src/nsEventStateManager.cpp:1590
1590 nsIFrame* targetFrame = aFrameLoader->GetPrimaryFrameOfOwningContent();
(gdb) bt
#0 nsEventStateManager::MapEventCoordinatesForChildProcess (aFrameLoader=0x0, aEvent=0xbe8200c0)
at /home/fabrice/dev/inbound/content/events/src/nsEventStateManager.cpp:1590
#1 0x41055e32 in mozilla::dom::TabParent::TryCapture (this=0x492a87a0, aEvent=<value optimized out>)
at /home/fabrice/dev/inbound/dom/ipc/TabParent.cpp:484
#2 0x40fd9006 in nsWindow::DispatchInputEvent (aEvent=..., aWasCaptured=0xbe820647) at /home/fabrice/dev/inbound/widget/gonk/nsWindow.cpp:278
#3 0x40fd816a in sendTouchEvent (this=<value optimized out>) at /home/fabrice/dev/inbound/widget/gonk/nsAppShell.cpp:197
#4 GeckoInputDispatcher::dispatchOnce (this=<value optimized out>) at /home/fabrice/dev/inbound/widget/gonk/nsAppShell.cpp:443
#5 0x40fd73b0 in nsAppShell::ProcessNextNativeEvent (this=0x4293b6a0, mayWait=<value optimized out>)
at /home/fabrice/dev/inbound/widget/gonk/nsAppShell.cpp:725
#6 0x40ff40fa in nsBaseAppShell::DoProcessNextNativeEvent (this=0xbe8205e0, mayWait=71, recursionDepth=1227524000)
at /home/fabrice/dev/inbound/widget/xpwidgets/nsBaseAppShell.cpp:139
#7 0x40ff41c0 in nsBaseAppShell::OnProcessNextEvent (this=0x4293b6a0, thr=0x40409880, mayWait=false, recursionDepth=0)
at /home/fabrice/dev/inbound/widget/xpwidgets/nsBaseAppShell.cpp:286
#8 0x41171aca in nsThread::ProcessNextEvent (this=0x40409880, mayWait=false, result=0xbe820817)
at /home/fabrice/dev/inbound/xpcom/threads/nsThread.cpp:600
#9 0x41151db2 in NS_ProcessNextEvent_P (thread=0x4293b6a0, mayWait=false)
at /home/fabrice/dev/b2g/B2G/objdir-gecko/xpcom/build/nsThreadUtils.cpp:221
#10 0x410693fc in mozilla::ipc::MessagePump::Run (this=0x40402400, aDelegate=0x4042d0c0) at /home/fabrice/dev/inbound/ipc/glue/MessagePump.cpp:82
#11 0x4119383c in MessageLoop::RunInternal (this=0x0) at /home/fabrice/dev/inbound/ipc/chromium/src/base/message_loop.cc:215
#12 0x411938f2 in MessageLoop::RunHandler (this=0x4042d0c0) at /home/fabrice/dev/inbound/ipc/chromium/src/base/message_loop.cc:208
#13 MessageLoop::Run (this=0x4042d0c0) at /home/fabrice/dev/inbound/ipc/chromium/src/base/message_loop.cc:182
#14 0x40ff3cc0 in nsBaseAppShell::Run (this=0x4293b6a0) at /home/fabrice/dev/inbound/widget/xpwidgets/nsBaseAppShell.cpp:163
#15 0x40f50acc in nsAppStartup::Run (this=0x42c8b910) at /home/fabrice/dev/inbound/toolkit/components/startup/nsAppStartup.cpp:291
#16 0x40993420 in XREMain::XRE_mainRun (this=0xbe8209d4) at /home/fabrice/dev/inbound/toolkit/xre/nsAppRunner.cpp:3824
#17 0x40995bec in XREMain::XRE_main (this=0xbe8209d4, argc=<value optimized out>, argv=0xbe822bb4, aAppData=<value optimized out>)
at /home/fabrice/dev/inbound/toolkit/xre/nsAppRunner.cpp:3891
#18 0x40995d50 in XRE_main (argc=1, argv=0xbe822bb4, aAppData=0x1f184, aFlags=<value optimized out>)
at /home/fabrice/dev/inbound/toolkit/xre/nsAppRunner.cpp:4089
#19 0x0000a15e in do_main (argc=1, argv=0xbe822bb4) at /home/fabrice/dev/inbound/b2g/app/nsBrowserApp.cpp:164
#20 main (argc=1, argv=0xbe822bb4) at /home/fabrice/dev/inbound/b2g/app/nsBrowserApp.cpp:253
Assignee | ||
Comment 7•13 years ago
|
||
That patch prevents the crash, but is probably not doing what we should (how do we end up with a null mFrameElement in the first place?).
Attachment #690639 -
Flags: feedback?(jones.chris.g)
Comment on attachment 690639 [details] [diff] [review]
wip
Hm yeah, this is really bad.
We should also set sEventCapturer to null here, because this TabParent can't do anything without a frameloader and we may trying to send events to the wrong place.
Attachment #690639 -
Flags: feedback?(jones.chris.g)
Assignee | ||
Comment 9•13 years ago
|
||
Assignee: ben → fabrice
Attachment #690711 -
Flags: review?(jones.chris.g)
![]() |
||
Updated•13 years ago
|
Attachment #690711 -
Flags: review?(jones.chris.g) → review+
Assignee | ||
Comment 10•13 years ago
|
||
![]() |
||
Comment 11•13 years ago
|
||
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
Comment 12•13 years ago
|
||
Updated•13 years ago
|
status-b2g18:
--- → fixed
Whiteboard: [status-b2g18:fixed]
You need to log in
before you can comment on or make changes to this bug.
Description
•