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 python/17837] python-injected silent breakpoints broken since 1a853c52


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

--- Comment #8 from Pedro Alves <palves at redhat dot com> ---
Sorry, I'm travelling.

We need to figure out why does bp_loc_is_permanent see a memory trap in memory.

I tried quickly playing with "set breakpoint always-inserted on", and
"add-symbol-file", and I couldn't see anything wrong going on.  But then again,
that was very limited testing.

We have:

static void
disable_breakpoints_in_unloaded_shlib (struct so_list *solib)
{
...
    /* At this point, we cannot rely on remove_breakpoint
       succeeding so we must mark the breakpoint as not inserted
       to prevent future errors occurring in remove_breakpoints.  */
    loc->inserted = 0;


and I could see that causing the issue at hand, given the breakpoint at that
point might well be still in memory, but then breakpoint_xfer_memory would not
mask it off (as it is marked as not inserted).

But I don't think add-symbol-file/remove-symbol-file ends up in that function,
instead it goes through disable_breakpoints_in_freed_objfile, which does not
have that issue.

But it may be some other code in gdb is doing something similar (clearing the
inserted flag when it shouldn't).

-- 
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]