[Bug breakpoints/21497] FreeBSD: infrun.c:5565: internal-error: int finish_step_over(execution_control_state*): Assertion `ecs->event_thread->control.trap_expected' failed

jhb at FreeBSD dot org sourceware-bugzilla@sourceware.org
Fri May 19 16:47:00 GMT 2017


--- Comment #4 from jhb at FreeBSD dot org ---
I have an old patch to try to fix a similar crash for kernels without LWP
events that still didn't work in my testing.  Rather than depending on a
global, I ended up using the ptid passed to fbsd_resume.  However, the patch
also avoided adding new threads until single stepping was disabled.  In
particular, I wanted to be sure I didn't "lose" the event from the new thread
(in case the new thread had just hit a breakpoint and thus needed to be
single-stepped across it).  Perhaps that is unnecessary as the new thread would
simply repeat the breakpoint though when it is resumed.


(That patch doesn't work for LWP events so would need reworking anyway, but it
sounds like I'd need to handle it for both cases now anyway which might
simplify the logic a bit.  For the non-LWP event case if I don't care about
reporting the event I can probably even just PT_SUSPEND the new LWP and ignore
it and later come back to it).

FYI, if you disable LWP events by hand in fbsd-nat.c do you still get the same

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

More information about the Gdb-prs mailing list