namhyung / uftrace

Function graph tracer for C/C++/Rust/Python
https://uftrace.github.io/slide/
GNU General Public License v2.0
3.05k stars 474 forks source link

tui: hidden Time(Duration) with '-f none' occurs seg fault. #628

Closed DanielTimLee closed 5 years ago

DanielTimLee commented 5 years ago

As issue title presents, using -f none causes a segfault.

$ uftrace tui -f none
Segmentation fault (core dumped)
uftrace: reading .//task.txt file
session: new session: pid = 1827, session = 8ffabce9b0b471c1
symbol: loading symbols from .//echo-sync.sym: offset = 5601e4421000
symbol: loaded 5 normal + 5 dynamic symbols
symbol: load module symbol table: /lib/x86_64-linux-gnu/libbz2.so.1.0.4
symbol: loading symbols from .//libbz2.so.1.0.4.sym: offset = 7f0810eac000
symbol: load module symbol table: /lib/x86_64-linux-gnu/liblzma.so.5.2.2
symbol: loading symbols from .//liblzma.so.5.2.2.sym: offset = 7f08110bc000
symbol: load module symbol table: /lib/x86_64-linux-gnu/libz.so.1.2.11
symbol: loading symbols from .//libz.so.1.2.11.sym: offset = 7f08112e2000
symbol: load module symbol table: /lib/x86_64-linux-gnu/libgcc_s.so.1
symbol: loading symbols from .//libgcc_s.so.1.sym: offset = 7f08114ff000
symbol: load module symbol table: /lib/x86_64-linux-gnu/libm-2.27.so
symbol: loading symbols from .//libm-2.27.so.sym: offset = 7f0811717000
symbol: load module symbol table: /lib/x86_64-linux-gnu/libpthread-2.27.so
symbol: loading symbols from .//libpthread-2.27.so.sym: offset = 7f0811ab5000
symbol: load module symbol table: /usr/lib/x86_64-linux-gnu/libdw-0.170.so
symbol: loading symbols from .//libdw-0.170.so.sym: offset = 7f0811cd4000
symbol: load module symbol table: /usr/lib/x86_64-linux-gnu/libelf-0.170.so
symbol: loading symbols from .//libelf-0.170.so.sym: offset = 7f0811f20000
symbol: load module symbol table: /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
symbol: loading symbols from .//libstdc++.so.6.0.25.sym: offset = 7f081213a000
symbol: load module symbol table: /lib/x86_64-linux-gnu/libdl-2.27.so
symbol: loading symbols from .//libdl-2.27.so.sym: offset = 7f08124c3000
symbol: load module symbol table: /lib/x86_64-linux-gnu/librt-2.27.so
symbol: loading symbols from .//librt-2.27.so.sym: offset = 7f08126c7000
symbol: load module symbol table: /lib/x86_64-linux-gnu/libc-2.27.so
symbol: loading symbols from .//libc-2.27.so.sym: offset = 7f08128cf000
symbol: load module symbol table: /lib/x86_64-linux-gnu/ld-2.27.so
symbol: loading symbols from .//ld-2.27.so.sym: offset = 7f0812ef3000
session: task session: tid = 1827, session = 8ffabce9b0b471c1
session: new task: tid = 1827 (echo-sync), session = 8ffabce9b0b471c1
kernel: found kernel ftrace data for 4 cpus
symbol: loading symbols from .//kallsyms: offset = 0
symbol: skip duplicated symbols: _stext
symbol: skip duplicated symbols: _text
symbol: skip duplicated symbols: intel_pebs_aliases_skl.part.10
symbol: skip duplicated symbols: snb_uncore_msr_enable_event.part.4
symbol: skip duplicated symbols: sys_arch_prctl
symbol: skip duplicated symbols: compat_sys_arch_prctl
symbol: skip duplicated symbols: sys_iopl
symbol: skip duplicated symbols: sys_modify_ldt
symbol: skip duplicated symbols: sys_mmap
symbol: skip duplicated symbols: sys_set_thread_area
symbol: skip duplicated symbols: sys_get_thread_area
symbol: skip duplicated symbols: start_pv_irq_ops_irq_enable
symbol: skip duplicated symbols: start_pv_irq_ops_restore_fl
symbol: skip duplicated symbols: start_pv_irq_ops_save_fl
symbol: skip duplicated symbols: start_pv_mmu_ops_read_cr2
symbol: skip duplicated symbols: start_pv_mmu_ops_read_cr3
symbol: skip duplicated symbols: start_pv_mmu_ops_write_cr3
symbol: skip duplicated symbols: start_pv_cpu_ops_wbinvd
symbol: skip duplicated symbols: start_pv_cpu_ops_usergs_sysret64
symbol: skip duplicated symbols: start_pv_cpu_ops_swapgs
symbol: skip duplicated symbols: start__mov32
symbol: skip duplicated symbols: start__mov64
symbol: skip duplicated symbols: start_pv_lock_ops_queued_spin_unlock
symbol: skip duplicated symbols: start_pv_lock_ops_vcpu_is_preempted
symbol: skip duplicated symbols: crc_array
symbol: skip duplicated symbols: less_than_1
symbol: skip duplicated symbols: sys_set_tid_address
symbol: skip duplicated symbols: sys_clone
symbol: skip duplicated symbols: sys_unshare
symbol: skip duplicated symbols: sys_personality
symbol: skip duplicated symbols: sys_exit
symbol: skip duplicated symbols: sys_exit_group
symbol: skip duplicated symbols: sys_waitid
symbol: skip duplicated symbols: sys_wait4
symbol: skip duplicated symbols: sys_waitpid
symbol: skip duplicated symbols: compat_sys_wait4
symbol: skip duplicated symbols: compat_sys_waitid
symbol: skip duplicated symbols: sys_sysctl
symbol: skip duplicated symbols: compat_sys_sysctl
symbol: skip duplicated symbols: sys_capget
symbol: skip duplicated symbols: sys_capset
symbol: skip duplicated symbols: sys_ptrace
symbol: skip duplicated symbols: compat_sys_ptrace
symbol: skip duplicated symbols: sys_rt_sigprocmask
symbol: skip duplicated symbols: compat_sys_rt_sigprocmask
symbol: skip duplicated symbols: sys_rt_sigpending
symbol: skip duplicated symbols: compat_sys_rt_sigpending
symbol: skip duplicated symbols: sys_rt_sigtimedwait
symbol: skip duplicated symbols: compat_sys_rt_sigtimedwait
symbol: skip duplicated symbols: sys_kill
symbol: skip duplicated symbols: sys_tgkill
symbol: skip duplicated symbols: sys_tkill
symbol: skip duplicated symbols: sys_rt_sigqueueinfo
symbol: skip duplicated symbols: compat_sys_rt_sigqueueinfo
symbol: skip duplicated symbols: sys_rt_tgsigqueueinfo
symbol: skip duplicated symbols: compat_sys_rt_tgsigqueueinfo
symbol: skip duplicated symbols: sys_sigaltstack
symbol: skip duplicated symbols: compat_sys_sigaltstack
symbol: skip duplicated symbols: sys_sigpending
symbol: skip duplicated symbols: compat_sys_sigpending
symbol: skip duplicated symbols: sys_sigprocmask
symbol: skip duplicated symbols: sys_rt_sigaction
symbol: skip duplicated symbols: compat_sys_rt_sigaction
symbol: skip duplicated symbols: compat_sys_sigaction
symbol: skip duplicated symbols: sys_ssetmask
symbol: skip duplicated symbols: sys_signal
symbol: skip duplicated symbols: sys_rt_sigsuspend
symbol: skip duplicated symbols: compat_sys_rt_sigsuspend
symbol: skip duplicated symbols: sys_sigsuspend
symbol: skip duplicated symbols: sys_setpriority
symbol: skip duplicated symbols: sys_getpriority
symbol: skip duplicated symbols: sys_setregid
symbol: skip duplicated symbols: sys_setgid
symbol: skip duplicated symbols: sys_setreuid
symbol: skip duplicated symbols: sys_setuid
symbol: skip duplicated symbols: sys_setresuid
symbol: skip duplicated symbols: sys_getresuid
symbol: skip duplicated symbols: sys_setresgid
symbol: skip duplicated symbols: sys_getresgid
symbol: skip duplicated symbols: sys_setfsuid
symbol: skip duplicated symbols: sys_setfsgid
symbol: skip duplicated symbols: sys_times
symbol: skip duplicated symbols: compat_sys_times
symbol: skip duplicated symbols: sys_setpgid
symbol: skip duplicated symbols: sys_getpgid
symbol: skip duplicated symbols: sys_getsid
symbol: skip duplicated symbols: sys_newuname
symbol: skip duplicated symbols: sys_uname
symbol: skip duplicated symbols: sys_olduname
symbol: skip duplicated symbols: sys_sethostname
symbol: skip duplicated symbols: sys_gethostname
symbol: skip duplicated symbols: sys_setdomainname
symbol: skip duplicated symbols: sys_old_getrlimit
symbol: skip duplicated symbols: compat_sys_old_getrlimit
symbol: skip duplicated symbols: sys_getrlimit
symbol: skip duplicated symbols: compat_sys_setrlimit
symbol: skip duplicated symbols: compat_sys_getrlimit
symbol: skip duplicated symbols: sys_prlimit64
symbol: skip duplicated symbols: sys_setrlimit
symbol: skip duplicated symbols: sys_getrusage
symbol: skip duplicated symbols: compat_sys_getrusage
symbol: skip duplicated symbols: sys_umask
symbol: skip duplicated symbols: sys_prctl
symbol: skip duplicated symbols: sys_getcpu
symbol: skip duplicated symbols: sys_sysinfo
symbol: skip duplicated symbols: compat_sys_sysinfo
symbol: skip duplicated symbols: sys_setns
symbol: skip duplicated symbols: sys_reboot
symbol: skip duplicated symbols: sys_getgroups
symbol: skip duplicated symbols: sys_setgroups
symbol: skip duplicated symbols: sys_nice
symbol: skip duplicated symbols: sys_sched_setscheduler
symbol: skip duplicated symbols: sys_sched_setparam
symbol: skip duplicated symbols: sys_sched_setattr
symbol: skip duplicated symbols: sys_sched_getscheduler
symbol: skip duplicated symbols: sys_sched_getparam
symbol: skip duplicated symbols: sys_sched_getattr
symbol: skip duplicated symbols: sys_sched_setaffinity
symbol: skip duplicated symbols: sys_sched_getaffinity
symbol: skip duplicated symbols: sys_sched_get_priority_max
symbol: skip duplicated symbols: sys_sched_get_priority_min
symbol: skip duplicated symbols: sys_sched_rr_get_interval
symbol: skip duplicated symbols: compat_sys_sched_rr_get_interval
symbol: skip duplicated symbols: sys_membarrier
symbol: skip duplicated symbols: sys_syslog
symbol: skip duplicated symbols: sys_kcmp
symbol: skip duplicated symbols: sys_time
symbol: skip duplicated symbols: sys_stime
symbol: skip duplicated symbols: compat_sys_time
symbol: skip duplicated symbols: compat_sys_stime
symbol: skip duplicated symbols: sys_gettimeofday
symbol: skip duplicated symbols: sys_settimeofday
symbol: skip duplicated symbols: compat_sys_gettimeofday
symbol: skip duplicated symbols: compat_sys_settimeofday
symbol: skip duplicated symbols: sys_adjtimex
symbol: skip duplicated symbols: compat_sys_adjtimex
symbol: skip duplicated symbols: sys_nanosleep
symbol: skip duplicated symbols: compat_sys_nanosleep
symbol: skip duplicated symbols: sys_timer_create
symbol: skip duplicated symbols: compat_sys_timer_create
symbol: skip duplicated symbols: sys_timer_gettime
symbol: skip duplicated symbols: compat_sys_timer_gettime
symbol: skip duplicated symbols: sys_timer_getoverrun
symbol: skip duplicated symbols: sys_timer_settime
symbol: skip duplicated symbols: compat_sys_timer_settime
symbol: skip duplicated symbols: sys_timer_delete
symbol: skip duplicated symbols: sys_clock_settime
symbol: skip duplicated symbols: sys_clock_gettime
symbol: skip duplicated symbols: sys_clock_adjtime
symbol: skip duplicated symbols: sys_clock_getres
symbol: skip duplicated symbols: compat_sys_clock_settime
symbol: skip duplicated symbols: compat_sys_clock_gettime
symbol: skip duplicated symbols: compat_sys_clock_adjtime
symbol: skip duplicated symbols: compat_sys_clock_getres
symbol: skip duplicated symbols: sys_clock_nanosleep
symbol: skip duplicated symbols: compat_sys_clock_nanosleep
symbol: skip duplicated symbols: sys_getitimer
symbol: skip duplicated symbols: compat_sys_getitimer
symbol: skip duplicated symbols: sys_alarm
symbol: skip duplicated symbols: sys_setitimer
symbol: skip duplicated symbols: compat_sys_setitimer
symbol: skip duplicated symbols: sys_set_robust_list
symbol: skip duplicated symbols: sys_get_robust_list
symbol: skip duplicated symbols: sys_futex
symbol: skip duplicated symbols: compat_sys_set_robust_list
symbol: skip duplicated symbols: compat_sys_get_robust_list
symbol: skip duplicated symbols: compat_sys_futex
symbol: skip duplicated symbols: sys_chown16
symbol: skip duplicated symbols: sys_lchown16
symbol: skip duplicated symbols: sys_fchown16
symbol: skip duplicated symbols: sys_setregid16
symbol: skip duplicated symbols: sys_setgid16
symbol: skip duplicated symbols: sys_setreuid16
symbol: skip duplicated symbols: sys_setuid16
symbol: skip duplicated symbols: sys_setresuid16
symbol: skip duplicated symbols: sys_getresuid16
symbol: skip duplicated symbols: sys_setresgid16
symbol: skip duplicated symbols: sys_getresgid16
symbol: skip duplicated symbols: sys_setfsuid16
symbol: skip duplicated symbols: sys_setfsgid16
symbol: skip duplicated symbols: sys_getgroups16
symbol: skip duplicated symbols: sys_setgroups16
symbol: skip duplicated symbols: sys_delete_module
symbol: skip duplicated symbols: sys_init_module
symbol: skip duplicated symbols: sys_finit_module
symbol: skip duplicated symbols: sys_acct
symbol: skip duplicated symbols: sys_kexec_load
symbol: skip duplicated symbols: compat_sys_kexec_load
symbol: skip duplicated symbols: sys_kexec_file_load
symbol: skip duplicated symbols: compat_sys_sigprocmask
symbol: skip duplicated symbols: compat_sys_sched_setaffinity
symbol: skip duplicated symbols: compat_sys_sched_getaffinity
symbol: skip duplicated symbols: compat_sys_move_pages
symbol: skip duplicated symbols: compat_sys_migrate_pages
symbol: skip duplicated symbols: sys_seccomp
symbol: skip duplicated symbols: sys_bpf
symbol: skip duplicated symbols: sys_perf_event_open
symbol: skip duplicated symbols: sys_readahead
symbol: skip duplicated symbols: sys_memfd_create
symbol: skip duplicated symbols: sys_mincore
symbol: skip duplicated symbols: sys_mlock
symbol: skip duplicated symbols: sys_mlock2
symbol: skip duplicated symbols: sys_munlock
symbol: skip duplicated symbols: sys_mlockall
symbol: skip duplicated symbols: sys_mmap_pgoff
symbol: skip duplicated symbols: sys_munmap
symbol: skip duplicated symbols: sys_brk
symbol: skip duplicated symbols: sys_remap_file_pages
symbol: skip duplicated symbols: sys_mprotect
symbol: skip duplicated symbols: sys_pkey_mprotect
symbol: skip duplicated symbols: sys_pkey_alloc
symbol: skip duplicated symbols: sys_pkey_free
symbol: skip duplicated symbols: sys_mremap
symbol: skip duplicated symbols: sys_msync
symbol: skip duplicated symbols: sys_process_vm_readv
symbol: skip duplicated symbols: sys_process_vm_writev
symbol: skip duplicated symbols: compat_sys_process_vm_readv
symbol: skip duplicated symbols: compat_sys_process_vm_writev
symbol: skip duplicated symbols: sys_fadvise64_64
symbol: skip duplicated symbols: sys_fadvise64
symbol: skip duplicated symbols: sys_madvise
symbol: skip duplicated symbols: sys_swapoff
symbol: skip duplicated symbols: sys_swapon
symbol: skip duplicated symbols: hstate_next_node_to_free.isra.61
symbol: skip duplicated symbols: sys_set_mempolicy
symbol: skip duplicated symbols: sys_migrate_pages
symbol: skip duplicated symbols: sys_get_mempolicy
symbol: skip duplicated symbols: compat_sys_get_mempolicy
symbol: skip duplicated symbols: compat_sys_set_mempolicy
symbol: skip duplicated symbols: sys_mbind
symbol: skip duplicated symbols: compat_sys_mbind
symbol: skip duplicated symbols: sys_move_pages
symbol: skip duplicated symbols: sys_close
symbol: skip duplicated symbols: sys_truncate
symbol: skip duplicated symbols: compat_sys_truncate
symbol: skip duplicated symbols: sys_ftruncate
symbol: skip duplicated symbols: compat_sys_ftruncate
symbol: skip duplicated symbols: sys_fallocate
symbol: skip duplicated symbols: sys_faccessat
symbol: skip duplicated symbols: sys_access
symbol: skip duplicated symbols: sys_chdir
symbol: skip duplicated symbols: sys_fchdir
symbol: skip duplicated symbols: sys_chroot
symbol: skip duplicated symbols: sys_fchmod
symbol: skip duplicated symbols: sys_fchmodat
symbol: skip duplicated symbols: sys_chmod
symbol: skip duplicated symbols: sys_fchownat
symbol: skip duplicated symbols: sys_chown
symbol: skip duplicated symbols: sys_lchown
symbol: skip duplicated symbols: sys_fchown
symbol: skip duplicated symbols: sys_open
symbol: skip duplicated symbols: sys_openat
symbol: skip duplicated symbols: compat_sys_open
symbol: skip duplicated symbols: compat_sys_openat
symbol: skip duplicated symbols: sys_creat
symbol: skip duplicated symbols: sys_lseek
symbol: skip duplicated symbols: compat_sys_lseek
symbol: skip duplicated symbols: sys_llseek
symbol: skip duplicated symbols: sys_read
symbol: skip duplicated symbols: sys_write
symbol: skip duplicated symbols: sys_pread64
symbol: skip duplicated symbols: sys_pwrite64
symbol: skip duplicated symbols: sys_readv
symbol: skip duplicated symbols: sys_writev
symbol: skip duplicated symbols: sys_preadv
symbol: skip duplicated symbols: sys_preadv2
symbol: skip duplicated symbols: sys_pwritev
symbol: skip duplicated symbols: sys_pwritev2
symbol: skip duplicated symbols: compat_sys_readv
symbol: skip duplicated symbols: compat_sys_preadv64
symbol: skip duplicated symbols: compat_sys_preadv
symbol: skip duplicated symbols: compat_sys_preadv64v2
symbol: skip duplicated symbols: compat_sys_preadv2
symbol: skip duplicated symbols: compat_sys_writev
symbol: skip duplicated symbols: compat_sys_pwritev64
symbol: skip duplicated symbols: compat_sys_pwritev
symbol: skip duplicated symbols: compat_sys_pwritev64v2
symbol: skip duplicated symbols: compat_sys_pwritev2
symbol: skip duplicated symbols: sys_sendfile
symbol: skip duplicated symbols: sys_sendfile64
symbol: skip duplicated symbols: compat_sys_sendfile
symbol: skip duplicated symbols: compat_sys_sendfile64
symbol: skip duplicated symbols: sys_copy_file_range
symbol: skip duplicated symbols: sys_stat
symbol: skip duplicated symbols: sys_lstat
symbol: skip duplicated symbols: sys_fstat
symbol: skip duplicated symbols: sys_newstat
symbol: skip duplicated symbols: sys_newlstat
symbol: skip duplicated symbols: sys_newfstatat
symbol: skip duplicated symbols: sys_newfstat
symbol: skip duplicated symbols: sys_readlinkat
symbol: skip duplicated symbols: sys_readlink
symbol: skip duplicated symbols: sys_statx
symbol: skip duplicated symbols: compat_sys_newstat
symbol: skip duplicated symbols: compat_sys_newlstat
symbol: skip duplicated symbols: compat_sys_newfstatat
symbol: skip duplicated symbols: compat_sys_newfstat
symbol: skip duplicated symbols: sys_uselib
symbol: skip duplicated symbols: sys_execve
symbol: skip duplicated symbols: sys_execveat
symbol: skip duplicated symbols: compat_sys_execve
symbol: skip duplicated symbols: compat_sys_execveat
symbol: skip duplicated symbols: sys_pipe2
symbol: skip duplicated symbols: sys_pipe
symbol: skip duplicated symbols: sys_mknodat
symbol: skip duplicated symbols: sys_mknod
symbol: skip duplicated symbols: sys_mkdirat
symbol: skip duplicated symbols: sys_mkdir
symbol: skip duplicated symbols: sys_rmdir
symbol: skip duplicated symbols: sys_unlinkat
symbol: skip duplicated symbols: sys_unlink
symbol: skip duplicated symbols: sys_symlinkat
symbol: skip duplicated symbols: sys_symlink
symbol: skip duplicated symbols: sys_linkat
symbol: skip duplicated symbols: sys_link
symbol: skip duplicated symbols: sys_renameat2
symbol: skip duplicated symbols: sys_renameat
symbol: skip duplicated symbols: sys_rename
symbol: skip duplicated symbols: sys_fcntl
symbol: skip duplicated symbols: compat_sys_fcntl64
symbol: skip duplicated symbols: compat_sys_fcntl
symbol: skip duplicated symbols: sys_ioctl
symbol: skip duplicated symbols: sys_old_readdir
symbol: skip duplicated symbols: sys_getdents
symbol: skip duplicated symbols: sys_getdents64
symbol: skip duplicated symbols: compat_sys_old_readdir
symbol: skip duplicated symbols: compat_sys_getdents
symbol: skip duplicated symbols: sys_select
symbol: skip duplicated symbols: sys_pselect6
symbol: skip duplicated symbols: sys_poll
symbol: skip duplicated symbols: sys_ppoll
symbol: skip duplicated symbols: compat_sys_select
symbol: skip duplicated symbols: compat_sys_old_select
symbol: skip duplicated symbols: compat_sys_pselect6
symbol: skip duplicated symbols: compat_sys_ppoll
symbol: skip duplicated symbols: sys_getcwd
symbol: skip duplicated symbols: sys_dup3
symbol: skip duplicated symbols: sys_dup2
symbol: skip duplicated symbols: sys_dup
symbol: skip duplicated symbols: sys_sysfs
symbol: skip duplicated symbols: sys_umount
symbol: skip duplicated symbols: sys_oldumount
symbol: skip duplicated symbols: sys_mount
symbol: skip duplicated symbols: sys_pivot_root
symbol: skip duplicated symbols: sys_setxattr
symbol: skip duplicated symbols: sys_lsetxattr
symbol: skip duplicated symbols: sys_fsetxattr
symbol: skip duplicated symbols: sys_getxattr
symbol: skip duplicated symbols: sys_lgetxattr
symbol: skip duplicated symbols: sys_fgetxattr
symbol: skip duplicated symbols: sys_listxattr
symbol: skip duplicated symbols: sys_llistxattr
symbol: skip duplicated symbols: sys_flistxattr
symbol: skip duplicated symbols: sys_removexattr
symbol: skip duplicated symbols: sys_lremovexattr
symbol: skip duplicated symbols: sys_fremovexattr
symbol: skip duplicated symbols: sys_vmsplice
symbol: skip duplicated symbols: compat_sys_vmsplice
symbol: skip duplicated symbols: sys_splice
symbol: skip duplicated symbols: sys_tee
symbol: skip duplicated symbols: sys_syncfs
symbol: skip duplicated symbols: sys_fsync
symbol: skip duplicated symbols: sys_fdatasync
symbol: skip duplicated symbols: sys_sync_file_range
symbol: skip duplicated symbols: sys_sync_file_range2
symbol: skip duplicated symbols: sys_utime
symbol: skip duplicated symbols: sys_utimensat
symbol: skip duplicated symbols: sys_futimesat
symbol: skip duplicated symbols: sys_utimes
symbol: skip duplicated symbols: compat_sys_utime
symbol: skip duplicated symbols: compat_sys_utimensat
symbol: skip duplicated symbols: compat_sys_futimesat
symbol: skip duplicated symbols: compat_sys_utimes
symbol: skip duplicated symbols: sys_statfs
symbol: skip duplicated symbols: sys_statfs64
symbol: skip duplicated symbols: sys_fstatfs
symbol: skip duplicated symbols: sys_fstatfs64
symbol: skip duplicated symbols: sys_ustat
symbol: skip duplicated symbols: compat_sys_statfs
symbol: skip duplicated symbols: compat_sys_fstatfs
symbol: skip duplicated symbols: compat_sys_statfs64
symbol: skip duplicated symbols: compat_sys_fstatfs64
symbol: skip duplicated symbols: compat_sys_ustat
symbol: skip duplicated symbols: sys_bdflush
symbol: skip duplicated symbols: sys_inotify_init1
symbol: skip duplicated symbols: sys_inotify_add_watch
symbol: skip duplicated symbols: sys_inotify_rm_watch
symbol: skip duplicated symbols: sys_fanotify_init
symbol: skip duplicated symbols: sys_fanotify_mark
symbol: skip duplicated symbols: compat_sys_fanotify_mark
symbol: skip duplicated symbols: sys_epoll_create1
symbol: skip duplicated symbols: sys_epoll_create
symbol: skip duplicated symbols: sys_epoll_ctl
symbol: skip duplicated symbols: sys_epoll_wait
symbol: skip duplicated symbols: sys_epoll_pwait
symbol: skip duplicated symbols: compat_sys_epoll_pwait
symbol: skip duplicated symbols: sys_signalfd4
symbol: skip duplicated symbols: sys_signalfd
symbol: skip duplicated symbols: compat_sys_signalfd4
symbol: skip duplicated symbols: compat_sys_signalfd
symbol: skip duplicated symbols: sys_timerfd_create
symbol: skip duplicated symbols: sys_timerfd_settime
symbol: skip duplicated symbols: sys_timerfd_gettime
symbol: skip duplicated symbols: compat_sys_timerfd_settime
symbol: skip duplicated symbols: compat_sys_timerfd_gettime
symbol: skip duplicated symbols: sys_eventfd2
symbol: skip duplicated symbols: sys_eventfd
symbol: skip duplicated symbols: sys_userfaultfd
symbol: skip duplicated symbols: sys_io_setup
symbol: skip duplicated symbols: compat_sys_io_setup
symbol: skip duplicated symbols: sys_io_destroy
symbol: skip duplicated symbols: sys_io_submit
symbol: skip duplicated symbols: compat_sys_io_submit
symbol: skip duplicated symbols: sys_io_cancel
symbol: skip duplicated symbols: sys_io_getevents
symbol: skip duplicated symbols: compat_sys_io_getevents
symbol: skip duplicated symbols: sys_flock
symbol: skip duplicated symbols: compat_sys_mount
symbol: skip duplicated symbols: compat_sys_ioctl
symbol: skip duplicated symbols: sys_name_to_handle_at
symbol: skip duplicated symbols: sys_open_by_handle_at
symbol: skip duplicated symbols: compat_sys_open_by_handle_at
symbol: skip duplicated symbols: sys_quotactl
symbol: skip duplicated symbols: sys_lookup_dcookie
symbol: skip duplicated symbols: compat_sys_lookup_dcookie
symbol: skip duplicated symbols: sys_msgget
symbol: skip duplicated symbols: sys_msgctl
symbol: skip duplicated symbols: compat_sys_msgctl
symbol: skip duplicated symbols: sys_msgsnd
symbol: skip duplicated symbols: compat_sys_msgsnd
symbol: skip duplicated symbols: sys_msgrcv
symbol: skip duplicated symbols: compat_sys_msgrcv
symbol: skip duplicated symbols: sys_semget
symbol: skip duplicated symbols: sys_semctl
symbol: skip duplicated symbols: compat_sys_semctl
symbol: skip duplicated symbols: sys_semtimedop
symbol: skip duplicated symbols: compat_sys_semtimedop
symbol: skip duplicated symbols: sys_semop
symbol: skip duplicated symbols: sys_shmget
symbol: skip duplicated symbols: sys_shmctl
symbol: skip duplicated symbols: compat_sys_shmctl
symbol: skip duplicated symbols: sys_shmat
symbol: skip duplicated symbols: compat_sys_shmat
symbol: skip duplicated symbols: sys_shmdt
symbol: skip duplicated symbols: compat_sys_ipc
symbol: skip duplicated symbols: sys_mq_open
symbol: skip duplicated symbols: sys_mq_unlink
symbol: skip duplicated symbols: sys_mq_timedsend
symbol: skip duplicated symbols: sys_mq_timedreceive
symbol: skip duplicated symbols: sys_mq_notify
symbol: skip duplicated symbols: sys_mq_getsetattr
symbol: skip duplicated symbols: compat_sys_mq_open
symbol: skip duplicated symbols: compat_sys_mq_timedsend
symbol: skip duplicated symbols: compat_sys_mq_timedreceive
symbol: skip duplicated symbols: compat_sys_mq_notify
symbol: skip duplicated symbols: compat_sys_mq_getsetattr
symbol: skip duplicated symbols: sys_add_key
symbol: skip duplicated symbols: sys_request_key
symbol: skip duplicated symbols: sys_keyctl
symbol: skip duplicated symbols: compat_sys_keyctl
symbol: skip duplicated symbols: selinux_sem_semctl.part.30
symbol: skip duplicated symbols: selinux_shm_shmctl.part.31
symbol: skip duplicated symbols: _rsa_enc.isra.3
symbol: skip duplicated symbols: _rsa_sign.isra.5
symbol: skip duplicated symbols: _rsa_verify.isra.4
symbol: skip duplicated symbols: sys_ioprio_set
symbol: skip duplicated symbols: sys_ioprio_get
symbol: skip duplicated symbols: quirk_msi_ht_cap.part.43
symbol: skip duplicated symbols: process_echoes.part.9
symbol: skip duplicated symbols: serial8250_rpm_get_tx.part.14
symbol: skip duplicated symbols: serial8250_rpm_put_tx.part.16
symbol: skip duplicated symbols: sys_getrandom
symbol: skip duplicated symbols: wakeup_active_count_show.part.7
symbol: skip duplicated symbols: wakeup_active_show.part.4
symbol: skip duplicated symbols: wakeup_count_show.part.8
symbol: skip duplicated symbols: wakeup_expire_count_show.part.5
symbol: skip duplicated symbols: wakeup_last_time_show.part.10
symbol: skip duplicated symbols: wakeup_max_time_show.part.11
symbol: skip duplicated symbols: wakeup_total_time_show.part.12
symbol: skip duplicated symbols: virt_efi_query_variable_info_nonblocking.part.2
symbol: skip duplicated symbols: virt_efi_set_variable_nonblocking.part.5
symbol: skip duplicated symbols: sys_socket
symbol: skip duplicated symbols: sys_socketpair
symbol: skip duplicated symbols: sys_bind
symbol: skip duplicated symbols: sys_listen
symbol: skip duplicated symbols: sys_accept4
symbol: skip duplicated symbols: sys_accept
symbol: skip duplicated symbols: sys_connect
symbol: skip duplicated symbols: sys_getsockname
symbol: skip duplicated symbols: sys_getpeername
symbol: skip duplicated symbols: sys_sendto
symbol: skip duplicated symbols: sys_send
symbol: skip duplicated symbols: sys_recvfrom
symbol: skip duplicated symbols: sys_recv
symbol: skip duplicated symbols: sys_setsockopt
symbol: skip duplicated symbols: sys_getsockopt
symbol: skip duplicated symbols: sys_shutdown
symbol: skip duplicated symbols: sys_sendmsg
symbol: skip duplicated symbols: sys_sendmmsg
symbol: skip duplicated symbols: sys_recvmsg
symbol: skip duplicated symbols: sys_recvmmsg
symbol: skip duplicated symbols: sys_socketcall
symbol: skip duplicated symbols: ifalias_store.part.11
symbol: skip duplicated symbols: phys_port_id_show.part.10
symbol: skip duplicated symbols: phys_port_name_show.part.9
symbol: skip duplicated symbols: phys_switch_id_show.part.8
symbol: skip duplicated symbols: speed_show.part.13
symbol: skip duplicated symbols: compat_sys_setsockopt
symbol: skip duplicated symbols: compat_sys_getsockopt
symbol: skip duplicated symbols: compat_sys_sendmsg
symbol: skip duplicated symbols: compat_sys_sendmmsg
symbol: skip duplicated symbols: compat_sys_recvmsg
symbol: skip duplicated symbols: compat_sys_recv
symbol: skip duplicated symbols: compat_sys_recvfrom
symbol: skip duplicated symbols: compat_sys_recvmmsg
symbol: skip duplicated symbols: compat_sys_socketcall
symbol: skip duplicated symbols: xfrm4_esp_rcv.part.3
symbol: skip duplicated symbols: xfrm4_ipcomp_rcv.part.1
symbol: skip duplicated symbols: xfrm6_esp_rcv.part.3
symbol: skip duplicated symbols: xfrm6_ipcomp_rcv.part.1
symbol: skip duplicated symbols: input_action_end_b6_encap.part.10
symbol: skip duplicated symbols: ww_mutex_lock_interruptible.part.5
symbol: skip duplicated symbols: __kprobes_text_start
symbol: skip duplicated symbols: __entry_text_start
symbol: skip duplicated symbols: ftrace_graph_call
symbol: skip duplicated symbols: __softirqentry_text_start
symbol: skip duplicated symbols: _entry_trampoline
symbol: skip duplicated symbols: __entry_trampoline_start
symbol: skip duplicated symbols: __entry_trampoline_end
symbol: skip duplicated symbols: __indirect_thunk_start
symbol: skip duplicated symbols: __indirect_thunk_end
symbol: skip duplicated symbols: _sinittext
symbol: skip duplicated symbols: ftrace_define_fields_wakeup.part.4
symbol: skip duplicated symbols: ___alloc_bootmem_node.part.5
symbol: skip duplicated symbols: trace_event_define_fields_ext4_es_find_delayed_extent_range_exit.part.169
symbol: skip duplicated symbols: trace_event_define_fields_ext4_es_remove_extent.part.167
symbol: skip duplicated symbols: trace_event_define_fields_ext4_insert_range.part.175
symbol: skip duplicated symbols: trace_event_define_fields_block_bio_merge.part.62
symbol: skip duplicated symbols: trace_event_define_fields_block_bio_queue.part.63
symbol: skip duplicated symbols: trace_event_define_fields_block_get_rq.part.64
symbol: skip duplicated symbols: trace_event_define_fields_i2c_write.part.22
symbol: skip duplicated symbols: trace_event_define_fields_smbus_write.part.2
symbol: skip duplicated symbols: trace_event_define_fields_tcp_retransmit_synack.part.42
symbol: skip duplicated symbols: gdt_end
symbol: skip duplicated symbols: real_mode_relocs
symbol: skip duplicated symbols: __stop_ftrace_events
symbol: skip duplicated symbols: __stop_ftrace_eval_maps
symbol: skip duplicated symbols: __stop_syscalls_metadata
symbol: skip duplicated symbols: __cpu_method_of_table
symbol: skip duplicated symbols: __cpuidle_method_of_table
symbol: skip duplicated symbols: __earlycon_table
symbol: skip duplicated symbols: __iort_acpi_probe_table
symbol: skip duplicated symbols: __irqchip_acpi_probe_table
symbol: skip duplicated symbols: __dtb_end
symbol: skip duplicated symbols: __dtb_start
symbol: skip duplicated symbols: __iort_acpi_probe_table_end
symbol: skip duplicated symbols: __irqchip_acpi_probe_table_end
symbol: skip duplicated symbols: __stop_kprobe_blacklist
symbol: skip duplicated symbols: __timer_acpi_probe_table_end
symbol: skip duplicated symbols: __setup_start
symbol: skip duplicated symbols: __setup_end
symbol: skip duplicated symbols: __initcall_end
symbol: skip duplicated symbols: __security_initcall_start
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: master_mute_sw_put.part.46
symbol: skip duplicated symbols: __ttm_write_lock.part.4
symbol: skip duplicated symbols: __ttm_read_trylock.part.3
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: send_rmdir.part.41
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: _key_expansion_256a
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: skip duplicated symbols: cleanup_module
symbol: loaded 57286 normal + 0 dynamic symbols
[?1049h(B[?7h[?1h=uftrace: create graph for session 8ffabce9b0b471c1 (/home/taeung/workspace/uftrace-data/echo-sync)
fstack: opening .//1827.dat
fstack: fixup for some special functions
filter: add filter for execl
filter: add filter for execlp
filter: add filter for execle
filter: add filter for execv
filter: add filter for execve
filter: add filter for execvp
filter: add filter for execvpe
filter: add filter for setjmp
filter: add filter for _setjmp
filter: add filter for _setjmp
filter: add filter for __sigsetjmp
filter: add filter for longjmp
filter: add filter for siglongjmp
filter: add filter for __longjmp_chk
filter: add filter for fork
filter: add filter for fork
filter: add filter for vfork
filter: add filter for vfork
filter: add filter for daemon
fstack: ENTRY: [ 1827] stack: 0, depth: 0, disp: 0, I: 0, O: 0, D: 1024, flags = 0 
fstack: ENTRY: [ 1827] stack: 1, depth: 0, disp: 1, I: 0, O: 0, D: 1023, flags = 0 
fstack: ENTRY: [ 1827] stack: 2, depth: 1, disp: 2, I: 0, O: 0, D: 1022, flags = 0 
fstack: ENTRY: [ 1827] stack: 3, depth: 2, disp: 3, I: 0, O: 0, D: 1021, flags = 0 
fstack: ENTRY: [ 1827] stack: 4, depth: 3, disp: 4, I: 0, O: 0, D: 1020, flags = 0 
fstack: ENTRY: [ 1827] stack: 5, depth: 4, disp: 5, I: 0, O: 0, D: 1019, flags = 0 
fstack: ENTRY: [ 1827] stack: 6, depth: 5, disp: 6, I: 0, O: 0, D: 1018, flags = 0 
fstack: ENTRY: [ 1827] stack: 7, depth: 6, disp: 7, I: 0, O: 0, D: 1017, flags = 0 
fstack: EXIT : [ 1827] stack: 7, depth: 1017, disp: 7, I: 0, O: 0, D: 1016, flags = 0
fstack: EXIT : [ 1827] stack: 6, depth: 1018, disp: 6, I: 0, O: 0, D: 1017, flags = 0
fstack: ENTRY: [ 1827] stack: 6, depth: 5, disp: 6, I: 0, O: 0, D: 1018, flags = 0 
fstack: EXIT : [ 1827] stack: 6, depth: 1018, disp: 6, I: 0, O: 0, D: 1017, flags = 0
fstack: ENTRY: [ 1827] stack: 0, depth: 2, disp: 3, I: 0, O: 0, D: 1024, flags = 0 
fstack: EXIT : [ 1827] stack: 0, depth: 1024, disp: 3, I: 0, O: 0, D: 1023, flags = 0
fstack: ENTRY: [ 1827] stack: 0, depth: 2, disp: 3, I: 0, O: 0, D: 1024, flags = 0 
fstack: EXIT : [ 1827] stack: 0, depth: 1024, disp: 3, I: 0, O: 0, D: 1023, flags = 0
fstack: ENTRY: [ 1827] stack: 0, depth: 2, disp: 3, I: 0, O: 0, D: 1024, flags = 0 
fstack: EXIT : [ 1827] stack: 0, depth: 1024, disp: 3, I: 0, O: 0, D: 1023, flags = 0
fstack: ENTRY: [ 1827] stack: 0, depth: 2, disp: 3, I: 0, O: 0, D: 1024, flags = 0 
fstack: EXIT : [ 1827] stack: 0, depth: 1024, disp: 3, I: 0, O: 0, D: 1023, flags = 0
fstack: ENTRY: [ 1827] stack: 0, depth: 2, disp: 3, I: 0, O: 0, D: 1024, flags = 0 
fstack: EXIT : [ 1827] stack: 0, depth: 1024, disp: 3, I: 0, O: 0, D: 1023, flags = 0
fstack: Warning: negative stack count
fstack: EXIT : [ 1827] stack: 0, depth: 1024, disp: 2, I: 0, O: 0, D: 1024, flags = 0
uftrace: broken graph - addresses not match
fstack: ENTRY: [ 1827] stack: 0, depth: 1, disp: 2, I: 0, O: 0, D: 1024, flags = 0 
fstack: ENTRY: [ 1827] stack: 1, depth: 2, disp: 3, I: 0, O: 0, D: 1023, flags = 0 
fstack: EXIT : [ 1827] stack: 1, depth: 1023, disp: 3, I: 0, O: 0, D: 1022, flags = 0
fstack: ENTRY: [ 1827] stack: 1, depth: 2, disp: 3, I: 0, O: 0, D: 1023, flags = 0 
fstack: EXIT : [ 1827] stack: 1, depth: 1023, disp: 3, I: 0, O: 0, D: 1022, flags = 0
fstack: ENTRY: [ 1827] stack: 1, depth: 2, disp: 3, I: 0, O: 0, D: 1023, flags = 0 
fstack: ENTRY: [ 1827] stack: 1, depth: 2, disp: 3, I: 0, O: 0, D: 1023, flags = 0 
fstack: EXIT : [ 1827] stack: 1, depth: 1023, disp: 3, I: 0, O: 0, D: 1022, flags = 0
fstack: ENTRY: [ 1827] stack: 1, depth: 2, disp: 3, I: 0, O: 0, D: 1023, flags = 0 
fstack: EXIT : [ 1827] stack: 1, depth: 1023, disp: 3, I: 0, O: 0, D: 1022, flags = 0
fstack: ENTRY: [ 1827] stack: 1, depth: 2, disp: 3, I: 0, O: 0, D: 1023, flags = 0 
fstack: EXIT : [ 1827] stack: 1, depth: 1023, disp: 3, I: 0, O: 0, D: 1022, flags = 0
fstack: EXIT : [ 1827] stack: 0, depth: 1024, disp: 2, I: 0, O: 0, D: 1023, flags = 0
fstack: Warning: negative stack count
fstack: EXIT : [ 1827] stack: 0, depth: 1024, disp: 1, I: 0, O: 0, D: 1024, flags = 0
uftrace: broken graph - addresses not match
fstack: EXIT : [ 1827] stack: 0, depth: 1024, disp: 0, I: 0, O: 0, D: 1023, flags = 0
uftrace: broken graph - addresses not match
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: Warning: negative stack count
fstack: no more perf data
fstack: no more kernel data
honggyukim commented 5 years ago

It's caused due to null pointer dereference.

1047│ static void print_graph_indent(struct tui_graph *graph,
1048│                                struct tui_graph_node *node,
1049│                                int depth, bool single_child)
1050│ {
1051│         int i;
1052├───────> struct tui_graph_node *parent = (void *)node->n.parent;
1053│
1054│         for (i = 0; i < depth; i++) {
1055│                 if (!graph->disp_mask[i]) {
1056│                         printw("   ");
1057│                         continue;
1058│                 }
1059│
1060│                 if (i < depth - 1 || single_child)
1061│                         printw("  │");
1062│                 else if (is_last_child(parent, node))
1063│                         printw("  └");
1064│                 else
1065│                         printw("  ├");
1066│         }
1067│ }

(gdb) p node
$1 = (struct tui_graph_node *) 0x0

Here is the backtrace info.

(gdb) bt
#0  0x0000000000411dfc in print_graph_indent (graph=0x79fed0, node=0x0, depth=0, single_child=true) at /home/honggyu/work/uftrace/git/uftrace/cmds/tui.c:1052
#1  0x0000000000411f22 in win_display_graph (win=0x79fed0, node=0x0) at /home/honggyu/work/uftrace/git/uftrace/cmds/tui.c:1082
#2  0x0000000000413e1c in tui_window_display (win=0x79fed0, full_redraw=true, handle=0x7fffffffdef0) at /home/honggyu/work/uftrace/git/uftrace/cmds/tui.c:1887
#3  0x0000000000415499 in tui_main_loop (opts=0x7fffffffe130, handle=0x7fffffffdef0) at /home/honggyu/work/uftrace/git/uftrace/cmds/tui.c:2477
#4  0x00000000004156e2 in command_tui (argc=0, argv=0x7fffffffe388, opts=0x7fffffffe130) at /home/honggyu/work/uftrace/git/uftrace/cmds/tui.c:2535
#5  0x000000000040763c in main (argc=0, argv=0x7fffffffe388) at /home/honggyu/work/uftrace/git/uftrace/uftrace.c:1085
namhyung commented 5 years ago

Thanks for the report. The below patch should fix it

diff --git a/cmds/tui.c b/cmds/tui.c
index 3c051712..bc09bc60 100644
--- a/cmds/tui.c
+++ b/cmds/tui.c
@@ -946,7 +946,7 @@ static void win_header_graph(struct tui_window *win,

        if (list_empty(&graph_output_fields)) {
                printw("%-*.*s", COLS, COLS, "uftrace graph TUI");
-               return;
+               goto out;
        }

        buf = p = xmalloc(w + 1);
@@ -962,6 +962,7 @@ static void win_header_graph(struct tui_window *win,
        printw("%-*.*s", COLS, COLS, buf);
        free(buf);

+out:
        /* start with same make as top */
        graph->disp = graph->win.top;
        graph->disp_depth = graph->top_depth;
honggyukim commented 5 years ago

It works fine. Thanks!

uftrace graph TUI
 (1) t-abc                                                                                                                                                                                                  
  ├─(1) __monstartup
  │
  ├─(1) __cxa_atexit
  │
  └─(1) main
    (1) a
    (1) b
    (1) c
    (1) getpid