<div dir="ltr"><div dir="ltr"><div>Hi everyone,</div><div><br></div><div>I find strace fails to trace call stack of clone syscall (called by pthread_create) in both main thread and child thread.</div><div><br></div><div>How to reproduce:</div><div><br></div><div>Get a simple pthread_create example: <a href="http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html">http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html</a></div><div>Compile: gcc -pthread test_pthread.c -o test_pthread</div><div>Trace: strace -k -ff -o test_pthread ./test_pthread</div><div><br></div><div>In main thread:</div><div>    clone(child_stack=0x7f56c52b1ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f56c52b29d0, tls=0x7f56c52b2700, child_tidptr=0x7f56c52b29d0) = 69700</div><div>     > /lib/x86_64-linux-gnu/<a href="http://libc-2.23.so">libc-2.23.so</a>(clone+0x31) [0x1073e1]</div><div><br></div><div>In child thread:</div><div>    set_robust_list(0x7f56c52b29e0, 24) = 0</div><div>     > /lib/x86_64-linux-gnu/<a href="http://libpthread-2.23.so">libpthread-2.23.so</a>(start_thread+0x64) [0x7654]</div><div>     > /lib/x86_64-linux-gnu/<a href="http://libc-2.23.so">libc-2.23.so</a>(clone+0x6d) [0x10741d]</div><div><br></div><div>We can see the call stacks of both main thread and child thread start from libc. Is there any way to get the call stack from the main function? I'm not sure whether this is a bug or not.</div><div><br></div><div>Thanks,</div><div>Zhouyang</div></div></div>