This is the mail archive of the
mailing list for the Archer project.
BUG: add_thread_silent()->switch_to_thread(minus_one_ptid) is wrong
- From: Oleg Nesterov <oleg at redhat dot com>
- To: archer at sourceware dot org
- Cc: Roland McGrath <roland at redhat dot com>
- Date: Mon, 19 Jul 2010 15:41:35 +0200
- Subject: BUG: add_thread_silent()->switch_to_thread(minus_one_ptid) is wrong
- References: <20100716205147.GA26313@redhat.com>
I am trying to change ugdb.c to multiprocess mode, and now
I hit another bug in gdb.
(gdb) target extended-remote /proc/ugdb
(gdb) attach 980
(gdb) info threads
thread.c:880: internal-error: switch_to_thread: Assertion `inf != NULL' failed.
Once again, I didn't see this problem in !multiprocess mode.
The immediate reason is clear, add_thread_silent() calls
switch_to_thread(minus_one_ptid), and find_inferior_pid(-1)
obviously fails. I guess add_thread_silent() is buggy and
should be fixed in any case.
But it is not clear to me what provokes this bug, gdb works
with gdbserver but not with /proc/ugdb.