Closed Bug 848913 Opened 12 years ago Closed 11 years ago

crash in MetroWidget::GetLayerManager with abort message: "Couldn't create layer manager"

Categories

(Core Graveyard :: Widget: WinRT, defect)

22 Branch
All
Windows 8.1
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: scoobidiver, Unassigned)

References

Details

(Keywords: crash, regression, Whiteboard: [metro-crash])

Crash Data

It's #3 browser crasher in MetroFirefox and first showed up in 22.0a1/20130305. The regression range is: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=86c98c4d36da&tochange=015da7030aab It's likely a regression from bug 839808. Signature mozalloc_abort(char const* const) | NS_DebugBreak_P | MetroWidget::GetLayerManager(mozilla::layers::PLayersChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*) More Reports Search UUID 39110856-1f46-4412-9df2-5a79b2130307 Date Processed 2013-03-07 18:12:47 Uptime 56 Install Age 56 seconds since version was first installed. Install Time 2013-03-07 18:11:45 Product MetroFirefox Version 22.0a1 Build ID 20130307030926 Release Channel nightly OS Windows NT OS Version 6.2.9200 Build Architecture x86 Build Architecture Info GenuineIntel family 6 model 42 stepping 7 Crash Reason EXCEPTION_BREAKPOINT Crash Address 0x73511999 App Notes AdapterVendorID: 0x1002, AdapterDeviceID: 0x68a8, AdapterSubsysID: 050e1025, AdapterDriverVersion: 8.982.0.0 D2D! D2D+ DWrite? DWrite+ D3D10 Layers! D3D10 Layers+ xpcom_runtime_abort(###!!! ABORT: Couldn't create layer manager: file e:/builds/moz2_slave/m-cen-w32-ntly-000000000000000/build/widget/windows/winrt/MetroWidget.cpp, line 843) Processor Notes sp-processor06.phx1.mozilla.com_22306:2008; WARNING: JSON file missing Add-ons EMCheckCompatibility True Adapter Vendor ID 0x1002 Adapter Device ID 0x68a8 Total Virtual Memory 4294836224 Available Virtual Memory 3859263488 System Memory Use Percentage 54 Available Page File 5023174656 Available Physical Memory 1345716224 Accessibility Active Frame Module Signature Source 0 mozalloc.dll mozalloc_abort memory/mozalloc/mozalloc_abort.cpp:30 1 xul.dll NS_DebugBreak_P xpcom/base/nsDebugImpl.cpp:417 2 xul.dll MetroWidget::GetLayerManager widget/windows/winrt/MetroWidget.cpp:843 3 xul.dll PresShell::Paint layout/base/nsPresShell.cpp:5518 4 xul.dll nsViewManager::Refresh view/src/nsViewManager.cpp:335 5 xul.dll nsView::PaintWindow view/src/nsView.cpp:972 6 xul.dll MetroWidget::Paint widget/windows/winrt/MetroWidget.cpp:917 7 xul.dll mozilla::widget::winrt::FrameworkView::Render widget/windows/winrt/FrameworkViewGfx.cpp:71 8 xul.dll MetroWidget::WindowProcedure widget/windows/winrt/MetroWidget.cpp:654 9 xul.dll MetroWidget::StaticWindowProcedure widget/windows/winrt/MetroWidget.cpp:629 10 user32.dll InternalCallWinProc 11 user32.dll GetRealWindowOwner 12 user32.dll DispatchClientMessage 13 user32.dll __fnDWORD 14 ntdll.dll KiUserCallbackDispatcher 15 ntdll.dll KiUserApcDispatcher 16 user32.dll DispatchMessageW 17 windows.ui.dll Windows::UI::Core::CDispatcher::ProcessMessage d:\w8rtm\windows\advcore\winrt\iwindow\corewindow\dispatcher.cpp:116 18 xul.dll nsTArray_base<nsTArrayInfallibleAllocator>::ShiftData obj-firefox/dist/include/nsTArray-inl.h:234 19 windows.ui.dll Microsoft::WRL::Details::RuntimeClassBaseT<3>::AsIID<Microsoft::WRL::Details::Ru d:\w8rtm.public.x86fre\sdk\inc\wrl\implements.h:282 20 xul.dll MetroAppShell::ProcessOneNativeEventIfPresent widget/windows/winrt/MetroAppShell.cpp:128 21 xul.dll nsBaseAppShell::OnProcessNextEvent widget/xpwidgets/nsBaseAppShell.cpp:280 22 xul.dll nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:600 23 xul.dll NS_ProcessPendingEvents_P obj-firefox/xpcom/build/nsThreadUtils.cpp:188 24 xul.dll nsBaseAppShell::NativeEventCallback widget/xpwidgets/nsBaseAppShell.cpp:97 25 xul.dll MetroAppShell::NativeCallback widget/windows/winrt/MetroAppShell.cpp:174 26 xul.dll MetroAppShell::EventWindowProc widget/windows/winrt/MetroAppShell.cpp:199 27 user32.dll InternalCallWinProc 28 user32.dll UserCallWinProcCheckWow 29 user32.dll DispatchMessageWorker 30 user32.dll DispatchMessageW 31 windows.ui.dll Windows::UI::Core::CDispatcher::ProcessMessage d:\w8rtm\windows\advcore\winrt\iwindow\corewindow\dispatcher.cpp:116 32 xul.dll Microsoft::WRL::ComPtr<ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows client.h:177 33 xul.dll mozilla::widget::winrt::FrameworkView::Run widget/windows/winrt/FrameworkView.cpp:129 34 twinapi.dll Windows::ApplicationModel::Core::CoreApplicationView::Run d:\win8_gdr\shell\coreapplication\application\lib\coreapplicationview.cpp:888 35 twinapi.dll `Windows::ApplicationModel::Core::CoreApplicationViewAgileContainer::RuntimeClas d:\win8_gdr\shell\coreapplication\application\lib\coreapplicationview.cpp:559 36 twinapi.dll `Windows::ApplicationModel::Core::CoreApplicationViewAgileContainer::RuntimeClas d:\win8_gdr\shell\coreapplication\application\lib\coreapplicationview.cpp:613 37 SHCore.dll SHReleaseThreadRef 38 kernel32.dll BaseThreadInitThunk 39 ntdll.dll __RtlUserThreadStart 40 ntdll.dll _RtlUserThreadStart More reports at: https://crash-stats.mozilla.com/report/list?signature=mozalloc_abort%28char+const*+const%29+|+NS_DebugBreak_P+|+MetroWidget%3A%3AGetLayerManager%28mozilla%3A%3Alayers%3A%3APLayersChild*%2C+mozilla%3A%3Alayers%3A%3ALayersBackend%2C+nsIWidget%3A%3ALayerManagerPersistence%2C+bool*%29
Interesting, mView is valid, so I'm guessing layerManager->Initialize(true) fails.
Uptimes are also all over the map. I wonder if this has something to do with the driver shutting down. bbondy, any ideas?
something like this? bug 774285
Crashes have stopped since 22.0a1/20130310. If it's confirmed, the working range would be: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=e6215e0357fa&tochange=9e6232e86000
There's one crash in 22.0a1/20130312: bp-6994bbda-5a20-49bd-97ce-fd7ed2130313.
It's #1 top crasher in MetroFirefox.
Two different situations. Low uptime w/D2D! D2D- in the annotation notes. The rest are more general for a broad range of hardware. I'm more interested in the systems that can't get D2D up and running: AdapterVendorID: 0x8086, AdapterDeviceID: 0x08cf, AdapterSubsysID: 00000000, AdapterDriverVersion: 9.14.3.1117 AdapterVendorID: 0x8086, AdapterDeviceID: 0x08cf, AdapterSubsysID: 00000000, AdapterDriverVersion: 9.14.3.1117 AdapterVendorID: 0x1002, AdapterDeviceID: 0x71c4, AdapterSubsysID: 202b17aa, AdapterDriverVersion: 8.383.1.1000 AdapterVendorID: 0x10de, AdapterDeviceID: 0x029e, AdapterSubsysID: 032c10de, AdapterDriverVersion: 9.18.13.697 AdapterVendorID: 0x1002, AdapterDeviceID: 0x71c4, AdapterSubsysID: 202b17aa, AdapterDriverVersion: 8.383.1.1000 AdapterVendorID: 0x1002, AdapterDeviceID: 0x71c4, AdapterSubsysID: 202b17aa, AdapterDriverVersion: 8.383.1.1000
(In reply to Jim Mathies [:jimm] from comment #8) > I'm more interested in the systems that can't get D2D up and running: > AdapterVendorID: 0x8086, AdapterDeviceID: 0x08cf -> Intel GMA (see bug 829127 comment 3) > AdapterVendorID: 0x1002, AdapterDeviceID: 0x71c4 -> ATI Mobility FireGL V5200 > AdapterVendorID: 0x10de, AdapterDeviceID: 0x029e -> NVIDIA Quadro FX 1500 They are DirectX 9.0c GPUs found in bug 844361.
No longer blocks: basic-metro-omtc
Maybe we need to detect individual hardware in the CEH and dump these devices out to desktop. I see one recent startup crash for AdapterVendorID: 0x8086, AdapterDeviceID: 0x08cf, AdapterSubsysID: 00000000, AdapterDriverVersion: 9.14.3.1117 D2D! D2D- -> Intel GMA in the 3/24 nightly.
I think we should see what happens when OMTC lands
Those who have Direct2D disabled crash within 3 seconds (32% of crashes). The breakdown for those is as follow (same users counted several times): * Intel GMA: 61% * ATI Mobility FireGL V5200: 23% * NVIDIA Quadro FX 1500: 8% * NVIDIA GeForce 7900 GS: 8%
Crash Signature: [@ mozalloc_abort(char const* const) | NS_DebugBreak_P | MetroWidget::GetLayerManager(mozilla::layers::PLayersChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*)] → [@ mozalloc_abort(char const* const) | NS_DebugBreak_P | MetroWidget::GetLayerManager(mozilla::layers::PLayersChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*)] [@ mozalloc_abort(char const* const) | NS_DebugBreak_P]
Hardware: x86 → All
Crash Signature: [@ mozalloc_abort(char const* const) | NS_DebugBreak_P | MetroWidget::GetLayerManager(mozilla::layers::PLayersChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*)] [@ mozalloc_abort(char const* const) | NS_DebugBreak_P] → [@ mozalloc_abort(char const* const) | NS_DebugBreak_P | MetroWidget::GetLayerManager(mozilla::layers::PLayersChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*)] [@ mozalloc_abort(char const* const) | NS_DebugBreak_P] [@ …
There have been no crashes since 22.0a1/20130325 when the fix of bug 844954 landed.
Depends on: 844954
Depends on: 855294
Blocks: 855294
No longer depends on: 855294
Depends on: 858926
Depends on: 859077
Crash Signature: , bool*)] [@ mozalloc_abort(char const* const) | NS_DebugBreak_P] [@ mozalloc_abort(char const* const) | NS_DebugBreak_P | CLayeredObjectWithCLS<CBuffer>::`vector deleting destructor''(unsigned int)] → , bool*)] [@ mozalloc_abort(char const* const) | NS_DebugBreak_P] [@ mozalloc_abort(char const* const) | NS_DebugBreak_P | CLayeredObjectWithCLS<CBuffer>::`vector deleting destructor''(unsigned int)] [@ mozalloc_abort(char const* const) | NS_DebugBreak…
Crash Signature: NS_DebugBreak] [@ mozalloc_abort(char const* const) | NS_DebugBreak | MetroWidget::GetLayerManager(mozilla::layers::PLayersChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*)] → NS_DebugBreak ] [@ mozalloc_abort(char const* const) | NS_DebugBreak | MetroWidget::GetLayerManager(mozilla::layers::PLayersChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*) ] [@ mozalloc_abort(char const* const) | NS_D…
Crash Signature: , bool*) ] [@ mozalloc_abort(char const* const) | NS_DebugBreak | arena_malloc_small | nsStringBuffer::Alloc(unsigned __int64) ] → , bool*) ] [@ mozalloc_abort(char const* const) | NS_DebugBreak | MetroWidget::GetLayerManager(mozilla::layers::PLayerTransactionChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*) ] [@ mozalloc_abort(char const* const) | …
I think these are all from atom devices that couldn't launch for a while. Once we fixed bug 904214 they were able to and report the last crash. All the latest reports fall off after 8/23.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
OS: Windows 8 Metro → Windows 8.1
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.