Re: Solaris - procfs: couldn't find pid 32748 (kernel thread 21) in procinfo list
Petr Sumbera via Gdb <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Organization | Oracle Corporation |
| Message-ID | <[email protected]> |
On 01.06.2020 21:12, Pedro Alves wrote: > On 6/1/20 12:39 PM, Petr Sumbera via Gdb wrote: >> The issue seems to be that the LWP exits and the status->kind is set to TARGET_WAITKIND_SPURIOUS: >> >> https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gdb/procfs.c;h=f6c6b0e71c16224d3e7345ca09e011cdcf06349a;hb=HEAD#l2214 >> >> But instantly it's added into the list again here: >> >> https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gdb/infrun.c;h=95fc3bfe45930b53c33cb4de165db9c070449ad8;hb=HEAD#l5200 >> >> But there is no longer such LWP in /proc. >> >> Any suggestion? Thanks for looking at it! > Either: > > - replace TARGET_WAITKIND_SPURIOUS with TARGET_WAITKIND_THREAD_EXITED, or, With this I'm getting: [LWP 21 exited] [LWP 21 exited] /builds/psumbera/userland-gdb-procinfo/components/gdb/gdb-9.2/gdb/thread.c:459: internal-error: void delete_thread_1(thread_info*, bool): Assertion `thr != nullptr' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. > - replace > status->kind = TARGET_WAITKIND_SPURIOUS; > return retval; > with > goto wait_again; > instead. and with this: [LWP 20 exited] [LWP 20 exited] /builds/psumbera/userland-gdb-procinfo/components/gdb/gdb-9.2/gdb/thread.c:459: internal-error: void delete_thread_1(thread_info*, bool): Assertion `thr != nullptr' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. -- Note that in both cases there are TWO exits for one LWP. But LWP numbers differ. Any other comment? Thanks! Petr