-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
gcc 5.4.1 버전으로 빌드 시엔 문제가 없습니다.
하지만 7.0.1 버전으로 빌드 시에 PTL hook 관련 세그멘테이션 폴트가 생기는 것을 발견했습니다. (아래 참조)
# normal tracing
$ uftrace tests/t-abc
WARN: invalid task file
child terminated by signal: 11: Segmentation fault
# DURATION TID FUNCTION
--no-libcall 옵션을 사용해보면 세그멘테이션 폴트가 안 생깁니다.
$ uftrace --no-libcall t-abc
# DURATION TID FUNCTION
[ 5133] | main() {
[ 5133] | a() {
[ 5133] | b() {
0.982 us [ 5133] | c();
1.854 us [ 5133] | } /* b */
2.170 us [ 5133] | } /* a */
2.792 us [ 5133] | } /* main */
코어 파일을 체크해 보면 libmcount/plthook.c:429에서 세그멘테이션 폴트가 나타난 것을 볼 수 있습니다.
Reading symbols from t-abc...(no debugging symbols found)...done.
[New LWP 5249]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `t-abc'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007ff5a1b8a322 in plthook_entry (ret_addr=0x7ffd79fb0378, child_idx=1,
module_id=140692961395048, regs=0x7ffd79fb0338)
at /home/taeung/git/uftrace/libmcount/plthook.c:429
429 struct ftrace_trigger tr = {
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels