Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(534)

Issue 8086003: Back out trunk r103089 because it caused bug 98550. (Closed)

Created:
9 years, 2 months ago by Mark Mentovai
Modified:
9 years, 2 months ago
Reviewers:
Mark Mentovai
CC:
chromium-reviews, darin-cc_chromium.org, brettw-cc_chromium.org
Visibility:
Public.

Description

Back out trunk r103089 because it caused bug 98550. Give each process its own bootstrap subset port as a subset of its inherited bootstrap port, and use the bootstrap subset port as the bootstrap port. This completely eliminates leaks of on-demand Mach services advertised via the bootstrap server. This also reverts r34318 and r34534, "temporary" (21-month) hacks to mitigate the leak. The temporary hacks were never completely effective against Breakpad ports leaking from child processes. DestructCrashReporter at process shutdown was deemed unnecessary and is being removed. As this was the last caller to that function, the implementation is removed as well. This is addressed in Chrome rather than Breakpad to account for the potential leak of rohitfork ports if the browser process crashes or is mercilessly killed, because library code messing with the task's bootstrap port doesn't strike me as kosher, and because the Mac Breakpad code is scheduled to be replaced with something better that doesn't attempt to leak ports like a sieve within a couple of months anyway. BUG=28547, 98550 TEST=1. "launchctl bslist" should no longer show on-demand com.Breakpad.Inspector ports (in Breakpad-enabled builds with Breakpad on) or com.google.Chrome.rohitfork, com.google.Chrome.canary.rohitfork, or org.chromium.Chromium.rohitfork ports. 2. "launchctl bstree" (as root) should reveal a bootstrap subset for the browser process as a child of the per-user/per-session bootstrap namespace containing the rohitfork port and browser's Breakpad port if crash reporting is on. There should also be a bootstrap subset for each child process as a child of the browser's bootstrap subset. If crash reporting is on, each child process' bootstrap subset should contain a Breakpad port. 3. Breakpad reports should be generated on crashes. For example, about:crash and about:inducebrowsercrashforrealz should each cause a minidump to be written in ~/Library/Application Support/Google/Chrome/Crash Reports when Breakpad is enabled. This tests that the Breakpad ports are functioning properly. 4. The browser process should be able to access child process data. Window:Task Manager should show valid values for the Memory, CPU, and Network columns for all child processes. This tests that the rohitfork port is functioning properly. Review URL: http://codereview.chromium.org/8059041 TBR=mark@chromium.org Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=103303

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+158 lines, -69 lines) Patch
M chrome/app/breakpad_mac.h View 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/app/breakpad_mac.mm View 1 chunk +7 lines, -0 lines 0 comments Download
M chrome/app/breakpad_mac_stubs.mm View 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/app/chrome_main.cc View 2 chunks +5 lines, -2 lines 0 comments Download
M chrome/app/chrome_main_mac.h View 1 chunk +0 lines, -23 lines 0 comments Download
M chrome/app/chrome_main_mac.mm View 2 chunks +0 lines, -44 lines 0 comments Download
M chrome/renderer/chrome_render_process_observer.cc View 3 chunks +140 lines, -0 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
Mark Mentovai
9 years, 2 months ago (2011-09-29 17:37:59 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698