Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drsyms fails to load chrome.exe and chrome.dll symbols in some ui_tests runs #646

Open
derekbruening opened this issue Nov 28, 2014 · 10 comments

Comments

@derekbruening
Copy link
Contributor

From [email protected] on October 26, 2011 17:17:57

this is in the 2nd chrome.exe process running ui_tests AutomatedUITestBase.Home:

looks like Ci#101537, but why aren't the top symbols resolving?

0:000> dds 0x1af1d0
001af1d0 00f6f4a8 chrome!scoped_ptr<_TOKEN_USER>::~scoped_ptr<_TOKEN_USER>+0x8 [c:\src\chromium\src\base\memory\scoped_ptr.h @ 75]
001af1d4 012b8db0
001af1d8 00f62388 chrome!sandbox::GetHandleName+0xd8 [c:\src\chromium\src\sandbox\src\handle_closer.cc @ 198]
001af1dc 012b8ce8
001af1e0 012a6300
001af1e4 012b8db0
001af1e8 00000008
001af1ec 00f5c105 chrome!sandbox::HandleCloserAgent::CloseHandles+0x1a5 [c:\src\chromium\src\sandbox\src\handle_closer_agent.cc @ 111]
001af1f0 00000004
001af1f4 001af258
001af1f8 75ab1809 kernel32!GetCurrentProcessStub
001af1fc 75acd7ca kernel32!TerminateProcessStub
001af200 01059f74 chrome!instance

Error #1: INVALID HEAP ARGUMENT: allocated with operator new[], freed with operator delete
#0 chrome.exe!? +0x0 (0x00f6f4a8 <chrome.exe+0x1f4a8>)
#1 chrome.exe!? +0x0 (0x00f59724 <chrome.exe+0x9724>)
#2 ntdll.dll!RtlNtStatusToDosError+0x36 (0x77ac6224 <ntdll.dll+0x36224>)
#3 chrome.exe!? +0x0 (0x00f597c5 <chrome.exe+0x97c5>)
#4 chrome.dll!RendererMainPlatformDelegate::EnableSandbox+0x33 [c:\src\chromium\src\content\renderer\renderer_main_platform_delegate_win.cc:128](0x6a05cdc4 <chrome.dll+0x91cdc4)

windbg gets them right:
0:000> U 0x00f6f4a8
chrome!scoped_ptr<_TOKEN_USER>::~scoped_ptr<_TOKEN_USER>+0x8 [c:\src\chromium\src\base\memory\scoped_ptr.h @ 75]:
0:000> U 0x00f59724
chrome!`anonymous namespace'::CloseOpenHandles+0x24 [c:\src\chromium\src\sandbox\src\target_services.cc @ 51]:
0:000> U 0x00f597c5
chrome!sandbox::TargetServicesBase::LowerToken+0x75 [c:\src\chromium\src\sandbox\src\target_services.cc @ 86]:

drmem does print this:
WARNING: unable to load symbols for C:\src\chromium\src\build\Release\chrome.exe

xref issue #635 ""

not sure what's going on: out of memory?

Original issue: http://code.google.com/p/drmemory/issues/detail?id=646

@derekbruening
Copy link
Contributor Author

From [email protected] on October 26, 2011 14:20:05

sandbox limitations (related to "Error" msgbox DRi#580)? this is --single-process, btw

@derekbruening
Copy link
Contributor Author

From [email protected] on November 04, 2011 14:15:37

Can you reproduce this after the recent drsyms changes?

@derekbruening
Copy link
Contributor Author

From [email protected] on November 04, 2011 14:16:01

Owner: [email protected]

@derekbruening
Copy link
Contributor Author

From [email protected] on March 22, 2012 15:22:00

I'm also seeing some cases of chrome.dll missing symbols but it seems to be nondet. I notice b/c the GDI suppressions suddenly don't match in some tests.

WARNING: unable to load symbols for E:\src\chromium\src\build\Debug\chrome.dll
WARNING: unable to load symbols for C:\Windows\SysWOW64\ntdll.dll
WARNING: unable to load symbols for C:\Windows\syswow64\kernel32.dll
WARNING: unable to load symbols for C:\Windows\syswow64\GDI32.dll

at exit of main thread in renderer process, when using symcache (so didn't need syms earlier)

most likely this is the same problem as in issue #723 : too late for dbghelp to operate

Summary: drsyms fails to load chrome.exe and chrome.dll symbols in some ui_tests runs
Owner: [email protected]

@derekbruening
Copy link
Contributor Author

From [email protected] on March 26, 2012 07:28:43

another one on prefetch (must be general threads still running when main
thread shuts down):

WARNING: prefetching unaddressable memory 0x037242a0-0x037242a1

0 (0x1e000037)

1 chrome.dll!? +0x0 (0x69e1f612 <chrome.dll+0x5ef612>)

2 chrome.dll!? +0x0 (0x69e1c439 <chrome.dll+0x5ec439>)

3 chrome.dll!? +0x0 (0x69d52905 <chrome.dll+0x522905>)

@derekbruening
Copy link
Contributor Author

From [email protected] on April 24, 2014 15:16:00

This is happening again on the MFYI bots: http://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Unit%20%28DrMemory%20full%29%20%284%29/builds/1002/steps/memory%20test%3A%20unit/logs/stdio UNINITIALIZED READ: reading register ecx

0 MSVCR120.dll!sprintf_s +0x5b (0x6d293fa1 <MSVCR120.dll+0x13fa1>)

1 MSVCR120.dll!_uncaught_exception +0x953 (0x6d293eca <MSVCR120.dll+0x13eca>)

2 MSVCR120.dll!vsnprintf_s_l +0xa4 (0x6d304bec <MSVCR120.dll+0x84bec>)

3 MSVCR120.dll!snprintf_s +0x19 (0x6d3038ff <MSVCR120.dll+0x838ff>)

4 unit_tests.exe!? +0x0 (0x02aa7348 <unit_tests.exe+0x1a07348>)

5 unit_tests.exe!? +0x0 (0x02aa73b6 <unit_tests.exe+0x1a073b6>)

6 unit_tests.exe!? +0x0 (0x018a7b40 <unit_tests.exe+0x807b40>)

7 unit_tests.exe!? +0x0 (0x018a7eee <unit_tests.exe+0x807eee>)

8 unit_tests.exe!? +0x0 (0x018a7fde <unit_tests.exe+0x807fde>)

9 unit_tests.exe!? +0x0 (0x011c05f0 <unit_tests.exe+0x1205f0>)

#10 unit_tests.exe!? +0x0 (0x018a819f <unit_tests.exe+0x80819f>)
#11 unit_tests.exe!? +0x0 (0x018a7f4f <unit_tests.exe+0x807f4f>)
#12 unit_tests.exe!? +0x0 (0x018a81d1 <unit_tests.exe+0x8081d1>)
#13 unit_tests.exe!? +0x0 (0x018a80f5 <unit_tests.exe+0x8080f5>)
#14 unit_tests.exe!? +0x0 (0x018a7c02 <unit_tests.exe+0x807c02>)
#15 unit_tests.exe!? +0x0 (0x018a9a13 <unit_tests.exe+0x809a13>)
#16 unit_tests.exe!? +0x0 (0x02aa84ac <unit_tests.exe+0x1a084ac>)
#17 unit_tests.exe!? +0x0 (0x02ab230d <unit_tests.exe+0x1a1230d>)
#18 unit_tests.exe!? +0x0 (0x02ab23c6 <unit_tests.exe+0x1a123c6>)
#19 unit_tests.exe!? +0x0 (0x02ab273d <unit_tests.exe+0x1a1273d>)
#20 unit_tests.exe!? +0x0 (0x02aa868e <unit_tests.exe+0x1a0868e>)
#21 unit_tests.exe!? +0x0 (0x02ab2554 <unit_tests.exe+0x1a12554>)
#22 unit_tests.exe!? +0x0 (0x02fe8eaf <unit_tests.exe+0x1f48eaf>)
#23 unit_tests.exe!? +0x0 (0x02a73577 <unit_tests.exe+0x19d3577>)
#24 unit_tests.exe!? +0x0 (0x02a73238 <unit_tests.exe+0x19d3238>)
#25 unit_tests.exe!? +0x0 (0x02ae9ecd <unit_tests.exe+0x1a49ecd>)
#26 unit_tests.exe!? +0x0 (0x035feeb6 <unit_tests.exe+0x255eeb6>)
#27 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x76fd336a <KERNEL32.dll+0x1336a>)
Note: @0:09:01.430 in thread 600
Note: instruction: cmp %ecx $0x00000039

That's probably http://crbug.com/64887? But why no syms? OOM?

@derekbruening
Copy link
Contributor Author

From [email protected] on April 24, 2014 20:26:39

Also browser_tests.exe: http://build.chromium.org/p/chromium.fyi/builders/Windows%20Browser%20%28DrMemory%20full%29%20%283%29/builds/3537/steps/memory%20test%3A%20browser_tests/logs/stdio UNINITIALIZED READ: reading register eax

0 browser_tests.exe!? +0x0 (0x023e7081 <browser_tests.exe+0x1217081>)

1 browser_tests.exe!? +0x0 (0x023e6f65 <browser_tests.exe+0x1216f65>)

2 browser_tests.exe!? +0x0 (0x023e3747 <browser_tests.exe+0x1213747>)

3 browser_tests.exe!? +0x0 (0x023e33ab <browser_tests.exe+0x12133ab>)

4 browser_tests.exe!? +0x0 (0x023e1d80 <browser_tests.exe+0x1211d80>)

5 browser_tests.exe!? +0x0 (0x023dfc4d <browser_tests.exe+0x120fc4d>)

6 browser_tests.exe!? +0x0 (0x023de703 <browser_tests.exe+0x120e703>)

7 browser_tests.exe!? +0x0 (0x023de2b6 <browser_tests.exe+0x120e2b6>)

8 browser_tests.exe!? +0x0 (0x01f0d719 <browser_tests.exe+0xd3d719>)

9 browser_tests.exe!? +0x0 (0x01ed3cc1 <browser_tests.exe+0xd03cc1>)

#10 browser_tests.exe!? +0x0 (0x0189a97a <browser_tests.exe+0x6ca97a>)
#11 base.dll!base::Timer::RunScheduledTask [base\timer\timer.cc:201]
#12 base.dll!base::internal::Invoker<>::Run [base\bind_internal.h:1169]
#13 base.dll!base::MessageLoop::RunTask [base\message_loop\message_loop.cc:450]
#14 base.dll!base::MessageLoop::DeferOrRunPendingTask [base\message_loop\message_loop.cc:462]
#15 base.dll!base::MessageLoop::DoDelayedWork [base\message_loop\message_loop.cc:614]
#16 base.dll!base::MessagePumpDefault::Run [base\message_loop\message_pump_default.cc:36]
#17 base.dll!base::MessageLoop::RunHandler [base\message_loop\message_loop.cc:400]
#18 content.dll!content::RendererMain [content\renderer\renderer_main.cc:252]
#19 content.dll!content::RunNamedProcessTypeMain [content\app\content_main_runner.cc:411]
#20 content.dll!content::ContentMainRunnerImpl::Run [content\app\content_main_runner.cc:735]
#21 content.dll!content::ContentMain [content\app\content_main.cc:19]
#22 browser_tests.exe!? +0x0 (0x02a731d3 <browser_tests.exe+0x18a31d3>)
#23 browser_tests.exe!? +0x0 (0x01f2bfdc <browser_tests.exe+0xd5bfdc>)
#24 browser_tests.exe!? +0x0 (0x018b13e1 <browser_tests.exe+0x6e13e1>)
#25 browser_tests.exe!? +0x0 (0x02b58436 <browser_tests.exe+0x1988436>)
#26 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x769c336a <KERNEL32.dll+0x1336a>)
Note: @0:01:04.905 in thread 4020
Note: instruction: movzx (%eax,%esi,1) -> %eax

@derekbruening
Copy link
Contributor Author

From [email protected] on April 24, 2014 20:26:54

Also v8.dll: https://code.google.com/p/chromium/issues/detail?id=364146

@derekbruening
Copy link
Contributor Author

From [email protected] on April 24, 2014 20:37:54

A few weeks ago we hit an issue with the builder bot for Cr MFYI where the unit_tests pdb kept getting bigger and bigger, with this warning: http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20Windows%20Builder%20%28DrMemory%29/builds/5329/steps/compile/logs/warnings%20%281%29 LINK : warning LNK4018: too many type indexes in PDB 'E:\b\build\slave\drm-cr\build\src\out\Release\unit_tests.exe.pdb', discarding subsequent type information

Xref https://code.google.com/p/chromium/issues/detail?id=366905 -- this same linker bug may explain the unit_tests symbols at least but perhaps not the v8 ones as they are too old

@derekbruening
Copy link
Contributor Author

From [email protected] on April 24, 2014 21:59:46

on FYI: http://build.chromium.org/p/chromium.fyi/builders/Windows%20Builder%20%28DrMemory%29/builds/6017/steps/compile/logs/warnings%20%282%29 LINK : warning LNK4018: too many type indexes in PDB 'E:\b\build\slave\drm-cr\build\src\out\Release\unit_tests.exe.pdb', discarding subsequent type information
LINK : warning LNK4018: too many type indexes in PDB 'E:\b\build\slave\drm-cr\build\src\out\Release\browser_tests.exe.pdb', discarding subsequent type information

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant