|
|
Chromium Code Reviews|
Created:
3 years, 9 months ago by James Cook Modified:
3 years, 9 months ago Reviewers:
sky CC:
chromium-reviews, sadrul, hashimoto+watch_chromium.org, derat+watch_chromium.org, vmpstr+watch_chromium.org, oshima+watch_chromium.org, kalyank Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
Descriptionchromeos/mash: Reset signal handler mask on chrome --mash startup
This fixes an issue where the system tray "sign out" item does not cleanly
sign out of the session.
chrome inherits its signal handler masks from the parent process. These
masks are not guaranteed to be in any particular state, so they need to be
cleared on startup. Otherwise the SIGTERM signal is blocked, so the signal
handler doesn't run, so session_manager cannot cleanly shut down chrome.
For non-mash chrome this is done as part of content main initialization,
but mash chrome doesn't run that code.
BUG=699143, 699777
TEST=System tray > Sign out takes you back to login screen promptly.
Also, "stop ui" on device, look at /var/log/messages, see signal 15 being
sent and chrome immediately exiting (and no signal 6 sent to kill it).
Review-Url: https://codereview.chromium.org/2731283008
Cr-Commit-Position: refs/heads/master@{#455603}
Committed: https://chromium.googlesource.com/chromium/src/+/043b638699e0d9854aa53dfc0eeac1f8b7be16b4
Patch Set 1 : more logs #Patch Set 2 : cleanup #Patch Set 3 : final patch #Patch Set 4 : add comment with bug number #Messages
Total messages: 23 (17 generated)
Description was changed from ========== Debug SIGTERM not working on device with chrome --mash more logs more logging lots of logs, for some reason signal handlers aren't being triggered BUG= ========== to ========== chromeos/mash: Reset signal handler mask on chrome --mash startup This fixes an issue where the system tray "sign out" item does not cleanly sign out of the session. chrome inherits its signal handler masks from the parent process. These masks are not guaranteed to be in any particular state, so they need to be cleared on startup. Otherwise the SIGTERM signal is blocked, so the signal handler doesn't run, so session_manager cannot cleanly shut down chrome. For non-mash chrome this is done as part of content main initialization, but mash chrome doesn't run that code. BUG=699143 TEST=stop ui on device, look at /var/log/messages, see signal 15 being sent and chrome immediately exiting (and signal 6 not being sent to kill it) ==========
Patchset #1 (id:1) has been deleted
Patchset #4 (id:80001) has been deleted
Patchset #3 (id:60001) has been deleted
The CQ bit was checked by jamescook@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== chromeos/mash: Reset signal handler mask on chrome --mash startup This fixes an issue where the system tray "sign out" item does not cleanly sign out of the session. chrome inherits its signal handler masks from the parent process. These masks are not guaranteed to be in any particular state, so they need to be cleared on startup. Otherwise the SIGTERM signal is blocked, so the signal handler doesn't run, so session_manager cannot cleanly shut down chrome. For non-mash chrome this is done as part of content main initialization, but mash chrome doesn't run that code. BUG=699143 TEST=stop ui on device, look at /var/log/messages, see signal 15 being sent and chrome immediately exiting (and signal 6 not being sent to kill it) ========== to ========== chromeos/mash: Reset signal handler mask on chrome --mash startup This fixes an issue where the system tray "sign out" item does not cleanly sign out of the session. chrome inherits its signal handler masks from the parent process. These masks are not guaranteed to be in any particular state, so they need to be cleared on startup. Otherwise the SIGTERM signal is blocked, so the signal handler doesn't run, so session_manager cannot cleanly shut down chrome. For non-mash chrome this is done as part of content main initialization, but mash chrome doesn't run that code. BUG=699143 TEST=stop ui on device, look at /var/log/messages, see signal 15 being sent and chrome immediately exiting (and signal 6 not being sent to kill it) ==========
jamescook@chromium.org changed reviewers: + sky@chromium.org
sky, please take a look. I ended up talking with nick@ about where this code should live. It turns out I only need 3 lines of it, so we decided copy/pasting it was better than introducing a //chrome/app/mash -> //content dependency.
it might be worthwhile filing a bug about the unexpected mask, just so there's some record of why this was necessary beyond our hard-to-search-for and probably deleted-at-some-point hangouts conversation.
Description was changed from ========== chromeos/mash: Reset signal handler mask on chrome --mash startup This fixes an issue where the system tray "sign out" item does not cleanly sign out of the session. chrome inherits its signal handler masks from the parent process. These masks are not guaranteed to be in any particular state, so they need to be cleared on startup. Otherwise the SIGTERM signal is blocked, so the signal handler doesn't run, so session_manager cannot cleanly shut down chrome. For non-mash chrome this is done as part of content main initialization, but mash chrome doesn't run that code. BUG=699143 TEST=stop ui on device, look at /var/log/messages, see signal 15 being sent and chrome immediately exiting (and signal 6 not being sent to kill it) ========== to ========== chromeos/mash: Reset signal handler mask on chrome --mash startup This fixes an issue where the system tray "sign out" item does not cleanly sign out of the session. chrome inherits its signal handler masks from the parent process. These masks are not guaranteed to be in any particular state, so they need to be cleared on startup. Otherwise the SIGTERM signal is blocked, so the signal handler doesn't run, so session_manager cannot cleanly shut down chrome. For non-mash chrome this is done as part of content main initialization, but mash chrome doesn't run that code. BUG=699143 TEST=System tray > Sign out takes you back to login screen promptly. Also, "stop ui" on device, look at /var/log/messages, see signal 15 being sent and chrome immediately exiting (and no signal 6 sent to kill it). ==========
Rubber stamp LGTM
Description was changed from ========== chromeos/mash: Reset signal handler mask on chrome --mash startup This fixes an issue where the system tray "sign out" item does not cleanly sign out of the session. chrome inherits its signal handler masks from the parent process. These masks are not guaranteed to be in any particular state, so they need to be cleared on startup. Otherwise the SIGTERM signal is blocked, so the signal handler doesn't run, so session_manager cannot cleanly shut down chrome. For non-mash chrome this is done as part of content main initialization, but mash chrome doesn't run that code. BUG=699143 TEST=System tray > Sign out takes you back to login screen promptly. Also, "stop ui" on device, look at /var/log/messages, see signal 15 being sent and chrome immediately exiting (and no signal 6 sent to kill it). ========== to ========== chromeos/mash: Reset signal handler mask on chrome --mash startup This fixes an issue where the system tray "sign out" item does not cleanly sign out of the session. chrome inherits its signal handler masks from the parent process. These masks are not guaranteed to be in any particular state, so they need to be cleared on startup. Otherwise the SIGTERM signal is blocked, so the signal handler doesn't run, so session_manager cannot cleanly shut down chrome. For non-mash chrome this is done as part of content main initialization, but mash chrome doesn't run that code. BUG=699143,699777 TEST=System tray > Sign out takes you back to login screen promptly. Also, "stop ui" on device, look at /var/log/messages, see signal 15 being sent and chrome immediately exiting (and no signal 6 sent to kill it). ==========
The CQ bit was checked by jamescook@chromium.org to run a CQ dry run
On 2017/03/08 23:16:41, sky wrote: > Rubber stamp LGTM Filed crbug.com/699777 about the session_manager issue and added it to the code comment.
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by jamescook@chromium.org
The CQ bit was checked by jamescook@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from sky@chromium.org Link to the patchset: https://codereview.chromium.org/2731283008/#ps120001 (title: "add comment with bug number")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch.
Bot data: {"patchset_id": 120001, "attempt_start_ts": 1489015847187680,
"parent_rev": "6cb34f5b892c6929f451f8600e67e9ced7862731", "commit_rev":
"043b638699e0d9854aa53dfc0eeac1f8b7be16b4"}
Message was sent while issue was closed.
Description was changed from ========== chromeos/mash: Reset signal handler mask on chrome --mash startup This fixes an issue where the system tray "sign out" item does not cleanly sign out of the session. chrome inherits its signal handler masks from the parent process. These masks are not guaranteed to be in any particular state, so they need to be cleared on startup. Otherwise the SIGTERM signal is blocked, so the signal handler doesn't run, so session_manager cannot cleanly shut down chrome. For non-mash chrome this is done as part of content main initialization, but mash chrome doesn't run that code. BUG=699143,699777 TEST=System tray > Sign out takes you back to login screen promptly. Also, "stop ui" on device, look at /var/log/messages, see signal 15 being sent and chrome immediately exiting (and no signal 6 sent to kill it). ========== to ========== chromeos/mash: Reset signal handler mask on chrome --mash startup This fixes an issue where the system tray "sign out" item does not cleanly sign out of the session. chrome inherits its signal handler masks from the parent process. These masks are not guaranteed to be in any particular state, so they need to be cleared on startup. Otherwise the SIGTERM signal is blocked, so the signal handler doesn't run, so session_manager cannot cleanly shut down chrome. For non-mash chrome this is done as part of content main initialization, but mash chrome doesn't run that code. BUG=699143,699777 TEST=System tray > Sign out takes you back to login screen promptly. Also, "stop ui" on device, look at /var/log/messages, see signal 15 being sent and chrome immediately exiting (and no signal 6 sent to kill it). Review-Url: https://codereview.chromium.org/2731283008 Cr-Commit-Position: refs/heads/master@{#455603} Committed: https://chromium.googlesource.com/chromium/src/+/043b638699e0d9854aa53dfc0eea... ==========
Message was sent while issue was closed.
Committed patchset #4 (id:120001) as https://chromium.googlesource.com/chromium/src/+/043b638699e0d9854aa53dfc0eea... |
