felix199103 commented on issue #66997:
URL: https://github.com/apache/doris/issues/66997#issuecomment-5355828524

   Follow-up on userspace stacks:
   
   BE has ~23k OS threads named `RScan_normal` while pool accounting stays
   `r_scan real_num≈8 / max=512`.
   
   gdb attach at this scale is not practical (`info threads` hangs / holds 
TracerPid).
   `perf record -t <tid>` gets no samples (threads off-CPU).
   
   Sampled OLD TIDs: 7713, 7784, 7788
   Sampled NEW TIDs: 3625708, 3625721, 3625785
   All: syscall 202 (futex), same userspace PC.
   
   PC=0x7f232e7f3117 → libc.so.6 text
     map 7f232e78a000-7f232e91f000 r-xp offset 0x28000
     relative=0x91117
   
   Dynsym bracketing (stripped libc, no debuginfo):
     prev: __nptl_death_event@0x90f90 (delta +0x187 — NOT inside that fn)
     next: __lll_lock_wait_private@0x91230 (~281 bytes after PC)
     also nearby: __lll_lock_wake_private, __pthread_cleanup_routine,
                  __nptl_create_event
   
   So OLD/NEW threads look idle in glibc NPTL low-level wait/futex path,
   not obviously differentiated by PC. Full Doris `bt` still missing; will
   retry after BE restart when thread count is low, or via off-CPU BPF.
   
   Question: is this futex-PC + dynsym bracket enough to proceed, or do you
   need a full `bt` after we restart one BE?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to