Open
Description
What version of Go are you using (go version
)?
> go version
go version go1.9rc2 windows/amd64
What operating system and processor architecture are you using (go env
)?
> go env
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\kjk\src\go
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
What did you do?
I'm trying to gather more information on #20975 which involves running the executable on windows under a debugger that understands dwarf debug info (because neither msvc nor windbg do).
I tried:
- clone repro program https://github.com/kjk/go20975 and run
build.ps1
to build it - download gdb from
https://nuwen.net/mingw.html
and unpack underc:\
- run
C:\MinGW\bin\gdb.exe .\go20975.exe
to run under dbg - enter
https://vox.com
in text box
What did you expect to see?
When crash happens, I expected to get a human-readable callstack.
What did you see instead?
[New Thread 2176.0xc90]
fatal: morestack on g0
../../src/gdb/buildsym.c:1773: internal-error: void buildsym_init(): Assertion `free_pendings == NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
The crash happened in the program but it also crashed gdb.
It seems that DWARF information created by Go compiler breaks gdb.
PS C:\Users\kjk\src\go\src\github.com\kjk\go20975> C:\MinGW\bin\gdb.exe --version
GNU gdb (GDB) 8.0