|
|
Created:
7 years, 1 month ago by jamesr Modified:
7 years, 1 month ago CC:
chromium-reviews Base URL:
svn://svn.chromium.org/chrome/trunk/src Visibility:
Public. |
DescriptionAdd diagnostic information for CreateDIBSection failures
This tries to grab useful diagnostic information from the system when
CreateDIBSection fails since we're about to crash anyway. This tries to categorize
the failure as being out of GDI handles, out of memory generally, or unknown and
puts more information on the stack.
Based on code from cpu@ in r116646 and from vangelis@ in https://codereview.chromium.org/57053002/
R=cpu
TBR=reed
NOTRY=true since nacl_integration is being stupid
BUG=275046
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=235667
Patch Set 1 #
Messages
Total messages: 15 (0 generated)
Do you want to incorporate some of the checks for failed object deletions from https://codereview.chromium.org/57053002 as well in case they point us to resource leaks?
@cpu - I'm seeing distinct crash instructions in the disassembly. For instance here's the two checks: int num_gdi_handles = GetGuiResources(GetCurrentProcess(), GR_GDIOBJECTS); if (num_gdi_handles == 0) { int get_gui_resources_error = GetLastError(); base::debug::Alias(&get_gui_resources_error); CHECK(false); } base::debug::Alias(&num_gdi_handles); const int kLotsOfHandles = 9990; if (num_gdi_handles > kLotsOfHandles) CHECK(false); turn into: 74 6d6faa1b ff1518c1786d call dword ptr [skia!_imp__GetCurrentProcess (6d78c118)] 74 6d6faa21 50 push eax 74 6d6faa22 ff1540c3786d call dword ptr [skia!_imp__GetGuiResources (6d78c340)] 75 6d6faa28 8b3dccc3786d mov edi,dword ptr [skia!_imp_??1LogMessageloggingQAEXZ (6d78c3cc)] 75 6d6faa2e 3bc6 cmp eax,esi 75 6d6faa30 8b35c8c3786d mov esi,dword ptr [skia!_imp_??0LogMessageloggingQAEPBDHHZ (6d78c3c8)] 75 6d6faa36 894590 mov dword ptr [ebp-70h],eax 75 6d6faa39 7551 jne skia!`anonymous namespace'::CreateHBitmap+0x15c (6d6faa8c) skia!`anonymous namespace'::CreateHBitmap+0x10b [d:\chrome\src\skia\ext\bitmap_platform_device_win.cc @ 76]: 76 6d6faa3b ff1524c1786d call dword ptr [skia!_imp__GetLastError (6d78c124)] 77 6d6faa41 8d4d94 lea ecx,[ebp-6Ch] 77 6d6faa44 51 push ecx 77 6d6faa45 894594 mov dword ptr [ebp-6Ch],eax 77 6d6faa48 ffd3 call ebx 77 6d6faa4a 83c404 add esp,4 78 6d6faa4d 6a04 push 4 78 6d6faa4f 6a4e push 4Eh 78 6d6faa51 689c077a6d push offset skia!`string' (6d7a079c) 78 6d6faa56 8d8dd0feffff lea ecx,[ebp-130h] 78 6d6faa5c ffd6 call esi 78 6d6faa5e 83c008 add eax,8 78 6d6faa61 6884077a6d push offset skia!`string' (6d7a0784) 78 6d6faa66 50 push eax 78 6d6faa67 c745fc00000000 mov dword ptr [ebp-4],0 78 6d6faa6e c7459801000000 mov dword ptr [ebp-68h],1 78 6d6faa75 e846c8ffff call skia!std::operator<<<std::char_traits<char> > (6d6f72c0) 78 6d6faa7a 83c408 add esp,8 78 6d6faa7d 8d8dd0feffff lea ecx,[ebp-130h] 78 6d6faa83 c745fcffffffff mov dword ptr [ebp-4],0FFFFFFFFh 78 6d6faa8a ffd7 call edi skia!`anonymous namespace'::CreateHBitmap+0x15c [d:\chrome\src\skia\ext\bitmap_platform_device_win.cc @ 81]: 81 6d6faa8c 8d5590 lea edx,[ebp-70h] 81 6d6faa8f 52 push edx 81 6d6faa90 ffd3 call ebx 81 6d6faa92 83c404 add esp,4 83 6d6faa95 817d9006270000 cmp dword ptr [ebp-70h],2706h 83 6d6faa9c 7e40 jle skia!`anonymous namespace'::CreateHBitmap+0x1ae (6d6faade) skia!`anonymous namespace'::CreateHBitmap+0x16e [d:\chrome\src\skia\ext\bitmap_platform_device_win.cc @ 84]: 84 6d6faa9e 6a04 push 4 84 6d6faaa0 6a54 push 54h 84 6d6faaa2 689c077a6d push offset skia!`string' (6d7a079c) 84 6d6faaa7 8d8dd0feffff lea ecx,[ebp-130h] 84 6d6faaad ffd6 call esi 84 6d6faaaf 83c008 add eax,8 84 6d6faab2 6884077a6d push offset skia!`string' (6d7a0784) 84 6d6faab7 50 push eax 84 6d6faab8 c745fc01000000 mov dword ptr [ebp-4],1 84 6d6faabf c7459802000000 mov dword ptr [ebp-68h],2 84 6d6faac6 e8f5c7ffff call skia!std::operator<<<std::char_traits<char> > (6d6f72c0) 84 6d6faacb 83cbff or ebx,0FFFFFFFFh 84 6d6faace 83c408 add esp,8 84 6d6faad1 8d8dd0feffff lea ecx,[ebp-130h] 84 6d6faad7 895dfc mov dword ptr [ebp-4],ebx 84 6d6faada ffd7 call edi 84 6d6faadc eb03 jmp skia!`anonymous namespace'::CreateHBitmap+0x1b1 (6d6faae1) so i think 6d6faa8a and 6d6faada are separate crash calls. Look right?
On 2013/11/14 01:48:04, Vangelis Kokkevis wrote: > Do you want to incorporate some of the checks for failed object deletions from > https://codereview.chromium.org/57053002 as well in case they point us to > resource leaks? I like those checks to but am leaning towards having those be a separate patch just so if we want to merge or revert one of the diagnostics it doesn't interfere with the other. Right now a CreateDIBSection failure is always a crash so this patch doesn't add new crashes. Invalid object/dc management is probably bad but isn't necessarily a crash today.
lgtm
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/70193011/1
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/70193011/1
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/70193011/1
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/70193011/1
Retried try job too often on win_rel for step(s) nacl_integration http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&nu...
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/70193011/1
Retried try job too often on win_rel for step(s) nacl_integration http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&nu...
On 2013/11/15 10:32:27, I haz the power (commit-bot) wrote: > Retried try job too often on win_rel for step(s) nacl_integration > http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&nu... seriously?
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/70193011/1
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/70193011/1
Message was sent while issue was closed.
Change committed as 235667 |