Closed Bug 844361 Opened 11 years ago Closed 11 years ago

startup crash in PresShell::Paint mainly with DirectX 9.0c GPUs

Categories

(Core :: Graphics, defect)

x86
Windows 8.1
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jimm, Unassigned)

Details

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

Crash Data

0 	xul.dll 	PresShell::Paint 	layout/base/nsPresShell.cpp:5329
1 	xul.dll 	nsViewManager::ProcessPendingUpdatesForView 	view/src/nsViewManager.cpp:400
2 	xul.dll 	nsRefreshDriver::Tick 	layout/base/nsRefreshDriver.cpp:962
3 	xul.dll 	mozilla::RefreshDriverTimer::Tick 	layout/base/nsRefreshDriver.cpp:156
4 	xul.dll 	nsTimerImpl::Fire 	xpcom/threads/nsTimerImpl.cpp:482
5 	xul.dll 	nsTimerEvent::Run 	xpcom/threads/nsTimerImpl.cpp:565
6 	xul.dll 	nsThread::ProcessNextEvent 	xpcom/threads/nsThread.cpp:627
7 	xul.dll 	NS_ProcessPendingEvents_P 	obj-firefox/xpcom/build/nsThreadUtils.cpp:188
8 	xul.dll 	nsBaseAppShell::NativeEventCallback 	widget/xpwidgets/nsBaseAppShell.cpp:97
9 	xul.dll 	MetroAppShell::NativeCallback 	widget/windows/winrt/MetroAppShell.cpp:174
10 	xul.dll 	MetroAppShell::EventWindowProc 	widget/windows/winrt/MetroAppShell.cpp:199
11 	user32.dll 	InternalCallWinProc 	
12 	user32.dll 	UserCallWinProcCheckWow 	
13 	user32.dll 	DispatchMessageWorker 	
14 	user32.dll 	DispatchMessageW 	
15 	windows.ui.dll 	Windows::UI::Core::CDispatcher::ProcessMessage 	d:\w8rtm\windows\advcore\winrt\iwindow\corewindow\dispatcher.cpp:116
16 	xul.dll 	Microsoft::WRL::ComPtr<ABI::Windows::ApplicationModel::Activation::ILaunchActiva 	client.h:177
17 	xul.dll 	mozilla::widget::winrt::FrameworkView::Run 	widget/windows/winrt/FrameworkView.cpp:129
18 	twinapi.dll 	Windows::ApplicationModel::Core::CoreApplicationView::Run 	d:\win8_gdr\shell\coreapplication\application\lib\coreapplicationview.cpp:888
19 	twinapi.dll 	`Windows::ApplicationModel::Core::CoreApplicationViewAgileContainer::RuntimeClas 	d:\win8_gdr\shell\coreapplication\application\lib\coreapplicationview.cpp:559
20 	twinapi.dll 	`Windows::ApplicationModel::Core::CoreApplicationViewAgileContainer::RuntimeClas 	d:\win8_gdr\shell\coreapplication\application\lib\coreapplicationview.cpp:613
21 	SHCore.dll 	SHReleaseThreadRef 	
22 	kernel32.dll 	BaseThreadInitThunk 	
23 	ntdll.dll 	__RtlUserThreadStart 	
24 	ntdll.dll 	_RtlUserThreadStart

https://crash-stats.mozilla.com/report/list?product=MetroFirefox&query_search=signature&query_type=contains&reason_type=contains&date=02%2F23%2F2013%2000%3A28%3A49&range_value=1&range_unit=weeks&hang_type=any&process_type=any&do_query=1&signature=PresShell%3A%3APaint%28nsView*%2C%20nsRegion%20const%26%2C%20unsigned%20int%29
Crash Signature: [@ PresShell::Paint(nsView*, nsRegion const&, unsigned int)]
Severity: normal → critical
Keywords: crash
Hardware: x86_64 → x86
Whiteboard: [startupcrash]
Direct2D is force-enabled (D2D! D2D- D3D10 Layers! D3D10 Layers- ) in every crash reports but there's currently no gfx blocklist on Windows 8 so it shouldn't have been necessary to force Direct2D.
Crash Signature: [@ PresShell::Paint(nsView*, nsRegion const&, unsigned int)] → [@ PresShell::Paint(nsView*, nsRegion const&, unsigned int) ]
(In reply to Scoobidiver from comment #1)
> Direct2D is force-enabled (D2D! D2D- D3D10 Layers! D3D10 Layers- ) in every
> crash reports but there's currently no gfx blocklist on Windows 8 so it
> shouldn't have been necessary to force Direct2D.

We force enable direct2d in metrofx so there's no need for a blocklist. Direct2d is only backend we have.
I should have said that despite begin force-enabled, Direct2D/Direct3D 10 are disabled (minus after D2D and D3D10) for some reasons. It's similar to bug 778175 for Firefox for Android.

Here are the current affected devices:
AdapterVendorID: 0x10de, AdapterDeviceID: 0x03d0: NVIDIA GeForce 6150SE nForce 430
AdapterVendorID: 0x10de, AdapterDeviceID: 0x0140: NVIDIA GeForce 6600 GT
AdapterVendorID: 0x1002, AdapterDeviceID: 0x71c5: ATI Mobility Radeon X1600
AdapterVendorID: 0x1002, AdapterDeviceID: 0x7196: ATI Mobility Radeon X1350
AdapterVendorID: 0x1002, AdapterDeviceID: 0x7188: ATI Mobility Radeon X2300
AdapterVendorID: 0x8086, AdapterDeviceID: 0x08cf: Intel GMA?
AdapterVendorID: 0x15ad, AdapterDeviceID: 0x0405: VMware SVGA II
In order to get crash reports, the front has to boot up successfully. So direct2d must be working here, unless I'm missing something. Maybe our crash report data is invalid?
Looking at uptimes maybe not. This is odd, I'm not sure how these reports are getting submitted.
Component: Layout → Graphics
Here are some other affected devices:
AdapterVendorID: 0x8086, AdapterDeviceID: 0x2772: Intel 82945G Express
AdapterVendorID: 0x8086, AdapterDeviceID: 0x27a2: Mobile Intel 945 Express

Every GPUs (comment 3 and comment 6) support only DirectX 9.0c (see http://en.wikipedia.org/wiki/Comparison_of_Intel_graphics_processing_units, https://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units, http://en.wikipedia.org/wiki/Comparison_of_Nvidia_graphics_processing_units)

Direct2D is not recommended on DirectX 9 HW. See https://wiki.mozilla.org/Platform/GFX/Direct2DDemo
Summary: Crash in PresShell::Paint(nsView*, nsRegion const&, unsigned int) → startup crash in PresShell::Paint with DirectX 9.0c GPUs
Whiteboard: [startupcrash] → [startupcrash][metro-crash]
Ha! My theory is partially wrong.
See bp-e9f03abe-7594-4b49-8596-270af2130304 where there's an Intel SandyBridge that supports DirectX 10.1. But in that case, Direct2D is not forced enabled.
Summary: startup crash in PresShell::Paint with DirectX 9.0c GPUs → startup crash in PresShell::Paint mainly with DirectX 9.0c GPUs
It seems crashes have stopped after the fix of bug 839808.
Status: NEW → RESOLVED
Closed: 11 years ago
Depends on: basic-metro-omtc
Resolution: --- → WORKSFORME
No longer depends on: basic-metro-omtc
No longer blocks: metro-startup
OS: Windows 8 Metro → Windows 8.1
You need to log in before you can comment on or make changes to this bug.