This backtracking comes from a deadlock situation in a multi-threaded application. Other stub threads are blocked inside the malloc () call and appear to wait in this thread.
I don’t understand what this thread creates, since it blocks any functions in my application until it is called:
Thread 6 (Thread 0x7ff69d43a700 (LWP 14191)):
clone () is used to implement fork (), pthread_create (), and possibly other functions. See here and here .
How can I find out if it will work on this track fork(), pthread_create(), signal processor, or something else? Do I just need to dig through glibc code, or can I use gdb or some other tool? Why is this branch needed for internal glibc locking? This would be useful in determining the cause of the impasse.
Additional information and research:
malloc() , () (. this this, malloc() . , , malloc() . , , , . (, ?)
, , ( ) . .
, malloc ?
, :
glibc malloc
Malloc .
?
glibc fork/malloc , glibc-2.17-162.el7. , - glibc.
( , , . , - (Slurm), .)
EDIT:
. 6 - , . Thread 1 pthread_join(). 2-5 malloc(). 7 ( 2-5). , .
Thread 7 (Thread 0x7ff69e672700 (LWP 12650)):
pfds=0x7ff6980009f0) at ../../../../slurm/src/common/eio.c:364
at ../../../../../slurm/src/slurmd/slurmstepd/req.c:245
Thread 6 (Thread 0x7ff69d43a700 (LWP 14191)):
Thread 5 (Thread 0x7ff69e773700 (LWP 22471)):
file=file@entry=0x7ff6a3c1f1f0 "../../../../slurm/src/common/pack.c",
line=line@entry=152, func=func@entry=0x7ff6a3c1f4a6 <__func__.7843> "init_buf")
at ../../../../slurm/src/common/xmalloc.c:86
at ../../../../slurm/src/common/pack.c:152
at ../../../../../slurm/src/slurmd/slurmstepd/req.c:384
Thread 4 (Thread 0x7ff6a4086700 (LWP 5633)):
file=file@entry=0x7ff6a3c1f1f0 "../../../../slurm/src/common/pack.c",
line=line@entry=152, func=func@entry=0x7ff6a3c1f4a6 <__func__.7843> "init_buf")
at ../../../../slurm/src/common/xmalloc.c:86
at ../../../../slurm/src/common/pack.c:152
at ../../../../../slurm/src/slurmd/slurmstepd/req.c:384
Thread 3 (Thread 0x7ff69d53b700 (LWP 12963)):
file=file@entry=0x7ff6a3c1f1f0 "../../../../slurm/src/common/pack.c",
line=line@entry=152, func=func@entry=0x7ff6a3c1f4a6 <__func__.7843> "init_buf")
at ../../../../slurm/src/common/xmalloc.c:86
at ../../../../slurm/src/common/pack.c:152
at ../../../../../slurm/src/slurmd/slurmstepd/req.c:384
Thread 2 (Thread 0x7ff69f182700 (LWP 19734)):
file=file@entry=0x7ff6a3c1f1f0 "../../../../slurm/src/common/pack.c",
line=line@entry=152, func=func@entry=0x7ff6a3c1f4a6 <__func__.7843> "init_buf")
at ../../../../slurm/src/common/xmalloc.c:86
at ../../../../slurm/src/common/pack.c:152
at ../../../../../slurm/src/slurmd/slurmstepd/req.c:384
Thread 1 (Thread 0x7ff6a4088880 (LWP 12616)):
at ../../../../../slurm/src/slurmd/slurmstepd/mgr.c:2219
at ../../../../../slurm/src/slurmd/slurmstepd/mgr.c:1397
at ../../../../../slurm/src/slurmd/slurmstepd/slurmstepd.c:172