microsoft / microsoft/go

WER dumps generate corrupted stacks

Open
#1,357 1 comment 0 reactions 1 assignee View on GitHub

@qmuntal is already working on this.

Since Oct 8, 2024.

Dominant language
Go
Stars
431
Forks
44
Avg merge
21h 18m
Merged PRs (30d)
30

Description

The Core OS team are trying to use WER dumps generated by setting GOTRACEBACK=wer. They can successfully generate dumps for crashing programs, but with what seems to be corrupted stack traces.

WER support for Go was upstreamed by us in Go 1.21 (see https://github.com/golang/go/issues/57441). One of the limitations at that time is the lack of test coverage related to examining the dump content using a debugger, as this is out of the Go standard library test suite. This means that something might have been broken in the meantime. We tried to partially mitigate this lack of upstream testing by testing it ourselves in https://github.com/microsoft/go-pdb/blob/fa4e71cc7269ca83f021f07948e49b1f7af7eae1/gopdb/gopdb_windows_test.go#L209, but the test suite is not extensive.

Back to the issue, it can be reproduced by a simple hello world crashing app:

package main

func main() {
    panic("oh no!")
}

And then using Delve or WinDbg to examine the dump.

Reported by @kevpar and @mtbar131

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.