diff options
| author | Joe Tsai <joetsai@digital-static.net> | 2025-02-13 15:59:32 -0800 |
|---|---|---|
| committer | Joseph Tsai <joetsai@digital-static.net> | 2025-11-24 12:21:26 -0800 |
| commit | 02d1f3a06bc6900ad5c1b7c11b1fd38cbddef395 (patch) | |
| tree | b3280fe5a46925b5da9560be73f9d9da4268f5fd /src/runtime/panic.go | |
| parent | a593ca9d657efb1ea021c9fc51cb528c398bbf4e (diff) | |
| download | go-02d1f3a06bc6900ad5c1b7c11b1fd38cbddef395.tar.xz | |
runtime: respect GOTRACEBACK for user-triggered runtime panics
The documentation for GOTRACEBACK says that "single" is the default
where the stack trace for only a single routine is printed except
that it prints all stack traces if:
there is no current goroutine or
the failure is internal to the run-time.
In the runtime, there are two types of panics:
throwTypeUser and throwTypeRuntime.
The latter more clearly corresponds to a
"failure [that] is internal to the run-time",
while the former corresponds to a
problem trigger due to a user mistake.
Thus, a user-triggered panic (e.g., concurrent map access)
should not result in a dump of all stack traces.
Fixes #68019
Change-Id: I9b02f82535ddb9fd666f7158e2e4ee10f235646a
Reviewed-on: https://go-review.googlesource.com/c/go/+/649535
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src/runtime/panic.go')
0 files changed, 0 insertions, 0 deletions
