summaryrefslogtreecommitdiffstats
path: root/chrome/chrome_watcher
Commit message (Collapse)AuthorAgeFilesLines
* Replace template_util.h stuff with C++11 <type_traits>tzik2016-03-101-2/+1
| | | | | | | | BUG=554293 Review URL: https://codereview.chromium.org/1774443002 Cr-Commit-Position: refs/heads/master@{#380369}
* Convert Pass()→std::move() on Windowsdcheng2016-03-021-3/+5
| | | | | | | | | | | | | Also cleaned up a few stragglers from grepping the source: it's unclear if these are just building with weird defines, don't build at all, only build on obscure platforms, or something else… either way, Pass() itself will be removed shortly after this. BUG=557422 Review URL: https://codereview.chromium.org/1752233002 Cr-Commit-Position: refs/heads/master@{#378872}
* chrome_watcher_main.cc: Fix -Wsign-compare errorhans2016-02-191-1/+2
| | | | | | | | | | | | | | | ..\..\chrome\chrome_watcher\chrome_watcher_main.cc(269,23): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'int' [-Werror,-Wsign-compare] if (suspend_count != -1) { ~~~~~~~~~~~~~ ^ ~~ BUG=82385 TBR=siggi Review URL: https://codereview.chromium.org/1719443002 Cr-Commit-Position: refs/heads/master@{#376500}
* Grab a context record for the main thread of hung processes.siggi2016-02-182-4/+31
| | | | | | | | BUG=585953 Review URL: https://codereview.chromium.org/1707813003 Cr-Commit-Position: refs/heads/master@{#376215}
* Fix the Kasko GN build.pmonette2016-02-101-0/+1
| | | | | | Review URL: https://codereview.chromium.org/1685233002 Cr-Commit-Position: refs/heads/master@{#374765}
* Get crash keys from crashpad in hung browser reports.pmonette2016-02-013-32/+13
| | | | | | | | | | | | Uses the Crashpad snapshot API to do so. Also moves GetLoadedModulesSnapshot() to base so it can get reused. BUG=485149 Review URL: https://codereview.chromium.org/1609303003 Cr-Commit-Position: refs/heads/master@{#372801}
* Added an integration test for kasko hang reportspmonette2016-01-292-12/+12
| | | | | | Review URL: https://codereview.chromium.org/1543803005 Cr-Commit-Position: refs/heads/master@{#372442}
* Switched Kasko to use the new buildflag system.pmonette2016-01-083-16/+12
| | | | | | | | | | Moved gyp build to third_party/kasko Also fixed some build issues that came with rebasing to tip of tree. Review URL: https://codereview.chromium.org/1526213002 Cr-Commit-Position: refs/heads/master@{#368212}
* Can now enable Kasko crash reporting in GN buildpmonette2016-01-051-0/+1
| | | | | | | | BUG=511465 Review URL: https://codereview.chromium.org/1490113008 Cr-Commit-Position: refs/heads/master@{#367580}
* Use .rc strings in fewer places for installer util.brettw2015-12-291-1/+1
| | | | | | | | | | The resource strings are needed only for the setup app and unit tests. Previously they were also linked into Chrome. This clarifies the usage and renames the targets to force you to pick (previously the naming encouraged you to link to the strings, which is probably not correct for most cases. Review URL: https://codereview.chromium.org/1545803002 Cr-Commit-Position: refs/heads/master@{#367057}
* Split GN installer_util into one that has no strings.brettw2015-12-221-1/+1
| | | | | | | | | | | | After a lot of study, the GYP build of chrome.exe is smaller partially because it doesn't include all of these generated strings. The strings are not needed by chrome.exe, but there is no sub-part of chrome/installer/util that can be factored such that the part that chrome.exe uses does not depend on the strings. This patch makes two targets, one for if you want the strings, and one for if you don't. This is rather precarious so I named the non-string-including target in a very detailed way. The result is the final link matches GYP in this respect, and saves about 200KB on chrome.exe TBR=dpranke@chromium.org Review URL: https://codereview.chromium.org/1534903002 Cr-Commit-Position: refs/heads/master@{#366618}
* [Kasko] Add ability to explicitly set Kasko configuration for testing.chrisha2015-12-101-3/+43
| | | | | | | | | | This allows Kasko defaults to be over-ridden via environment variables, enabling easier integration testing. BUG=564329 Review URL: https://codereview.chromium.org/1512323002 Cr-Commit-Position: refs/heads/master@{#364523}
* Fix chrome-branded component buildspmonette2015-12-081-0/+1
| | | | | | | | | | With is_chrome_branded = true and is_component_build = true, a linker error (unresolved external symbol) was generated for kForceFieldTrials in targets delegate_execute and chrome_watcher. Review URL: https://codereview.chromium.org/1507093002 Cr-Commit-Position: refs/heads/master@{#363790}
* Run gn --format over all .gn filesagrieve2015-11-201-1/+1
| | | | | | | | | | | | | | | | The recent formatter alphebetizing change is causing a lot of noise in code reviews. Figured it'd be worth a clean-up CL. Exact command I ran: find . -name "*.gn*" -exec gn format --in-place "{}" \; TBR=ddorwin@chromium.org BUG=554928 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1464873002 Cr-Commit-Position: refs/heads/master@{#360891}
* Remove ExitFunnel instrumentation and clean up leaked data.siggi2015-10-071-44/+3
| | | | | | | | BUG=442526 Review URL: https://codereview.chromium.org/1373573004 Cr-Commit-Position: refs/heads/master@{#352870}
* Annotate GN executables and shared_libraries with sanitizer deps.brettw2015-08-311-0/+1
| | | | | | | | | | | | | | | | | These are needed to link in asan/lsan/etc. mode. GYP injects these automatically but GN doesn't have automatic dependency injection. All tests and components (which cover the vast majority of such targets in actual use) are templates which add these dependencies already, so most of the time it never comes up. Only a few of these changes are actually necessary to link all tests run on the asan bot (which is also what engineers will typically build, since almost nobody will build all in asan mode). But to reduce confusion from linker errors in asan mode, I annotated all executables and shared libraries I could find with the sanitizer dependency. I moved a config out of a target in yasm, and sorted a fews deps on other targets. TBR=xhwang@chromium.org (widevine) TBR=achuith@chromium.org (tools/perf, tools/telemetry) Review URL: https://codereview.chromium.org/1318343003 Cr-Commit-Position: refs/heads/master@{#346490}
* Add Linux build packaging targets to GNbrettw2015-08-281-0/+1
| | | | | | | | | | | | | | | | | | | Changes the version processing templates to not implicitly include the chrome version .rc file. This was something I've been meaning to do for a while which was forced by this patch, because it wants to call version.py with no sources or template file. I also had to remove some checks that either a template file or sources were defined (I wasn't aware this was valid to do when I wrote these checks). The above-mentioned change necessitated referencing the version template file from a number of existing calls. The version script now explicitly sets the output file with -o. Previously this was the implicit second argument, but this didn't work if there was no template file. -o is the same and it's better to be more explicit anyway. Added copy rules for xdg-mime related scripts which are required by the installer. Added a meta "installer" target which links to the Linux installers. This will also be a good place to hook up the Windows installer when we write it. BUG=525839 TBR=thestig@chromium.org (linux installer), ddorwin@chromium.org (widevine) Review URL: https://codereview.chromium.org/1311543003 Cr-Commit-Position: refs/heads/master@{#346279}
* Redefine CreateFileVersionInfoForCurrentModule() as a macro on Windows.gab2015-08-281-2/+1
| | | | | | | | | | | | | This makes extra sure that inlining occurs. When __force_inline doesn't work... brute-force-inline..! BUG=516359 TBR=gene@chromium.org Review URL: https://codereview.chromium.org/1306603003 Cr-Commit-Position: refs/heads/master@{#346041}
* Synthesize an exception when reporting a hung process.erikwright2015-07-312-12/+23
| | | | | | | | | | | | This should cause the Crash backend to activate its magic signature bucketing logic, which will assist in triaging these reports. BUG= TBR=siggi NOTRY=true Review URL: https://codereview.chromium.org/1257403002 Cr-Commit-Position: refs/heads/master@{#341380}
* Remove myself from OWNERS files.erikwright2015-07-311-1/+0
| | | | | | | | | BUG= TBR=robertshield, cbentzel, siggi, caitkp, jochen, shess Review URL: https://codereview.chromium.org/1256823006 Cr-Commit-Position: refs/heads/master@{#341352}
* clang/win: Fix warnings to prepare for building without -Wno-reorder.sammc2015-07-021-9/+9
| | | | | | | | | | | | | This changes constructor initializer list ordering to match field declaration ordering, except for gtest and breakpad, where the warning is disabled. BUG=505304 NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1210013007 Cr-Commit-Position: refs/heads/master@{#337152}
* Disable hang reports.erikwright2015-06-181-0/+2
| | | | | | | | | | These will be re-enabled when they become more actionable. At the moment they interfere with SyzyASAN reporting. BUG=478209 Review URL: https://codereview.chromium.org/1190463005 Cr-Commit-Position: refs/heads/master@{#335101}
* Log kasko reports to Windows Event Log.erikwright2015-06-171-1/+68
| | | | | | | | BUG=485137 Review URL: https://codereview.chromium.org/1190743002 Cr-Commit-Position: refs/heads/master@{#334849}
* Add a GN flag for the Windows multi-dll build.brettw2015-05-011-1/+0
| | | | | | | | | | | | | The first pass of moving the other Chrome-specific build flags out of the root build config file and into the new one. This requires both ffmpeg and Blink changes to finish landing. Originally landed as https://codereview.chromium.org/1120803003/ TBR=scottmg@chromium.org TBR=ddorwin@chromium.org (widevine) CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg Review URL: https://codereview.chromium.org/1123433002 Cr-Commit-Position: refs/heads/master@{#327998}
* Replace MessageLoopProxy usage with ThreadTaskRunnerHandle in chrome watcher ↵pranay.kumar2015-04-281-6/+6
| | | | | | | | | | | | | | | module. MessageLoopProxy is deprecated. This basically does a search and replace: MessageLoopProxy::current() -> ThreadTaskRunnerHandle::Get(). BUG=391045 Review URL: https://codereview.chromium.org/1103343003 Cr-Commit-Position: refs/heads/master@{#327363}
* Send a crash report when a hung process is detected.erikwright2015-04-235-8/+80
| | | | | | | | | | | BUG=478209 Committed: https://crrev.com/8431e8f39edd5d7bff793f446035207fee6dacd1 Cr-Commit-Position: refs/heads/master@{#326559} Review URL: https://codereview.chromium.org/1060203004 Cr-Commit-Position: refs/heads/master@{#326617}
* Revert of Send a crash report when a hung process is detected. (patchset #6 ↵jdonnelly2015-04-235-80/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:100001 of https://codereview.chromium.org/1060203004/) Reason for revert: Bot failure: FAILED: E:/b/build/slave/Win_x64_GN/build/src/buildtools/win/gn.exe --root=E:/b/build/slave/Win_x64_GN/build/src -q gen //out/Release_x64/ ERROR Unresolved dependencies. //chrome/chrome_watcher:chrome_watcher(//build/toolchain/win:64) needs //chrome/chrome_watcher:installer_util(//build/toolchain/win:64) Original issue's description: > Send a crash report when a hung process is detected. > > BUG=478209 > > Committed: https://crrev.com/8431e8f39edd5d7bff793f446035207fee6dacd1 > Cr-Commit-Position: refs/heads/master@{#326559} TBR=siggi@chromium.org,grt@chromium.org,erikwright@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=478209 Review URL: https://codereview.chromium.org/1057363006 Cr-Commit-Position: refs/heads/master@{#326564}
* Send a crash report when a hung process is detected.erikwright2015-04-235-8/+80
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/1060203004 Cr-Commit-Position: refs/heads/master@{#326559}
* Integrate the WindowHangMonitor with the Chrome Watcher process.erikwright2015-04-172-8/+42
| | | | | | | | | | | | This CL passes the default user data dir to the Chrome Watcher process, which uses it in order to monitor the responsiveness of the process singleton window. Hangs and other events are reported via UMA. BUG=478209 Review URL: https://codereview.chromium.org/1066793002 Cr-Commit-Position: refs/heads/master@{#325690}
* Introduce a dedicated compile-time switch for Kasko.erikwright2015-03-062-6/+6
| | | | | | | | BUG=460512 Review URL: https://codereview.chromium.org/984653003 Cr-Commit-Position: refs/heads/master@{#319439}
* Re-point Kasko at the production crash server.erikwright2015-03-051-1/+1
| | | | | | | | BUG=460512 Review URL: https://codereview.chromium.org/976663002 Cr-Commit-Position: refs/heads/master@{#319338}
* Fix official build in GNbrettw2015-02-251-5/+3
| | | | | | | | | | | | Changes process_version template. In GYP this is used in two ways and the GN version only supported one of these. This change also deletes an unnecessary fork of the template file, and fixes the dependencies for the extra files (previously they were just passed with "-f" and not added to the inputs of the target. Adds a cdm_adapter template which basically matches the GYP version. Uses this for the media clearkey adapter and the widevine one in the official build. Fixes for the crypto targets when compiling with the official build's checked-in sysroots. Review URL: https://codereview.chromium.org/949233003 Cr-Commit-Position: refs/heads/master@{#318083}
* Instantiate a Kasko reporter inside the Chrome watcher process, when ↵erikwright2015-02-206-4/+60
| | | | | | | | | | SyzyASAN instrumented. BUG=460512 Review URL: https://codereview.chromium.org/901673002 Cr-Commit-Position: refs/heads/master@{#317385}
* Sort GN files under chromesatorux2015-02-131-1/+1
| | | | | | | | | | | | For tools/sort_sources.py to be useful, existing GYP files should be sorted. BUG=456014 TEST=everything should build as before Review URL: https://codereview.chromium.org/923863002 Cr-Commit-Position: refs/heads/master@{#316184}
* Sort GYP files under chrome sub directories using tools/sort_sources.pysatorux2015-02-131-1/+1
| | | | | | | | | | | | | | | GYP files directly under chrome were sorted in crrev.com/315927 The patch is to sort smaller GYP files in sub directories. Also fix a bug where rc.version, ico, def, release suffixes weren't handled correctly. BUG=456014 TEST=everything should build as before Review URL: https://codereview.chromium.org/914243003 Cr-Commit-Position: refs/heads/master@{#316127}
* Stretch watcher's lifetime if it sees WM_ENDSESSION before process exit.siggi2015-02-111-13/+20
| | | | | | | | | R=erikwright@chromium.org BUG=412384 Review URL: https://codereview.chromium.org/915123003 Cr-Commit-Position: refs/heads/master@{#315833}
* Introduce the ability to wait for the watcher process to initialize.erikwright2015-02-042-16/+35
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/886613002 Cr-Commit-Position: refs/heads/master@{#314563}
* Instrument watcher for WM_QUERYENDSESSION.siggi2015-02-021-5/+10
| | | | | | | | | R=asvitkine@chromium.org, erikwright@chromium.org BUG=412384 Review URL: https://codereview.chromium.org/886313003 Cr-Commit-Position: refs/heads/master@{#314209}
* Add GN targets for chrome_process_finder, image_pre_reader, chrome_watcher.vchigrin2015-01-271-0/+42
| | | | | | Review URL: https://codereview.chromium.org/876473003 Cr-Commit-Position: refs/heads/master@{#313253}
* Move watcher_main_api to chrome_watcher_main_api.erikwright2015-01-164-4/+49
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/846533004 Cr-Commit-Position: refs/heads/master@{#311931}
* Record mode of endsession in watcher.siggi2015-01-141-0/+10
| | | | | | | | | R=erikwright@chromium.org BUG=412384 Review URL: https://codereview.chromium.org/846383003 Cr-Commit-Position: refs/heads/master@{#311539}
* Use a window to catch WM_ENDSESSION.siggi2015-01-141-59/+138
| | | | | | | | | | | Rejig the watcher to run a message loop on the main thread, and to do the blocking wait on a dedicated background thread. BUG=412384 Review URL: https://codereview.chromium.org/848033005 Cr-Commit-Position: refs/heads/master@{#311390}
* Refactor parsing of the Chrome Watcher command line to make the parent ↵erikwright2015-01-091-5/+6
| | | | | | | | | | | | handle accessible outside ExitCodeWatcher. This CL changes the API between chrome/app and chrome/chrome_watcher. Previously, chrome_watcher was responsible for choosing and interpreting a command-line for launching the Watcher. Now the watcher API is a typical typed C++ API and chrome/app is responsible for all command-line handling. BUG= Review URL: https://codereview.chromium.org/841553003 Cr-Commit-Position: refs/heads/master@{#310802}
* Add a console control handler chrome_watcher.dll.siggi2014-12-191-1/+54
| | | | | | | | | | | | This will hopefully allow conclusively answering whether the problem is at ExitWindows-time. R=erikwright@chromium.org, mpearson@chromium.org BUG=412384 Review URL: https://codereview.chromium.org/811603003 Cr-Commit-Position: refs/heads/master@{#309201}
* Switch ExitCodeWatcher to base::Process.siggi2014-12-181-21/+4
| | | | | | | | | R=erikwright@chromium.org BUG=412384 Review URL: https://codereview.chromium.org/807513003 Cr-Commit-Position: refs/heads/master@{#309073}
* Instrument some of the exit paths likely to suffer hangs.siggi2014-12-131-0/+24
| | | | | | | | | | | | | This is temporary instrumentation to try and narrow down the area and mode where Chrome is (likely) hanging on logoff/restart. TBR=mpearson@chromium.org,erikwright@chromium.org BUG=412384 Review URL: https://codereview.chromium.org/796963002 Cr-Commit-Position: refs/heads/master@{#308222}
* Reland: Enable MSVC warning for unused locals.pkasting2014-11-221-8/+4
| | | | | | | | | | BUG=81439 TEST=none TBR=brettw Review URL: https://codereview.chromium.org/746133003 Cr-Commit-Position: refs/heads/master@{#305335}
* Build the chrome_watcher.dll binary, spawn the watcher process and glue in ↵siggi2014-11-216-0/+139
the metrics provider. This will add a new process to each chrome process tree, the --type="watcher". This process type will load the chrome_watcher.dll, whose sole purpose in life (for now) is to wait for the browser to exit, and to record its exit code in registry. Ultimately the OOP crash handler will move out of Omaha, and end up co-habitating this process and the chrome_watcher.dll. BUG=412384 Review URL: https://codereview.chromium.org/741743002 Cr-Commit-Position: refs/heads/master@{#305293}