Discussion:
[Bug gdb/18624] New: GDB on windows with golang: buildsym_init Assertion `free_pendings == NULL` failed.
damtur at outlook dot com
2015-07-05 15:13:04 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

Bug ID: 18624
Summary: GDB on windows with golang: buildsym_init Assertion
`free_pendings == NULL` failed.
Product: gdb
Version: 7.9
Status: NEW
Severity: normal
Priority: P2
Component: gdb
Assignee: unassigned at sourceware dot org
Reporter: damtur at outlook dot com
Target Milestone: ---

Hey, when I'm trying to debug golang program on Windows using git bash console
I'm getting assertion failed. Below console output:

~/Documents/tmp
$ go build -gcflags "-N -l" hello.go

~/Documents/tmp
$ gdb hello.exe
GNU gdb (GDB) 7.9.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from hello.exe...done.
(gdb) list
../../../../src/gdb-7.9.1/gdb/buildsym.c:1759: internal-error: buildsym_init:
Assertion `free_pendings == NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n

This is a bug, please report it. For instructions, see:
<http://www.gnu.org/software/gdb/bugs/>.

../../../../src/gdb-7.9.1/gdb/buildsym.c:1759: internal-error: buildsym_init:
Assertion `free_pendings == NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) y
Command aborted.
(gdb)
--
You are receiving this mail because:
You are on the CC list for the bug.
joshua.vijay at gmail dot com
2015-09-08 15:06:48 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

joshua.vijay at gmail dot com changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |joshua.vijay at gmail dot com

--- Comment #1 from joshua.vijay at gmail dot com ---
I face the same issue.
--
You are receiving this mail because:
You are on the CC list for the bug.
joshua.vijay at gmail dot com
2015-09-09 13:20:01 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

joshua.vijay at gmail dot com changed:

What |Removed |Added
----------------------------------------------------------------------------
Priority|P2 |P1
Severity|normal |critical
--
You are receiving this mail because:
You are on the CC list for the bug.
hualingson at foxmail dot com
2016-08-31 09:23:02 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

xiucai <hualingson at foxmail dot com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |hualingson at foxmail dot com

--- Comment #2 from xiucai <hualingson at foxmail dot com> ---
GNU gdb (GDB) 7.10.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
../../../../src/gdb-7.10.1/gdb/buildsym.c:1759: internal-error: buildsym_init:
Assertion `free_pendings == NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) [answered Y; input not from terminal]
../../../../src/gdb-7.10.1/gdb/buildsym.c:1759: internal-error: buildsym_init:
Assertion `free_pendings == NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) [answered Y; input not from terminal]

This is a bug, please report it. For instructions, see:
<http://www.gnu.org/software/gdb/bugs/>.


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
--
You are receiving this mail because:
You are on the CC list for the bug.
hualingson at foxmail dot com
2016-08-31 09:24:36 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

--- Comment #3 from xiucai <hualingson at foxmail dot com> ---
'gdborig.exe' (Win32): Loaded
'C:\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev0\mingw64\bin\gdborig.exe'.
Module was built without symbols.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Cannot find
or open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Cannot find
or open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\msvcrt.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\user32.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\gdi32.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\lpk.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\usp10.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\ws2_32.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\rpcrt4.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\nsi.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded
'C:\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev0\mingw64\opt\bin\libpython2.7.dll'.
Module was built without symbols.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\advapi32.dll'. Cannot find
or open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\sechost.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\shell32.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\shlwapi.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\imm32.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\msctf.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded 'C:\Windows\System32\psapi.dll'. Cannot find or
open the PDB file.
'gdborig.exe' (Win32): Loaded
'C:\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev0\mingw64\opt\lib\python2.7\lib-dynload\_codecs_cn.pyd'.
Module was built without symbols.
'gdborig.exe' (Win32): Loaded
'C:\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev0\mingw64\opt\lib\python2.7\lib-dynload\_multibytecodec.pyd'.
Module was built without symbols.
'gdborig.exe' (Win32): Loaded
'C:\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev0\mingw64\opt\lib\python2.7\lib-dynload\itertools.pyd'.
Module was built without symbols.
'gdborig.exe' (Win32): Loaded
'C:\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev0\mingw64\opt\lib\python2.7\lib-dynload\_collections.pyd'.
Module was built without symbols.
'gdborig.exe' (Win32): Loaded
'C:\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev0\mingw64\opt\lib\python2.7\lib-dynload\_heapq.pyd'.
Module was built without symbols.
The thread 0xda4 has exited with code 0 (0x0).
The thread 0x1d6c has exited with code 3 (0x3).
The thread 0x5d48 has exited with code 3 (0x3).
The program '[8468] gdborig.exe' has exited with code 3 (0x3).
--
You are receiving this mail because:
You are on the CC list for the bug.
pbrown12303 at gmail dot com
2016-11-22 22:03:03 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

Paul C Brown <pbrown12303 at gmail dot com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |pbrown12303 at gmail dot com

--- Comment #4 from Paul C Brown <pbrown12303 at gmail dot com> ---
I have the same problem in goclipse:

GNU gdb (GDB) 7.12
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Loading Go Runtime support.
../../gdb-7.12/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.
Quit this debugging session? (y or n) [answered Y; input not from terminal]

This is a bug, please report it. For instructions, see:
<http://www.gnu.org/software/gdb/bugs/>.

../../gdb-7.12/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.
Create a core file of GDB?
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
(y or n) [answered Y; input not from terminal]
--
You are receiving this mail because:
You are on the CC list for the bug.
pbrown12303 at gmail dot com
2016-11-22 22:10:10 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

--- Comment #5 from Paul C Brown <pbrown12303 at gmail dot com> ---
Actually, not a bug - just missing a command line argument (at least for me).
The missing argument is "-d $GOROOT" (I am actually debugging Go).
--
You are receiving this mail because:
You are on the CC list for the bug.
tree1891 at gmail dot com
2017-06-03 12:58:01 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

tree1891 at gmail dot com changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |tree1891 at gmail dot com

--- Comment #6 from tree1891 at gmail dot com ---
(In reply to Paul C Brown from comment #5)
Post by pbrown12303 at gmail dot com
Actually, not a bug - just missing a command line argument (at least for
me). The missing argument is "-d $GOROOT" (I am actually debugging Go).
what argument is it?
--
You are receiving this mail because:
You are on the CC list for the bug.
shirley.ji at 51zjzb dot com
2018-01-27 15:52:06 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

shirley.ji at 51zjzb dot com changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |shirley.ji at 51zjzb dot com

--- Comment #7 from shirley.ji at 51zjzb dot com ---
I hit the same problem in eclipse(neno3) and goclipse on windows(7) with gdb
version 8.0.1, but if I just used the command line in gdb, it works fine.

command line in gdb, successful scenario:
D:\GoWork\src>go build -gcflags "-N -l" HelloWorld/src/main/main.go

D:\GoWork\src>gdb main.exe
GNU gdb (GDB) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from main.exe...done.
Loading Go Runtime support.

eclipse + go , failed scenario:
GNU gdb (GDB) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Loading Go Runtime support.
../../../../src/gdb-8.0.1/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.
Quit this debugging session? (y or n) [answered Y; input not from terminal]

This is a bug, please report it. For instructions, see:
<http://www.gnu.org/software/gdb/bugs/>.


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
../../../../src/gdb-8.0.1/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.
Create a core file of GDB? (y or n) [answered Y; input not from terminal]


main.go:
package main

import "fmt"

func main() {
fmt.Println("Hello, World!")

}

Anyone has any suggestions/solutions? Thanks a lot.
--
You are receiving this mail because:
You are on the CC list for the bug.
tromey at sourceware dot org
2018-05-23 14:30:47 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

Tom Tromey <tromey at sourceware dot org> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |tromey at sourceware dot org

--- Comment #8 from Tom Tromey <tromey at sourceware dot org> ---
Is this still a problem with newer versions of gdb?
--
You are receiving this mail because:
You are on the CC list for the bug.
kkowalczyk at gmail dot com
2018-06-29 20:17:12 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

Krzysztof Kowalczyk <kkowalczyk at gmail dot com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |kkowalczyk at gmail dot com

--- Comment #9 from Krzysztof Kowalczyk <kkowalczyk at gmail dot com> ---
Yes, this still happens with gdb 8.1 that I got from
https://nuwen.net/mingw.html
(https://nuwen.net/files/mingw/mingw-15.4-without-git.exe to be specific).
cat .\main.go
package main

import "fmt"

func f() {
fmt.Printf("Hello from f()\n")
}

func main() {
fmt.Printf("Hello from main\n")
f()
}
go build main.go -o main.exe
gdb --args .\main.exe
GNU gdb (GDB) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from .\main.exe...done.
warning: Unsupported auto-load script at offset 0 in section .debug_gdb_scripts
of file C:\Users\kjk\go\src\github.com\kjk\tst\main.exe.
Use `info auto-load python-scripts [REGEXP]' to list them.
(gdb) br main.f
../../src/gdb/buildsym.c:1764: internal-error: void buildsym_init(): Assertion
`free_pendings == NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y

Note: I believe this should repro on non-windows as well if gdb is compiled
with gdb_assert() enabled.

My theory is that it only happens on Windows because on Windows people compile
it with gdb_assert() enabled and on non-windows with gdb_assert() disabled.
gdb --version
GNU gdb (GDB) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".


(gdb) show configuration
This GDB was configured as follows:
configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32
--with-auto-load-dir=$debugdir:$datadir/auto-load
--with-auto-load-safe-path=$debugdir:$datadir/auto-load
--without-expat
--with-gdb-datadir=/c/temp/gcc/dest/share/gdb (relocatable)
--with-jit-reader-dir=/c/temp/gcc/dest/lib/gdb (relocatable)
--without-libunwind-ia64
--without-lzma
--without-guile
--with-separate-debug-dir=/c/temp/gcc/dest/lib/debug (relocatable)
--without-babeltrace
--
You are receiving this mail because:
You are on the CC list for the bug.
tromey at sourceware dot org
2018-06-29 20:36:49 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

--- Comment #10 from Tom Tromey <tromey at sourceware dot org> ---
../../src/gdb/buildsym.c:1764: internal-error: void buildsym_init(): Assertion `free_pendings == NULL' failed.
My theory is that it only happens on Windows because on Windows people compile it with gdb_assert() enabled and on non-windows with gdb_assert() disabled.
buildsym is used by the symbol readers, so if free_pendings is not
null, then it means some symbol reader didn't clean up properly.
So, it may not be easily reproducible on other hosts, because they
may not be using the same object format.

I wonder if you could attach your main.exe file?
That might make it simpler to figure out what is wrong.
--
You are receiving this mail because:
You are on the CC list for the bug.
kkowalczyk at gmail dot com
2018-06-29 20:43:52 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

--- Comment #11 from Krzysztof Kowalczyk <kkowalczyk at gmail dot com> ---
Created attachment 11109
--> https://sourceware.org/bugzilla/attachment.cgi?id=11109&action=edit
Go binary generated with go 1.10 on win10

Shows a crash on windows with gdb.

build from main.go:

package main

import "fmt"

func f() {
fmt.Printf("Hello from f()\n")
}

func main() {
fmt.Printf("Hello from main\n")
f()
}
Post by damtur at outlook dot com
go build
go version
go version go1.10.3 windows/amd64
--
You are receiving this mail because:
You are on the CC list for the bug.
kkowalczyk at gmail dot com
2018-06-29 20:45:34 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

--- Comment #12 from Krzysztof Kowalczyk <kkowalczyk at gmail dot com> ---
File attached.

My understanding is that Go uses the same symbol format (DWARF) on all
platforms, including Windows.

The difference might be PE vs. Mach vs. Elf.
--
You are receiving this mail because:
You are on the CC list for the bug.
kkowalczyk at gmail dot com
2018-06-29 20:47:24 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

--- Comment #13 from Krzysztof Kowalczyk <kkowalczyk at gmail dot com> ---
Also there is corresponding bug filed for Go at
https://github.com/golang/go/issues/21380

The issue might be that Go generates subtly invalid DWARF info in which case Go
should fix it as well.
--
You are receiving this mail because:
You are on the CC list for the bug.
tromey at sourceware dot org
2018-06-29 21:13:05 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

Tom Tromey <tromey at sourceware dot org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at sourceware dot org |tromey at sourceware dot org

--- Comment #14 from Tom Tromey <tromey at sourceware dot org> ---
Thanks. Patch is here:

https://sourceware.org/ml/gdb-patches/2018-06/msg00736.html

I don't know what went wrong here but I guess COFF+DWARF
isn't used and/or maintained much.
--
You are receiving this mail because:
You are on the CC list for the bug.
cvs-commit at gcc dot gnu.org
2018-07-17 15:37:38 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

--- Comment #15 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tom Tromey <***@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4735f0edf4265e3e260e10a12921baf17987a020

commit 4735f0edf4265e3e260e10a12921baf17987a020
Author: Tom Tromey <***@tromey.com>
Date: Fri Jun 29 15:10:04 2018 -0600

Use scoped_free_pendings in coff_symtab_read

PR gdb/18624 concerns an assertion failure that occurs when setting a
breakpoint in a Go program on Windows.

What happens here is that coff_symtab_read uses buildsym but does not
instantiate scoped_free_pendings. So, the struct pending objects are
never released. Later, dwarf2read.c calls buildsym_init, which
asserts.

This patch fixes the problem by instantiating scoped_free_pendings in
coff_symtab_read.

Tested using the test executable from the PR. I don't know how to
test this more fully.

gdb/ChangeLog
2018-07-17 Tom Tromey <***@tromey.com>

PR gdb/18624:
* coffread.c (coff_symtab_read): Use scoped_free_pendings.
--
You are receiving this mail because:
You are on the CC list for the bug.
tromey at sourceware dot org
2018-07-17 10:17:42 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

Tom Tromey <tromey at sourceware dot org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |8.2

--- Comment #16 from Tom Tromey <tromey at sourceware dot org> ---
Fixed.
--
You are receiving this mail because:
You are on the CC list for the bug.
cvs-commit at gcc dot gnu.org
2018-07-17 15:47:53 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

--- Comment #17 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The gdb-8.2-branch branch has been updated by Tom Tromey
<***@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=79b38778d788e01e66e82f16bf3d4957439c77d5

commit 79b38778d788e01e66e82f16bf3d4957439c77d5
Author: Tom Tromey <***@tromey.com>
Date: Fri Jun 29 15:10:04 2018 -0600

Use scoped_free_pendings in coff_symtab_read

PR gdb/18624 concerns an assertion failure that occurs when setting a
breakpoint in a Go program on Windows.

What happens here is that coff_symtab_read uses buildsym but does not
instantiate scoped_free_pendings. So, the struct pending objects are
never released. Later, dwarf2read.c calls buildsym_init, which
asserts.

This patch fixes the problem by instantiating scoped_free_pendings in
coff_symtab_read.

Tested using the test executable from the PR. I don't know how to
test this more fully.

2018-07-17 Tom Tromey <***@tromey.com>

PR gdb/18624:
* coffread.c (coff_symtab_read): Use scoped_free_pendings.
--
You are receiving this mail because:
You are on the CC list for the bug.
brobecker at gnat dot com
2018-07-31 10:55:44 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

Joel Brobecker <brobecker at gnat dot com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |brobecker at gnat dot com

--- Comment #18 from Joel Brobecker <brobecker at gnat dot com> ---
Hi Tom. IIUC, we can close this PR, right?
--
You are receiving this mail because:
You are on the CC list for the bug.
tromey at sourceware dot org
2018-07-31 11:10:19 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=18624

Tom Tromey <tromey at sourceware dot org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED

--- Comment #19 from Tom Tromey <tromey at sourceware dot org> ---
Yep, I forgot to click the button.
--
You are receiving this mail because:
You are on the CC list for the bug.
Loading...