Description of problem: gdb crashes when generating backtrace for WebKitGTK+ applications. The error is: ../../gdb/dictionary.c:690: internal-error: void insert_symbol_hashed(dictionary*, symbol*): Assertion `SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)->la_language' failed. Version-Release number of selected component (if applicable): gdb-8.1-11.fc28 How reproducible: Always Steps to Reproduce: 1. Save this as crash.html: <script> win = window.open("blah", "WIN"); </script> 2. Run 'epiphany -p crash.html' and watch epiphany crash 3. Run 'coredumpctl gdb' to get the backtrace 4. Run 'thread apply all bt full' and press enter for a while. gdb will crash before the end. Actual results: ../../gdb/dictionary.c:690: internal-error: void insert_symbol_hashed(dictionary*, symbol*): Assertion `SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)->la_language' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) Expected results: No gdb assertion. Additional info: Sorry I can't attach any files due to some xdg-desktop-portal bug, so I will paste the backtrace inline in my next comment.
Seems Bugzilla has a comment length limit, so I've pasted the backtrace into Debian pastebin, available for 90 days: https://paste.debian.net/1022964/ First 10 frames are: #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 set = {__val = {0, 93926875961688, 1, 93926875957165, 140720996928720, 140720996998092, 140720996928768, 4837258912, 1, 93926879724970, 1, 93926879729851, 140720996928768, 139735236906758, 93927266350496, 16874861467632036608}} pid = <optimized out> tid = <optimized out> ret = <optimized out> #1 0x00007f16a51a2591 in __GI_abort () at abort.c:79 save_stage = 1 act = {__sigaction_handler = {sa_handler = 0x3000000010, sa_sigaction = 0x3000000010}, sa_mask = {__val = {140720996929264, 140720996929072, 16874861467632036608, 21474836480, 93927113323248, 1, 0, 93926879733592, 0, 93926888842864, 5, 93926888842416, 139735236333342, 0, 139735239734912, 93926879564544}}, sa_flags = 239937368, sa_restorer = 0x7f16a55372a0 <__GI__IO_file_jumps>} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x0000556d0e26282c in dump_core () at ../../gdb/utils.c:291 rlim = {rlim_cur = 18446744073709551615, rlim_max = 18446744073709551615} #3 0x0000556d0e266f6d in internal_vproblem(internal_problem*, char const*, int, char const*, __va_list_tag*) () at ../../gdb/utils.c:500 dejavu = 1 quit_p = 1 dump_core_p = <optimized out> reason = "../../gdb/dictionary.c:690: internal-error: void insert_symbol_hashed(dictionary*, symbol*): Assertion `SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)->la_language' failed.\nA problem internal to GDB ha"... term_state = {{m_dummy = {<No data fields>}, m_item = { m_state = target_terminal::terminal_is_inferior}}, m_instantiated = false} #4 0x0000556d0e2670d1 in internal_verror (file=<optimized out>, line=<optimized out>, fmt=<optimized out>, ap=ap@entry=0x7ffc2908cfd0) at ../../gdb/utils.c:525 No locals. #5 0x0000556d0e0610a5 in internal_error ( file=file@entry=0x556d0e46ff33 "../../gdb/dictionary.c", line=line@entry=690, fmt=<optimized out>) at ../../gdb/common/errors.c:55 ap = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffc2908d0b0, reg_save_area = 0x7ffc2908cff0}} #6 0x0000556d0e0ea4dc in insert_symbol_hashed (dict=<optimized out>, sym=<optimized out>) at ../../gdb/dictionary.c:695 hash_index = <optimized out> hash = <optimized out> buckets = <optimized out> dict = <optimized out> sym = <optimized out> hash = <optimized out> buckets = <optimized out> __PRETTY_FUNCTION__ = "void insert_symbol_hashed(dictionary*, symbol*)" hash_index = <optimized out> hash_index = 0 hash = 0 buckets = 0x556d2322bf90 __PRETTY_FUNCTION__ = "void insert_symbol_hashed(dictionary*, symbol*)" #7 0x0000556d0e0ea939 in dict_create_hashed ( obstack=obstack@entry=0x556d0faf4f40, language=<optimized out>, symbol_list=<optimized out>) at ../../gdb/dictionary.c:382 retval = 0x556d2322bf60 nsyms = <optimized out> nbuckets = <optimized out> i = <optimized out> buckets = 0x0 list_counter = 0x556d11c51d40 #8 0x0000556d0e0bcc8e in finish_block_internal (symbol=symbol@entry=0x0, listhead=0x556d0ea21930 <local_symbols>, old_blocks=0x556d231ca540, static_link=static_link@entry=0x0, start=140228122499063, end=140228122499227, is_global=0, expandable=0) at ../../gdb/buildsym.c:366 objfile = 0x556d0faf4ee0 gdbarch = 0x556d0f69d4e0 next = <optimized out> next1 = <optimized out> block = 0x556d2322bf30 pblock = <optimized out> opblock = <optimized out> #9 0x0000556d0e0bdf11 in finish_block (symbol=symbol@entry=0x0, listhead=<optimized out>, old_blocks=<optimized out>, static_link=static_link@entry=0x0, start=<optimized out>, end=<optimized out>) at ../../gdb/buildsym.c:534 No locals. #10 0x0000556d0e12a1e0 in read_lexical_block_scope ( die=die@entry=0x556d2755b630, cu=cu@entry=0x556d133c06c0) at ../../gdb/dwarf2read.c:13920 block = 0x0 objfile = <optimized out> gdbarch = 0x556d0f69d4e0 newobj = 0x556d258b4310 lowpc = 140228122499063 highpc = 140228122499227 child_die = <optimized out> baseaddr = 140228112834560
*** This bug has been marked as a duplicate of bug 1560010 ***