Mark Mentovai
3a37f8fe92
Update documentation to master ad9887ee0dc0
2015-10-28 16:54:59 -04:00
Mark Mentovai
390b6f2336
Merge master ad9887ee0dc0 into doc
2015-10-28 16:54:46 -04:00
Mark Mentovai
ad9887ee0d
win: Don't attempt to read a nonexistent IMAGE_DIRECTORY_ENTRY_DEBUG
...
BUG=crashpad:1
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/1411123011 .
2015-10-28 16:42:34 -04:00
Scott Graham
ba0e7de07b
win: Disable more warnings when not building with Crashpad's common.gypi
...
Roll mini_chromium deps to remove disabling of those warnings in common.gypi:
8e12d3d win: Remove disabling some warnings
R=mark@chromium.org
BUG=chromium:546288, crashpad:1
Review URL: https://codereview.chromium.org/1430523002 .
2015-10-27 16:03:26 -07:00
Scott Graham
a96f5ace5b
Capture UUID age field on Windows
...
R=mark@chromium.org
BUG=chromium:546288
Review URL: https://codereview.chromium.org/1418613013 .
2015-10-27 13:06:58 -07:00
Scott Graham
03d8be4a15
win: Fix NTSTATUS_LOG for no-function arg version of COMPACT_GOOGLE_LOG_EX_
...
R=mark@chromium.org
BUG=crashpad:1, chromium:546288
Review URL: https://codereview.chromium.org/1426493002 .
2015-10-23 14:32:17 -07:00
Scott Graham
1a9c8b0e9d
win: Disable C4201 in util.gyp for building without crashpad common.gypi
...
R=mark@chromium.org
BUG=crashpad:1, crashpad:526488
Review URL: https://codereview.chromium.org/1421173002 .
2015-10-23 14:07:59 -07:00
Scott Graham
4b8b42be6c
win: Implement c16lcpy without base:c16*
...
Chromium base doesn't have base::c16len, c16memcpy, etc. when
WCHAR_T_IS_UTF16, so implement c16lcpy without using those.
R=mark@chromium.org
BUG=crashpad:1, chromium:546288
Review URL: https://codereview.chromium.org/1417403004 .
2015-10-23 13:38:46 -07:00
Scott Graham
3d598cdbcd
Change file op |ssize_t|s to FileOperationResult
...
R=mark@chromium.org
Review URL: https://codereview.chromium.org/1416493006 .
2015-10-22 16:14:18 -07:00
Scott Graham
63916623cd
roll mini_chromium to 8d42e2439aa0bd677dca64ba3070f3fa2353b7f2
...
8d42e24 win: Enable C4800, implicit bool conversion
82060c1 mac: Make Mach port scopers better ScopedGenerics
d7270da Fix base::RandDouble()
R=mark@chromium.org
Committed: 26b6913512
Review URL: https://codereview.chromium.org/1424463002 .
2015-10-22 15:02:48 -07:00
Scott Graham
26b6913512
roll mini_chromium to 744f209e621224b703cc897581c8d7bf4416f49b
...
744f209 win: Enable C4800, implicit bool conversion
82060c1 mac: Make Mach port scopers better ScopedGenerics
d7270da Fix base::RandDouble()
R=mark@chromium.org
Review URL: https://codereview.chromium.org/1424463002 .
2015-10-22 14:49:50 -07:00
Scott Graham
4b780ba040
Tidy up to enable C4800 on Windows
...
Fixes two incorrect usages of ssize_t/off_t being implicitly converted
to bool. As such, I think it's worth the cost of the additional !! on
BOOL returning Win32 functions.
R=mark@chromium.org
Review URL: https://codereview.chromium.org/1408123006 .
2015-10-22 14:32:13 -07:00
Scott Graham
80f50467c3
Fix Mac after FileOperationResult change
...
Oops, forgot to test Mac, sorry.
R=mark@chromium.org
Review URL: https://codereview.chromium.org/1409973004 .
2015-10-22 14:17:03 -07:00
Scott Graham
a43323a1bf
Remove usage of compat from client
...
When used in client headers, the downstream dependency on compat
is unpleasant, so avoid that.
This is another alternative rather than
https://codereview.chromium.org/1424443002/ .
R=mark@chromium.org
BUG=chromium:546288, crashpad:1
Review URL: https://codereview.chromium.org/1419673007 .
2015-10-22 14:01:33 -07:00
Mark Mentovai
7ce14b280a
Update documentation to master 90ef7475cdb1
2015-10-22 09:29:05 -04:00
Mark Mentovai
d3e355c95b
Merge master 90ef7475cdb1 into doc
2015-10-22 09:28:53 -04:00
Scott Graham
90ef7475cd
win: Validate readability of memory ranges added to minidump
...
R=mark@chromium.org
BUG=crashpad:59
Review URL: https://codereview.chromium.org/1412243005 .
2015-10-21 16:07:03 -07:00
Mark Mentovai
0615a59285
doc: Update status to reflect Windows and Android progress
...
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/1415313003 .
2015-10-21 18:41:39 -04:00
Scott Graham
38b7e919f8
win: Fix x64 compile error in handle writer
...
R=mark@chromium.org
BUG=crashpad:52
Review URL: https://codereview.chromium.org/1408073005 .
2015-10-21 15:35:57 -07:00
Scott Graham
1407b21d69
Pool TypeName strings when writing MINIDUMP_HANDLE_DESCRIPTOR
...
Follow up to TODO in https://codereview.chromium.org/1419623003/ .
R=mark@chromium.org
BUG=crashpad:21, crashpad:52
Review URL: https://codereview.chromium.org/1411793005 .
2015-10-21 13:25:48 -07:00
Scott Graham
fe49473b3d
Fix mac after https://codereview.chromium.org/1419623003/
...
L"" and wstring are a bit of a mess cross-platform, so just store the
type name as UTF8 instead.
R=mark@chromium.org
BUG=crashpad:21, crashpad:52
Review URL: https://codereview.chromium.org/1421473005 .
2015-10-21 11:39:53 -07:00
Scott Graham
3261edd997
Write MINIDUMP_HANDLE_DATA_STREAM to minidump
...
R=mark@chromium.org
BUG=crashpad:21, crashpad:52
Review URL: https://codereview.chromium.org/1419623003 .
2015-10-21 10:43:42 -07:00
Mark Mentovai
3ac40a54d0
doc: Add generate_git.sh, which updates the checked-in generated docs
...
BUG=crashpad:67
R=agable@chromium.org
Review URL: https://codereview.chromium.org/1399623002 .
2015-10-21 13:22:51 -04:00
Mark Mentovai
af8c7fcbee
Add a README for the App Engine app with notes for maintaining it
...
R=andybons@chromium.org
Review URL: https://codereview.chromium.org/1416833003 .
2015-10-21 11:20:10 -04:00
Mark Mentovai
0ed0106aa4
Add /bug redirects to the home page AppEngine app
...
/bug/ redirects to the Crashpad project on Monorail. /bug/new redirects
to the “new issue” screen, and /bug/123 redirects to the named bug.
R=andybons@chromium.org
Review URL: https://codereview.chromium.org/1415063002 .
2015-10-21 09:42:29 -04:00
Mark Mentovai
6c0d42ce9d
Mach port scopers should use get() instead of type conversion operators
...
In https://codereview.chromium.org/1411523006 , the Mach port scopers are
becoming better ScopedGenerics and are losing the type conversion
operators in the process. This is needed to adapt to that change. get()
is ugly, but being explicit about conversion isn’t a bad thing, and
these scopers will gain functionality such as Pass() as part of the
switch.
As a bonus, some would-be uses of get() to check for valid port rights
are becoming a more descriptive is_valid().
R=rsesek@chromium.org
Review URL: https://codereview.chromium.org/1405273002 .
2015-10-20 11:03:25 -04:00
Mark Mentovai
43f66a15ef
Update documentation to master 53ccd8fc5e8a
2015-10-19 17:18:13 -04:00
Mark Mentovai
fb853734e7
Merge master 53ccd8fc5e8a into doc
2015-10-19 17:18:00 -04:00
Mark Mentovai
53ccd8fc5e
doc/developing.ad: replace removed backslash
...
Having two ~s in one block confused doc generation.
R=rsesek@chromium.org
Review URL: https://codereview.chromium.org/1413203002 .
2015-10-19 17:17:09 -04:00
Mark Mentovai
d075a9eb2e
win: Add and use GET_FUNCTION() and GET_FUNCTION_REQUIRED()
...
These wrap the GetProcAddress(LoadLibrary(), …) idiom into macros that
are much less wordy.
TEST=crashpad_util_test GetFunction.GetFunction and all others
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/1405323003 .
2015-10-19 14:32:07 -04:00
Mark Mentovai
8e64fd1509
Update documentation to master 2adcd13fd66b
2015-10-19 13:53:54 -04:00
Mark Mentovai
eef9aa3298
Merge master 2adcd13fd66b into doc
2015-10-19 13:53:42 -04:00
Mark Mentovai
2adcd13fd6
Update developer documentation to recommend the “fetch” tool
...
“fetch crashpad“ is possible since depot_tools ea1b3d5ed88b.
R=rsesek@chromium.org
Review URL: https://codereview.chromium.org/1408133003 .
2015-10-19 13:51:52 -04:00
Mark Mentovai
1818dbbb08
win: Fix crashpad_util_test ProcessInfo.Handles
...
This new test from 7de04b02f85d was failing on Windows 10. I started by
adding the hint, which produced “CreateFileMapping: Access is denied.
(0x5)â€. Switching the “Global\†to “Local\†fixes the test for me.
TEST=crashpad_util_test ProcessInfo.Handles
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/1407993003 .
2015-10-19 13:40:50 -04:00
Mark Mentovai
07dbc3259c
Use an even better random number generation scheme in the prune test
...
base::RandInt(0, max - 1) has a uniform distribution.
base::RandUint64() % max does not.
TEST=crashpad_client_test PruneCrashReports.PruneOrder
R=rsesek@chromium.org
Review URL: https://codereview.chromium.org/1417443002 .
2015-10-19 11:43:58 -04:00
Scott Graham
30678f1e82
Fix Mac build after https://codereview.chromium.org/1407643004
...
Oops.
R=mark@chromium.org
BUG=crashpad:21, crashpad:52
Review URL: https://codereview.chromium.org/1409823003 .
2015-10-16 16:33:40 -07:00
Scott Graham
4600643a78
Some plumbing for the beginning of getting handles into snapshot/minidump
...
Follows https://codereview.chromium.org/1400413002/ .
R=mark@chromium.org
BUG=crashpad:21, crashpad:46, crashpad:52
Review URL: https://codereview.chromium.org/1407643004 .
2015-10-16 15:58:40 -07:00
Scott Graham
7de04b02f8
win: Add Handles() to ProcessInfo
...
To eventually be used to fill out MINIDUMP_HANDLE_DESCRIPTOR.
R=mark@chromium.org
BUG=crashpad:21, crashpad:46, crashpad:52
Review URL: https://codereview.chromium.org/1400413002 .
2015-10-16 15:31:32 -07:00
Scott Graham
d1e49bd221
Fix CRITICAL_SECTION test
...
I thought I had confirmed that this still allocated and ignored the flag
on older OSs, but I must have not had the PLOG active yet? I'm not sure
what I did. (I might try to blame VMware as it has an annoying habit of
caching old binaries when you use it's "Shared Folders" feature to point
at the dev machine's build dir.)
I confirmed that it does work on Win8 and Win10 but doesn't on Win XP
and Win 7.
R=mark@chromium.org
BUG=crashpad:52
Review URL: https://codereview.chromium.org/1405243002 .
2015-10-16 14:55:14 -07:00
Scott Graham
71cc0a28a4
Add flush to output to try to diagnose locks failure
...
end_to_end_test.py started failing after landing
https://codereview.chromium.org/1392093003/ but I'm not sure why. It
seems
https://build.chromium.org/p/client.crashpad/builders/crashpad_win_x64_dbg/builds/45/steps/run%20tests/logs/stdio
to be aborting in a place that doesn't make much sense, so try adding
flushes to see if there's output getting lost.
R=mark@chromium.org
Review URL: https://codereview.chromium.org/1410633002 .
2015-10-15 15:03:18 -07:00
Scott Graham
4893a9b76d
win: Capture some CRITICAL_SECTION debugging data
...
Capture the memory for the loader lock (can be inspected by !cs), as
well as all locks that were created with .DebugInfo which can be viewed
with !locks.
e.g.
0:000> !cs ntdll!LdrpLoaderLock
-----------------------------------------
Critical section = 0x778d6410 (ntdll!LdrpLoaderLock+0x0)
DebugInfo = 0x778d6b6c
NOT LOCKED
LockSemaphore = 0x0
SpinCount = 0x04000000
0:000> !locks -v
CritSec ntdll!RtlpProcessHeapsListLock+0 at 778d7620
LockCount NOT LOCKED
RecursionCount 0
OwningThread 0
EntryCount 0
ContentionCount 0
CritSec +7a0248 at 007a0248
LockCount NOT LOCKED
RecursionCount 0
OwningThread 0
EntryCount 0
ContentionCount 0
CritSec crashy_program!g_critical_section_with_debug_info+0 at 01342c48
LockCount NOT LOCKED
RecursionCount 0
OwningThread 0
EntryCount 0
ContentionCount 0
CritSec crashy_program!crashpad::`anonymous namespace'::g_test_critical_section+0 at 01342be0
WaiterWoken No
LockCount 0
RecursionCount 1
OwningThread 34b8
EntryCount 0
ContentionCount 0
*** Locked
Scanned 4 critical sections
R=mark@chromium.org
BUG=crashpad:52
Review URL: https://codereview.chromium.org/1392093003 .
2015-10-15 13:18:08 -07:00
Robert Sesek
1f1a24cb51
Declare the random number generator lambda for std::random_shuffle as a local.
...
When not building against the C++11 library headers, the compiler cannot
treat the lambda as lvalue. When building against the C++11 library headers, it
is converted to an rvalue.
BUG=chromium:542321
R=mark@chromium.org
Review URL: https://codereview.chromium.org/1406733003 .
2015-10-14 16:56:04 -07:00
Mark Mentovai
f059c21048
Update mini_chromium to c9625ad5d23c25fbb477e7dbb4c1c8b9a9360f41
...
c9625ad5d23c Update base/numerics/* and base/template_util.h
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/1407603002 .
2015-10-13 13:19:19 -07:00
Scott Graham
019a0cec8b
win: Write memory map info as MINIDUMP_MEMORY_INFO[_LIST]
...
Makes !vprot work in windbg, e.g.
0:000> !vprot 0x970000
BaseAddress: 00970000
AllocationBase: 00970000
AllocationProtect: 00000004 PAGE_READWRITE
RegionSize: 00001000
State: 00001000 MEM_COMMIT
Protect: 00000001 PAGE_NOACCESS
Type: 00020000 MEM_PRIVATE
...
0:000> !vprot 0x97a000
BaseAddress: 0097a000
AllocationBase: 00970000
AllocationProtect: 00000004 PAGE_READWRITE
RegionSize: 00001000
State: 00001000 MEM_COMMIT
Protect: 00000140 PAGE_EXECUTE_READWRITE + PAGE_GUARD
Type: 00020000 MEM_PRIVATE
Follows https://codereview.chromium.org/1377133006 .
R=mark@chromium.org
BUG=crashpad:20, crashpad:46
Review URL: https://codereview.chromium.org/1379873005 .
2015-10-13 13:15:44 -07:00
Scott Graham
937d3d710c
Mostly-boilerplate to add MemoryMapSnapshot
...
Follows https://codereview.chromium.org/1375313005 .
Adds MINIDUMP_MEMORY_INFO for non-win in dbghelp.h.
R=mark@chromium.org
BUG=crashpad:20, crashpad:46
Review URL: https://codereview.chromium.org/1377133006 .
2015-10-13 12:37:44 -07:00
Scott Graham
4212d3e4ad
make cdb test using SYSTEMROOT case-insensitive
...
R=mark@chromium.org
BUG=crashpad:46
Review URL: https://codereview.chromium.org/1390913008 .
2015-10-09 16:50:14 -07:00
Scott Graham
c3f4e2d8eb
Ensure _NT_SYMBOL_PATH is set for bot runs in cdb test
...
Getting closer... Some tests passed on the last run, but the ones that
rely on having ntdll symbols fail on the bot. With `_NT_SYMBOL_PATH`
set, cdb will be able to download the PDBs so will be able to dump
data for `ntdll!_PEB`, etc.
R=mark@chromium.org
BUG=crashpad:46
Review URL: https://codereview.chromium.org/1402643002 .
2015-10-09 16:28:19 -07:00
Scott Graham
d7ee79cb36
Fix path to binary dir in cdb test
...
Oops, was passing the out dir (...\crashpad\out), not the binary dir
(...\crashpad\out\Debug). Didn't notice because I was running the
script directly, rather than via run_tests.py. :/
R=mark@chromium.org
BUG=crashpad:46
Review URL: https://codereview.chromium.org/1394343005 .
2015-10-09 14:43:11 -07:00
Scott Graham
52238122e9
Fix for cdb tests
...
There's a problem running crashpad_handler, but I'm not sure what it is.
I think an exception is getting swallowed because my handling of
`handler` was incorrect, so correctly initialize that to see the
exception.
https://build.chromium.org/p/client.crashpad/builders/crashpad_win_x64_rel/builds/36/steps/run%20tests/logs/stdio
"""
UnboundLocalError: local variable 'handler' referenced before assignment
"""
(I also realized the !locks code hasn't landed yet so disable those tests
for now too.)
R=mark@chromium.org
BUG=crashpad:46
Review URL: https://codereview.chromium.org/1391023006 .
2015-10-09 13:59:35 -07:00
Scott Graham
bbd00c3a91
win: Test some basic ! windbg commands
...
R=mark@chromium.org
BUG=crashpad:20, crashpad:46, crashpad:52
Review URL: https://codereview.chromium.org/1397833004 .
2015-10-09 13:39:39 -07:00