This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/17960] New: Internal error: tracker != NULL when completing on file:function


https://sourceware.org/bugzilla/show_bug.cgi?id=17960

            Bug ID: 17960
           Summary: Internal error: tracker != NULL when completing on
                    file:function
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gdb
          Assignee: unassigned at sourceware dot org
          Reporter: keiths at redhat dot com

With this new completion limiting feature that was introduced by ef0b411a, an
internal error was introduced:

(gdb) break gdb.c:ma<TAB>
./../src/gdb/completer.c:837: internal-error: maybe_add_completion: Assertion
`tracker != NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y

This happens because location_completer (completer.c) calls
make_file_symbol_completion_list without ever calling
default_make_symbol_completion_list_break_on_1. It is only this last function
which initializes this (file-)global variable.

Why the use of a global? Shouldn't this have been something passed around the
completion API?

It seems the test suite does not have a test for FILE:FUNCTION anywhere. I only
noticed this because my breakpoint location API patchset uses
make_file_symbol_completion_list and *tests it*.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]