Closed Bug 1285085 Opened 8 years ago Closed 8 years ago

Intermittent test_set_window_size.py TestSetWindowSize.test_possible_to_request_window_larger_than_screen | crash [@ mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::WriteLog() | mozilla::gfx::DrawTargetD2D1::Init()]

Categories

(Core :: Graphics, defect, P3)

x86_64
Windows 8
defect

Tracking

()

RESOLVED FIXED
mozilla51
Tracking Status
firefox49 --- wontfix
firefox50 --- fixed
firefox51 --- fixed

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: crash, intermittent-failure, Whiteboard: [gfx-noted])

Crash Data

Attachments

(1 file)

Hrm, I wonder why the reason isn't getting logged here before asserting to we could see the HRESULT code. However I feel this is most likely just a device driver reset.
Whiteboard: [gfx-noted]
I believe this happens when window.resizeTo is called with arguments larger than the available physical dimensions of the screen, only on Windows 10.
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64
This seems to reproduce quite consistently on Windows 10 debug builds, but _is not limited_ to Win 10.
OS: Windows 10 → Windows
The graphics card used on the Windows 10 try machines is NVIDIA GPU GeForce GT 610 per node.
(In reply to Bas Schouten (:bas.schouten) from comment #2)
> Hrm, I wonder why the reason isn't getting logged here before asserting to
> we could see the HRESULT code. However I feel this is most likely just a
> device driver reset.

It is being logged, but to gecko.log instead:

> [GFX1]: [D2D1.1] CreateBitmapFromDxgiSurface failure Code: 0x88990003 format 0

Which appears to be D2DERR_UNSUPPORTED_OPERATION.
Is it possible that the max dimensions of an IDXGISurface are larger than the max bitmap dimensions? I see that we do a size check in Init(IntSize, SurfaceFormat) against the max bitmap size, but not in Init(ID3D11Texture2D*, SurfaceFormat).
The marionette logging has been improved lately, so crashes like those report as `test_set_window_size.py TestSetWindowSize.test_possible_to_request_window_larger_than_screen` now.
Summary: Intermittent runner.py | application crashed [@ mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::WriteLog(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)] → Intermittent test_set_window_size.py TestSetWindowSize.test_possible_to_request_window_larger_than_screen | crash [@ mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::WriteLog(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)]
The assertion which is shown from this line of code:

https://dxr.mozilla.org/mozilla-central/rev/fe895421dfbe1f1f8f1fc6a39bb20774423a6d74/gfx/2d/Logging.h#510

Assertion failure: [GFX1]: [D2D1.1] CreateBitmapFromDxgiSurface failure Code: 0x88990003 format 0, at c:\builds\moz2_slave\autoland-w64-d-000000000000000\build\src\obj-firefox\dist\include\mozilla/gfx/Logging.h:509
#01: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x777577]
#02: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0xfd88cd]
#03: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0xfe9386]
#04: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x119b696]
#05: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x11a90be]
#06: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x11a658f]
#07: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x118305c]
#08: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x117e036]
#09: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1118449]
#10: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x11779f6]
#11: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1183707]
#12: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x11880c7]
#13: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x115f849]
#14: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x115843c]
#15: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1156f87]
#16: DumpFrameArray[C:\slave\test\build\application\firefox\xul.dll +0x335e5db]
#17: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f60a23]
#18: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f607ae]
#19: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f60572]
#20: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f61b16]
#21: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f5e58d]
#22: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x301cc6b]
#23: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x301f9af]
#24: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x30271b1]
#25: CallWindowProcCrashProtected[C:\slave\test\build\application\firefox\xul.dll +0x1bd11e]
#26: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x3027028]
#27: IsRectEmpty[C:\windows\system32\USER32.dll +0x3e95]
#28: WaitMessage[C:\windows\system32\USER32.dll +0x2a62]
#29: PostMessageW[C:\windows\system32\USER32.dll +0x294d]
#30: KiUserCallbackDispatcher[C:\windows\SYSTEM32\ntdll.dll +0x4b47]
#31: SetTimer[C:\windows\system32\USER32.dll +0x203a]
#32: SetTimer[C:\windows\system32\USER32.dll +0x204c]
#33: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x3003911]
#34: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f91d5c]
#35: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f9602f]
#36: XRE_AddStaticComponent[C:\slave\test\build\application\firefox\xul.dll +0x254283]
#37: NS_StringSetIsVoid[C:\slave\test\build\application\firefox\xul.dll +0x28eca7]
#38: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x799df3]
#39: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x762a5e]
#40: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x7626f6]
#41: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f9882b]
#42: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x300738c]
#43: workerlz4_maxCompressedSize[C:\slave\test\build\application\firefox\xul.dll +0x3b06082]
#44: XRE_GetFileFromPath[C:\slave\test\build\application\firefox\xul.dll +0x3b89e41]
#45: XRE_GetFileFromPath[C:\slave\test\build\application\firefox\xul.dll +0x3b86c93]
#46: XRE_main[C:\slave\test\build\application\firefox\xul.dll +0x3b8b470]
#47: ???[C:\slave\test\build\application\firefox\firefox.exe +0x1f49]
#48: ???[C:\slave\test\build\application\firefox\firefox.exe +0x173a]
#49: ???[C:\slave\test\build\application\firefox\firefox.exe +0x23b3]
#50: TargetNtUnmapViewOfSection[C:\slave\test\build\application\firefox\firefox.exe +0x404b4]
#51: BaseThreadInitThunk[C:\windows\system32\KERNEL32.DLL +0x167e]
#52: RtlUserThreadStart[C:\windows\SYSTEM32\ntdll.dll +0x1c3f1]

There is also another assertion from the graphics logger which might be related:

Hit MOZ_CRASH(GFX: An assert from the graphics logger) at c:\builds\moz2_slave\autoland-w64-d-000000000000000\build\src\obj-firefox\dist\include\mozilla/gfx/Logging.h:510
#01: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x777577]
#02: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0xfd88cd]
#03: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0xfe9386]
#04: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x119b696]
#05: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x11a90be]
#06: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x11a658f]
#07: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x118305c]
#08: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x117e036]
#09: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1118449]
#10: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x11779f6]
#11: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1183707]
#12: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x11880c7]
#13: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x115f849]
#14: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x115843c]
#15: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1156f87]
#16: DumpFrameArray[C:\slave\test\build\application\firefox\xul.dll +0x335e5db]
#17: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f60a23]
#18: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f607ae]
#19: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f60572]
#20: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f61b16]
#21: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f5e58d]
#22: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x301cc6b]
#23: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x301f9af]
#24: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x30271b1]
#25: CallWindowProcCrashProtected[C:\slave\test\build\application\firefox\xul.dll +0x1bd11e]
#26: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x3027028]
#27: IsRectEmpty[C:\windows\system32\USER32.dll +0x3e95]
#28: WaitMessage[C:\windows\system32\USER32.dll +0x2a62]
#29: PostMessageW[C:\windows\system32\USER32.dll +0x294d]
#30: KiUserCallbackDispatcher[C:\windows\SYSTEM32\ntdll.dll +0x4b47]
#31: SetTimer[C:\windows\system32\USER32.dll +0x203a]
#32: SetTimer[C:\windows\system32\USER32.dll +0x204c]
#33: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x3003911]
#34: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f91d5c]
#35: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f9602f]
#36: XRE_AddStaticComponent[C:\slave\test\build\application\firefox\xul.dll +0x254283]
#37: NS_StringSetIsVoid[C:\slave\test\build\application\firefox\xul.dll +0x28eca7]
#38: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x799df3]
#39: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x762a5e]
#40: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x7626f6]
#41: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f9882b]
#42: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x300738c]
#43: workerlz4_maxCompressedSize[C:\slave\test\build\application\firefox\xul.dll +0x3b06082]
#44: XRE_GetFileFromPath[C:\slave\test\build\application\firefox\xul.dll +0x3b89e41]
#45: XRE_GetFileFromPath[C:\slave\test\build\application\firefox\xul.dll +0x3b86c93]
#46: XRE_main[C:\slave\test\build\application\firefox\xul.dll +0x3b8b470]
#47: ???[C:\slave\test\build\application\firefox\firefox.exe +0x1f49]
#48: ???[C:\slave\test\build\application\firefox\firefox.exe +0x173a]
#49: ???[C:\slave\test\build\application\firefox\firefox.exe +0x23b3]
#50: TargetNtUnmapViewOfSection[C:\slave\test\build\application\firefox\firefox.exe +0x404b4]
#51: BaseThreadInitThunk[C:\windows\system32\KERNEL32.DLL +0x167e]
#52: RtlUserThreadStart[C:\windows\SYSTEM32\ntdll.dll +0x1c3f1]
Bulk assigning P3 to all open intermittent bugs without a priority set in Firefox components per bug 1298978.
Priority: -- → P3
Sadly, this was not fixed by bug 1051567.
(In reply to Ryan VanderMeulen [:RyanVM] from comment #18)
> Sadly, this was not fixed by bug 1051567.

Because the fix on the other bug was mainly for OSX and Linux inside the IPC component. The assertion and crash as shown here are different and are graphics related as the stack shows: "mozilla::gfx::DrawTargetD2D1::Init".

https://hg.mozilla.org/mozilla-central/file/cd0957de64a0186a148f5f781044456b94d231c6/gfx/2d/DrawTargetD2D1.cpp#l995

As OrangeFactor shows this bug is Windows 8 x64 only and seems to only happen for debug builds.

Here the assertion from the gecko.log:

http://mozilla-releng-blobs.s3.amazonaws.com/blobs/mozilla-central/sha512/e8946172d44c679c3ce470598f414676c68e131f2ee773729b5a5e2dc519867d05848c5c9655027cf2d1e6b303b4ab0441374b76b7b877aee21c9445c8b87666

1472570217300	Marionette	TRACE	conn7 -> [0,6,"setWindowSize",{"width":100000,"height":100000}]
1472570217310	Marionette	TRACE	conn7 <- [1,6,null,{"width":16384,"height":16384}]
[GFX1-]: Detected rendering device reset on refresh: 6
[GFX1-]: Detected rendering device reset on refresh: 6
[GFX1]: [D2D1.1] CreateBitmapFromDxgiSurface failure Code: 0x88990003 format 0
Assertion failure: [GFX1]: [D2D1.1] CreateBitmapFromDxgiSurface failure Code: 0x88990003 format 0, at c:\builds\moz2_slave\m-cen-w64-d-000000000000000000\build\src\obj-firefox\dist\include\mozilla/gfx/Logging.h:510
#01: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x785d27]
#02: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0xfc3da9]
#03: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0xfd4e9a]
#04: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1188c96]
#05: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1196dea]
#06: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x119454f]
#07: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x11699ac]
#08: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1163f3e]
#09: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1105251]
#10: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x115d00a]
#11: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x116a593]
#12: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x116f30b]
#13: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x114a31d]
#14: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x1163ab4]
#15: soundtouch::SoundTouch::operator=[C:\slave\test\build\application\firefox\xul.dll +0x116321b]
#16: DumpFrameArray[C:\slave\test\build\application\firefox\xul.dll +0x3374053]
#17: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f6f3e3]
#18: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f6f16e]
#19: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f6ef32]
#20: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f704d6]
#21: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2f6cf55]
#22: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x302be9f]
#23: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x302ebe3]
#24: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x30361fd]
#25: CallWindowProcCrashProtected[C:\slave\test\build\application\firefox\xul.dll +0x1c566a]
#26: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x3036074]
#27: IsRectEmpty[C:\windows\system32\USER32.dll +0x3e95]
#28: WaitMessage[C:\windows\system32\USER32.dll +0x2a62]
#29: PostMessageW[C:\windows\system32\USER32.dll +0x294d]
#30: KiUserCallbackDispatcher[C:\windows\SYSTEM32\ntdll.dll +0x4b47]
#31: SetTimer[C:\windows\system32\USER32.dll +0x203a]
#32: SetTimer[C:\windows\system32\USER32.dll +0x204c]
#33: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x3012f61]
#34: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2fa0ab0]
#35: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2fa4d9f]
#36: XRE_AddStaticComponent[C:\slave\test\build\application\firefox\xul.dll +0x25d127]
#37: NS_StringSetIsVoid[C:\slave\test\build\application\firefox\xul.dll +0x297fdb]
#38: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x7a874f]
#39: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x7711ea]
#40: mozilla::net::LoadInfo::TriggeringPrincipal[C:\slave\test\build\application\firefox\xul.dll +0x770e82]
#41: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x2fa75ab]
#42: imgLoader::SupportImageWithMimeType[C:\slave\test\build\application\firefox\xul.dll +0x3016a54]
#43: workerlz4_maxCompressedSize[C:\slave\test\build\application\firefox\xul.dll +0x3b3378e]
#44: XRE_GetFileFromPath[C:\slave\test\build\application\firefox\xul.dll +0x3bb9919]
#45: XRE_GetFileFromPath[C:\slave\test\build\application\firefox\xul.dll +0x3bb66ab]
#46: XRE_main[C:\slave\test\build\application\firefox\xul.dll +0x3bbaee0]
#47: ???[C:\slave\test\build\application\firefox\firefox.exe +0x1f49]
#48: ???[C:\slave\test\build\application\firefox\firefox.exe +0x173a]
#49: ???[C:\slave\test\build\application\firefox\firefox.exe +0x23b3]
#50: TargetNtUnmapViewOfSection[C:\slave\test\build\application\firefox\firefox.exe +0x404b4]
#51: BaseThreadInitThunk[C:\windows\system32\KERNEL32.DLL +0x167e]
#52: RtlUserThreadStart[C:\windows\SYSTEM32\ntdll.dll +0x1c3f1]
Severity: normal → critical
Crash Signature: [@ mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::WriteLog() | mozilla::gfx::DrawTargetD2D1::Init()]
Keywords: crash
OS: Windows → Windows 8
Summary: Intermittent test_set_window_size.py TestSetWindowSize.test_possible_to_request_window_larger_than_screen | crash [@ mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::WriteLog(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)] → Intermittent test_set_window_size.py TestSetWindowSize.test_possible_to_request_window_larger_than_screen | crash [@ mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::WriteLog() | mozilla::gfx::DrawTargetD2D1::Init()]
Edwin, is the last comment helpful to see better what's happening?
Flags: needinfo?(edwin)
There is a driver reset during the test run, with an out of memory reason.  By the time we hit this assert, it's already too late - the reset has already happened.  This comes just before the driver reset detection:
1472570217300	Marionette	TRACE	conn7 -> [0,6,"setWindowSize",{"width":100000,"height":100000}]
1472570217310	Marionette	TRACE	conn7 <- [1,6,null,{"width":16384,"height":16384}]
and it feels like either 100,000^2 or 16k^2 could be something that gets us to OOM.
(In reply to Milan Sreckovic [:milan] from comment #21)
> and it feels like either 100,000^2 or 16k^2 could be something that gets us
> to OOM.

Milan, is the test correct in using such a high resolution? Should it be reduced to something like twice the current screen size? Or should we correctly handle that resolution change in Firefox?
Bas, in DrawTargetD2D1::Init, is there a way to know what size bitmap we're trying to create before the call to mDC->CreateBitmapFromDxgiSurface?  Right now, if that call succeeds, we do:
aTexture->GetDesc(&desc);
mSize.width = desc.Width;
mSize.height = desc.Height;
to get the size, but can we get the size before that call, or even if the call fails (if it fails, would the size be 0, invalid, or what we tried to get but couldn't?)
Flags: needinfo?(bas)
(In reply to Milan Sreckovic [:milan] from comment #24)
> Bas, in DrawTargetD2D1::Init, is there a way to know what size bitmap we're
> trying to create before the call to mDC->CreateBitmapFromDxgiSurface?  Right
> now, if that call succeeds, we do:
> aTexture->GetDesc(&desc);
> mSize.width = desc.Width;
> mSize.height = desc.Height;
> to get the size, but can we get the size before that call, or even if the
> call fails (if it fails, would the size be 0, invalid, or what we tried to
> get but couldn't?)

Also, I'm not sure, I've never seen this call fail but I'd imagine it's either uninitialized memory or 0.
I get a driver reset caught at a different place in the code, when I run this test locally, when swap chain Present call returns E_OUTOFMEMORY (which is fair, we are trying to allocate a gig of video memory for the window alone.)

(In reply to Henrik Skupin (:whimboo) from comment #23)
> ...
> Milan, is the test correct in using such a high resolution? Should it be
> reduced to something like twice the current screen size? Or should we
> correctly handle that resolution change in Firefox?

When we force 100kx100k or 16kx16k, all we're really testing is Firefox against driver resets - 'cause a driver reset is probably going to happen :)  I would do something like you suggest - do a 4x on the screen size, for example (so, your windows is now 16 times larger than the screen), and see if this clears up.
Flags: needinfo?(edwin)
Attachment #8788910 - Attachment is obsolete: true
Attachment #8788910 - Flags: review?(bas)
Comment on attachment 8788910 [details]
Bug 1285085: Testing for a windows 4x larger than the screen in each dimension should be enough for this test.

https://reviewboard.mozilla.org/r/77050/#review75534

Please note that I cannot give review for the graphics changes. My r+ is only for the modified test with the nit fixed.

::: testing/marionette/harness/marionette/tests/unit/test_set_window_size.py:58
(Diff revision 2)
>                           "New width is %s but should be %s" % (size['width'], width))
>          self.assertEqual(size['height'], height,
>                           "New height is %s but should be %s" % (size['height'], height))
>  
>      def test_possible_to_request_window_larger_than_screen(self):
> -        self.marionette.set_window_size(100000, 100000)
> +        self.marionette.set_window_size(4*self.max_width, 4*self.max_height)

nit: please add spaces between the operands and operator in both cases.
Attachment #8788910 - Flags: review?(hskupin) → review+
(In reply to Henrik Skupin (:whimboo) from comment #30)
> Comment on attachment 8788910 [details]
> Bug 1285085: Testing for a windows 4x larger than the screen in each
> dimension should be enough for this test.
> 
> https://reviewboard.mozilla.org/r/77050/#review75534
> 
> Please note that I cannot give review for the graphics changes. My r+ is
> only for the modified test with the nit fixed.

Yes, thanks - I don't think we need the graphics patch for now.
Pushed by msreckovic@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5d39f44cafe1
Testing for a windows 4x larger than the screen in each dimension should be enough for this test. r=whimboo
https://hg.mozilla.org/mozilla-central/rev/5d39f44cafe1
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
This is something we want to uplift to 50?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: