labath marked 12 inline comments as done. labath added inline comments.
================ Comment at: lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp:1362 + + NativeThreadLinux &thread = *GetThreadByID(GetID()); + assert(thread.GetState() == eStateStopped); ---------------- jankratochvil wrote: > There does not need to exist a thread with TID equal to the process PID. That > TID could already exit while other TIDs of that PID may be still running. > https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=432b4d03ad0f23970315e9f9dec080ab4a9ab94b > simplified and deGPLed as: https://people.redhat.com/jkratoch/leader-exit2.C > Just currently LLDB server cannot attach to such TID as: > lldb-server g --attach >TID< :1234 > ptrace(PTRACE_ATTACH, >PID<) = -1 EPERM (Operation not permitted) > write(2, "error: failed to attach to pid >TID<: Operation not permitted\n", > 64) = 64 > But if this bug was fixed then I think this statement could SEGV (unless LLDB > will have some internal zombie TID==PID). > Thanks for catching that. I had a vague feeling that it might be possible for the process to outlive its main thread, but I didn't know how. I've changed this to `GetCurrentThread` which should be always present. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89124/new/ https://reviews.llvm.org/D89124 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits