|
|
Chromium Code Reviews|
Created:
3 years, 10 months ago by James Cook Modified:
3 years, 10 months ago CC:
chromium-reviews, vmpstr+watch_chromium.org Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
Descriptionlinux/cros: Print a warning when StackDumpSignalHandler calls _exit(1)
StackDumpSignalHandler is used by EnableInProcessStackDumping, usually on non-
official builds. On Mac it prints the stack and re-raises the signal. On Linux
it prints the stack and calls _exit(1). This means that Linux and Chrome OS
builds won't leave core files or call crash_reporter. This is super-confusing
for developers, since most of us don't run official builds.
Print a warning that the crashing process is calling _exit(1) and that a core
file will not be generated.
BUG=551681
TEST=manual, trigger a CHECK, see the warning printed
Review-Url: https://codereview.chromium.org/2694023002
Cr-Commit-Position: refs/heads/master@{#450192}
Committed: https://chromium.googlesource.com/chromium/src/+/bb9edce13cdf6f840b3a940d3649d5631c660544
Patch Set 1 #Patch Set 2 : just warn #Messages
Total messages: 22 (16 generated)
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...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linu...)
Description was changed from ========== WIP BUG= ========== to ========== Re-raise signal in StackDumpSignalHandler (used by EnableInProcessStackDumping) Right now a crash on a non-official-build of Linux/Chrome OS will print a stack trace and then _exit(1). This means that on-device Chrome OS builds won't leave core files. It also makes it confusing to work on crash reporting. BUG=551681 ==========
Description was changed from ========== Re-raise signal in StackDumpSignalHandler (used by EnableInProcessStackDumping) Right now a crash on a non-official-build of Linux/Chrome OS will print a stack trace and then _exit(1). This means that on-device Chrome OS builds won't leave core files. It also makes it confusing to work on crash reporting. BUG=551681 ========== to ========== linux/cros: Print a warning when StackDumpSignalHandler calls _exit(1) StackDumpSignalHandler is used by EnableInProcessStackDumping, usually on non- official builds. On Mac it prints the stack and re-raises the signal. On Linux it prints the stack and calls _exit(1). This means that Linux and Chrome OS builds won't leave core files or call crash_reporter. This is super-confusing for developers, since most of us don't run official builds. Print a warning that the crashing process is calling _exit(1) and that a core file will not be generated. BUG=551681 TEST=manual, trigger a CHECK, see the warning printed ==========
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 ========== linux/cros: Print a warning when StackDumpSignalHandler calls _exit(1) StackDumpSignalHandler is used by EnableInProcessStackDumping, usually on non- official builds. On Mac it prints the stack and re-raises the signal. On Linux it prints the stack and calls _exit(1). This means that Linux and Chrome OS builds won't leave core files or call crash_reporter. This is super-confusing for developers, since most of us don't run official builds. Print a warning that the crashing process is calling _exit(1) and that a core file will not be generated. BUG=551681 TEST=manual, trigger a CHECK, see the warning printed ========== to ========== linux/cros: Print a warning when StackDumpSignalHandler calls _exit(1) StackDumpSignalHandler is used by EnableInProcessStackDumping, usually on non- official builds. On Mac it prints the stack and re-raises the signal. On Linux it prints the stack and calls _exit(1). This means that Linux and Chrome OS builds won't leave core files or call crash_reporter. This is super-confusing for developers, since most of us don't run official builds. Print a warning that the crashing process is calling _exit(1) and that a core file will not be generated. BUG=551681 TEST=manual, trigger a CHECK, see the warning printed ==========
jamescook@chromium.org changed reviewers: + erikchen@chromium.org
erikchen, please take a look. I hate to add logging, but I've been burned twice by this, for a total of 2 man-days of wasted time, while working on crash reporting for mustash. I tried to fix the underlying issue and make it re-raise signals, but I didn't make any headway on the underlying Chrome OS test failures.
On 2017/02/13 23:16:18, James Cook wrote: > erikchen, please take a look. I hate to add logging, but I've been burned twice > by this, for a total of 2 man-days of wasted time, while working on crash > reporting for mustash. I tried to fix the underlying issue and make it re-raise > signals, but I didn't make any headway on the underlying Chrome OS test > failures. lgtm. I believe I added the Mac reraising for the same reason [crash reporting doesn't work! https://bugs.chromium.org/p/chromium/issues/detail?id=549379]. I personally think that StackDumpSignalHandler() shouldn't exist [different behavior on official builds, and for exactly the reason you just ran into], but I didn't feel like making a stand.
jamescook@chromium.org changed reviewers: + mark@chromium.org
mark, can I get OWNERS? As I mentioned to Erik above, I hate to add logging, but I've been burned twice by StackDumpSignalHandler eating signals, for a total of 2 man-days of wasted time, while working on crash reporting for mustash. I tried to fix the underlying issue and make it re-raise signals, but I didn't make any headway on the underlying Chrome OS test failures.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
LGTM because this at least makes what’s happening obvious, but StackDumpSignalHandler is a mess. Also, getting re-raise right can be tricky.
The CQ bit was checked by jamescook@chromium.org
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": 20001, "attempt_start_ts": 1487035770869960,
"parent_rev": "ed9773f95712d0477ef7f3f2e7be3d6d79d934b1", "commit_rev":
"bb9edce13cdf6f840b3a940d3649d5631c660544"}
Message was sent while issue was closed.
Description was changed from ========== linux/cros: Print a warning when StackDumpSignalHandler calls _exit(1) StackDumpSignalHandler is used by EnableInProcessStackDumping, usually on non- official builds. On Mac it prints the stack and re-raises the signal. On Linux it prints the stack and calls _exit(1). This means that Linux and Chrome OS builds won't leave core files or call crash_reporter. This is super-confusing for developers, since most of us don't run official builds. Print a warning that the crashing process is calling _exit(1) and that a core file will not be generated. BUG=551681 TEST=manual, trigger a CHECK, see the warning printed ========== to ========== linux/cros: Print a warning when StackDumpSignalHandler calls _exit(1) StackDumpSignalHandler is used by EnableInProcessStackDumping, usually on non- official builds. On Mac it prints the stack and re-raises the signal. On Linux it prints the stack and calls _exit(1). This means that Linux and Chrome OS builds won't leave core files or call crash_reporter. This is super-confusing for developers, since most of us don't run official builds. Print a warning that the crashing process is calling _exit(1) and that a core file will not be generated. BUG=551681 TEST=manual, trigger a CHECK, see the warning printed Review-Url: https://codereview.chromium.org/2694023002 Cr-Commit-Position: refs/heads/master@{#450192} Committed: https://chromium.googlesource.com/chromium/src/+/bb9edce13cdf6f840b3a940d3649... ==========
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as https://chromium.googlesource.com/chromium/src/+/bb9edce13cdf6f840b3a940d3649... |
