Versions:
ncurses-6.1_p20190609
gpm-1.20.7-r2
gdb-8.3
pinfo-0.6.13
Steps:
It could be trigger by gdb or pinfo
I. for gdb:
# gdb -tui ls
[1] 3348 segmentation fault (core dumped) gdb -tui ls
II. for pinfo:
# pinfo close
Caught signal 11, bye!
pinfo: crash with: Success
The backtrace of I:
#0 0x00007f8fec781349 in termattrs_sp (sp=sp@entry=0x55691d0e1070) at /usr/src/debug/sys-libs/ncurses-6.1_p20190609/ncurses-6.1/ncurses/tty/lib_vidattr.c:381
attrs = <optimized out>
sp = 0x55691d0e1070
attrs = <optimized out>
#1 0x00007f8fec77e6bf in _nc_setupscreen_sp (spp=spp@entry=0x7ffd24b71128, slines=<optimized out>, scolumns=<optimized out>, output=output@entry=0x7f8fec244760 <_IO_2_1_stdout_>, filtered=<optimized out>,
slk_format=slk_format@entry=0) at /usr/src/debug/sys-libs/ncurses-6.1_p20190609/ncurses-6.1/ncurses/base/lib_set_term.c:507
null_TTY = {c_iflag = 0, c_oflag = 0, c_cflag = 0, c_lflag = 0, c_line = 0 '\000', c_cc = '\000' <repeats 31 times>, c_ispeed = 0, c_ospeed = 0}
env = <optimized out>
bottom_stolen = 0
sp = 0x55691d0e1070
#2 0x00007f8fec779e4e in newterm_sp (sp=<optimized out>, name=name@entry=0x0, ofp=ofp@entry=0x7f8fec244760 <_IO_2_1_stdout_>, ifp=ifp@entry=0x7f8fec243a00 <_IO_2_1_stdin_>)
at /usr/src/debug/sys-libs/ncurses-6.1_p20190609/ncurses-6.1/ncurses/base/lib_newterm.c:222
slk_format = 0
filter_mode = <optimized out>
errret = 1
result = 0x0
current = 0x0
its_term = 0x0
_ofp = 0x7f8fec244760 <_IO_2_1_stdout_>
_ifp = 0x7f8fec243a00 <_IO_2_1_stdin_>
new_term = 0x0
#3 0x00007f8fec77a2d8 in newterm (name=name@entry=0x0, ofp=0x7f8fec244760 <_IO_2_1_stdout_>, ifp=0x7f8fec243a00 <_IO_2_1_stdin_>)
at /usr/src/debug/sys-libs/ncurses-6.1_p20190609/ncurses-6.1/ncurses/base/lib_newterm.c:355
rc = <optimized out>
#4 0x000055691cae9ad5 in tui_enable () at tui/tui.c:429
w = <optimized out>
s = <optimized out>
cap = <optimized out>
interp = 0x55691d0df500 "tui"
#5 0x000055691c9addf9 in captured_main_1 (context=<optimized out>) at main.c:971
argv = <optimized out>
execarg = 0x7ffd24b723bf "ls"
cdarg = 0x0
local_gdbinit = 0x0
i = <optimized out>
save_auto_load = <optimized out>
ret = 1
argc = <optimized out>
pid_or_core_arg = 0x0
ttyarg = 0x0
cmdarg_vec = {<std::_Vector_base<cmdarg, std::allocator<cmdarg> >> = {_M_impl = {<std::allocator<cmdarg>> = {<__gnu_cxx::new_allocator<cmdarg>> = {<No data fields>}, <No data fields>}, _M_start = 0x0,
_M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
dirarg = {<std::_Vector_base<char*, std::allocator<char*> >> = {_M_impl = {<std::allocator<char*>> = {<__gnu_cxx::new_allocator<char*>> = {<No data fields>}, <No data fields>}, _M_start = 0x0,
_M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
system_gdbinit = 0x0
home_gdbinit = 0x55691d073bc0 "/root/.gdbinit"
corearg = 0x0
tmp_warn_preprint = {_M_t = {
_M_t = {<std::_Tuple_impl<0, char*, gdb::xfree_deleter<char> >> = {<std::_Tuple_impl<1, gdb::xfree_deleter<char> >> = {<std::_Head_base<1, gdb::xfree_deleter<char>, true>> = {<gdb::xfree_deleter<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0, char*, false>> = {_M_head_impl = 0x55691cf19e00 "gdb: warning: "}, <No data fields>}, <No data fields>}}}
symarg = 0x7ffd24b723bf "ls"
pidarg = 0x0
stat_reporter = {m_msg_type = false, m_time_enabled = -1, m_space_enabled = -1, m_symtab_enabled = -1, m_start_cpu_time = {__d = {__r = 4438}}, m_start_wall_time = {__d = {__r = 55835103951989}},
m_start_space = 0, m_start_nr_symtabs = 0, m_start_nr_compunit_symtabs = 0, m_start_nr_blocks = 0}
argc = <optimized out>
argv = <optimized out>
quiet = 0
set_args = 0
inhibit_home_gdbinit = 0
symarg = <optimized out>
execarg = <optimized out>
pidarg = <optimized out>
corearg = <optimized out>
pid_or_core_arg = <optimized out>
cdarg = <optimized out>
ttyarg = <optimized out>
print_help = 0
print_version = 0
print_configuration = 0
cmdarg_vec = <optimized out>
dirarg = <optimized out>
system_gdbinit = <optimized out>
home_gdbinit = <optimized out>
local_gdbinit = <optimized out>
i = <optimized out>
save_auto_load = <optimized out>
ret = <optimized out>
stat_reporter = <optimized out>
tmp_warn_preprint = <optimized out>
tmp = <optimized out>
c = <optimized out>
long_options = {{name = 0x55691cc6ec30 "tui", has_arg = 0, flag = 0x0, val = 14}, {name = 0x55691cc6ec74 "dbx", has_arg = 0, flag = 0x55691cef8810 <dbx_commands>, val = 1}, {
name = 0x55691cca2973 "readnow", has_arg = 0, flag = 0x0, val = 19}, {name = 0x55691cca297c "readnever", has_arg = 0, flag = 0x0, val = 20}, {name = 0x55691cc22d65 "r", has_arg = 0, flag = 0x0,
val = 19}, {name = 0x55691cc6ec78 "quiet", has_arg = 0, flag = 0x55691cef8834 <captured_main_1(captured_main_args*)::quiet>, val = 1}, {name = 0x55691cc1a40f "q", has_arg = 0,
flag = 0x55691cef8834 <captured_main_1(captured_main_args*)::quiet>, val = 1}, {name = 0x55691cc6ec87 "silent", has_arg = 0, flag = 0x55691cef8834 <captured_main_1(captured_main_args*)::quiet>,
val = 1}, {name = 0x55691cc6ec7e "nh", has_arg = 0, flag = 0x55691cef882c <captured_main_1(captured_main_args*)::inhibit_home_gdbinit>, val = 1}, {name = 0x55691cc780eb "nx", has_arg = 0,
flag = 0x55691cefd2b0 <inhibit_gdbinit>, val = 1}, {name = 0x55691cca817a "n", has_arg = 0, flag = 0x55691cefd2b0 <inhibit_gdbinit>, val = 1}, {name = 0x55691cc6ec81 "batch-silent", has_arg = 0,
flag = 0x0, val = 66}, {name = 0x55691cc6ec8e "batch", has_arg = 0, flag = 0x55691cef87d8 <batch_flag>, val = 1}, {name = 0x55691cbffb77 "fullname", has_arg = 0, flag = 0x0, val = 102}, {
name = 0x55691cc45731 "f", has_arg = 0, flag = 0x0, val = 102}, {name = 0x55691cc6ec94 "annotate", has_arg = 1, flag = 0x0, val = 12}, {name = 0x55691cc16de3 "help", has_arg = 0,
flag = 0x55691cef8828 <captured_main_1(captured_main_args*)::print_help>, val = 1}, {name = 0x55691ccd847f "se", has_arg = 1, flag = 0x0, val = 10}, {name = 0x55691cc1a854 "symbols", has_arg = 1,
flag = 0x0, val = 115}, {name = 0x55691ccdd14c "s", has_arg = 1, flag = 0x0, val = 115}, {name = 0x55691cbffeba "exec", has_arg = 1, flag = 0x0, val = 101}, {name = 0x55691ccbe6ac "e", has_arg = 1,
flag = 0x0, val = 101}, {name = 0x55691cc8a973 "core", has_arg = 1, flag = 0x0, val = 99}, {name = 0x55691cc956a8 "c", has_arg = 1, flag = 0x0, val = 99}, {name = 0x55691cc68987 "pid", has_arg = 1,
flag = 0x0, val = 112}, {name = 0x55691cc7e909 "p", has_arg = 1, flag = 0x0, val = 112}, {name = 0x55691cc745cd "command", has_arg = 1, flag = 0x0, val = 120}, {
name = 0x55691cc6ecaf "eval-command", has_arg = 1, flag = 0x0, val = 88}, {name = 0x55691cc73f95 "version", has_arg = 0, flag = 0x55691cef8824 <captured_main_1(captured_main_args*)::print_version>,
val = 1}, {name = 0x55691cc16e4b "configuration", has_arg = 0, flag = 0x55691cef8820 <captured_main_1(captured_main_args*)::print_configuration>, val = 1}, {name = 0x55691ccdd54e "x", has_arg = 1,
flag = 0x0, val = 120}, {name = 0x55691cc16ca9 "ex", has_arg = 1, flag = 0x0, val = 88}, {name = 0x55691cc6ec9d "init-command", has_arg = 1, flag = 0x0, val = 17}, {
name = 0x55691cc6ecaa "init-eval-command", has_arg = 1, flag = 0x0, val = 18}, {name = 0x55691ccb973d "ix", has_arg = 1, flag = 0x0, val = 17}, {name = 0x55691cc6ecbc "iex", has_arg = 1,
flag = 0x0, val = 18}, {name = 0x55691ccaf9ab "ui", has_arg = 1, flag = 0x0, val = 105}, {name = 0x55691cbfc82a "interpreter", has_arg = 1, flag = 0x0, val = 105}, {name = 0x55691cc8427d "i",
has_arg = 1, flag = 0x0, val = 105}, {name = 0x55691cc6ecc5 "directory", has_arg = 1, flag = 0x0, val = 100}, {name = 0x55691cc11188 "d", has_arg = 1, flag = 0x0, val = 100}, {
name = 0x55691cc6ecc0 "data-directory", has_arg = 1, flag = 0x0, val = 68}, {name = 0x55691cc13bf2 "D", has_arg = 1, flag = 0x0, val = 68}, {name = 0x55691cc73963 "cd", has_arg = 1, flag = 0x0,
val = 11}, {name = 0x55691cc5d7d0 "tty", has_arg = 1, flag = 0x0, val = 116}, {name = 0x55691cc6eccf "baud", has_arg = 1, flag = 0x0, val = 98}, {name = 0x55691cc2bff2 "b", has_arg = 1, flag = 0x0,
val = 98}, {name = 0x55691ccbecda "nw", has_arg = 0, flag = 0x0, val = 15}, {name = 0x55691cc6ecd4 "nowindows", has_arg = 0, flag = 0x0, val = 15}, {name = 0x55691ccc1023 "w", has_arg = 0,
flag = 0x0, val = 16}, {name = 0x55691cc6ecd6 "windows", has_arg = 0, flag = 0x0, val = 16}, {name = 0x55691cca3e15 "statistics", has_arg = 0, flag = 0x0, val = 13}, {name = 0x55691cc1ac34 "write",
has_arg = 0, flag = 0x55691cef6f78 <write_files>, val = 1}, {name = 0x55691cbfe3b6 "args", has_arg = 0, flag = 0x55691cef8830 <captured_main_1(captured_main_args*)::set_args>, val = 1}, {
name = 0x55691cc00463 "l", has_arg = 1, flag = 0x0, val = 108}, {name = 0x55691cc6ecde "return-child-result", has_arg = 0, flag = 0x55691cef87d0 <return_child_result>, val = 1}, {name = 0x0,
has_arg = 0, flag = 0x0, val = 0}}
option_index = <optimized out>
rate = <optimized out>
p = <optimized out>
timeout = <optimized out>
p = <optimized out>
cmdarg_p = <optimized out>
objfile = <optimized out>
__for_range = <optimized out>
__for_begin = <optimized out>
__for_end = <optimized out>
cmdarg_p = <optimized out>
error_status = <optimized out>
exit_arg = <optimized out>
#6 captured_main (data="" out>) at main.c:1172
context = <optimized out>
context = <optimized out>
exception_try_scope_instance = <optimized out>
ex = <optimized out>
#7 gdb_main (args=<optimized out>) at main.c:1198
exception_try_scope_instance = {saved_state = 0x55691cc1b120 <sentinel_cleanup>}
#8 0x000055691c7e9c8b in main (argc=<optimized out>, argv=<optimized out>) at gdb.c:32
args = {argc = 3, argv = 0x7ffd24b71478, interpreter_p = 0x55691cbf0004 "console"}
The backtrace of II:
Continuing.
[Detaching after vfork from child process 4071]
[Detaching after vfork from child process 4073]
[Detaching after vfork from child process 4075]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7f26349 in termattrs_sp (sp=sp@entry=0x555555575410) at /usr/src/debug/sys-libs/ncurses-6.1_p20190609/ncurses-6.1/ncurses/tty/lib_vidattr.c:381
381 if (enter_alt_charset_mode)
#0 0x00007ffff7f26349 in termattrs_sp (sp=sp@entry=0x555555575410) at /usr/src/debug/sys-libs/ncurses-6.1_p20190609/ncurses-6.1/ncurses/tty/lib_vidattr.c:381
attrs = <optimized out>
sp = 0x555555575410
attrs = <optimized out>
#1 0x00007ffff7f236bf in _nc_setupscreen_sp (spp=spp@entry=0x7fffffffcb38, slines=<optimized out>, scolumns=<optimized out>, output=output@entry=0x555555572420, filtered=<optimized out>,
slk_format=slk_format@entry=0) at /usr/src/debug/sys-libs/ncurses-6.1_p20190609/ncurses-6.1/ncurses/base/lib_set_term.c:507
null_TTY = {c_iflag = 0, c_oflag = 0, c_cflag = 0, c_lflag = 0, c_line = 0 '\000', c_cc = '\000' <repeats 31 times>, c_ispeed = 0, c_ospeed = 0}
env = <optimized out>
bottom_stolen = 0
sp = 0x555555575410
#2 0x00007ffff7f1ee4e in newterm_sp (sp=<optimized out>, name=name@entry=0x0, ofp=ofp@entry=0x555555572420, ifp=ifp@entry=0x555555572420)
at /usr/src/debug/sys-libs/ncurses-6.1_p20190609/ncurses-6.1/ncurses/base/lib_newterm.c:222
slk_format = 0
filter_mode = <optimized out>
errret = 1
result = 0x0
current = 0x0
its_term = 0x0
_ofp = 0x555555572420
_ifp = 0x555555572420
new_term = 0x0
#3 0x00007ffff7f1f2d8 in newterm (name=name@entry=0x0, ofp=0x555555572420, ifp=0x555555572420) at /usr/src/debug/sys-libs/ncurses-6.1_p20190609/ncurses-6.1/ncurses/base/lib_newterm.c:355
rc = <optimized out>
#4 0x0000555555565244 in init_curses () at utils.c:410
f = <optimized out>
screen = <optimized out>
#5 0x00005555555615f5 in handlemanual (name=0x7fffffffdea0 "close") at manual.c:294
return_value = 0
statbuf = {st_dev = 140737488342272, st_ino = 140737488342088, st_nlink = 140737353703208, st_mode = 8, st_uid = 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 140737345769754,
st_blksize = 259272455, st_blocks = 140737354130576, st_atim = {tv_sec = 140737488342440, tv_nsec = 140737350676576}, st_mtim = {tv_sec = 140737354129712, tv_nsec = 0}, st_ctim = {
tv_sec = 140737353999183, tv_nsec = 3}, __glibc_reserved = {140737350676576, 1, 0}}
id = <optimized out>
manualname = "\001\000\000\000\000\000\000\000\060\341\377\367\377\177\000\000\000\000\000\000\000\000\000\000\262UUUUU\000\000\000\315\377\377\377\177\000\000\020\315\377\377\377\177\000\000\220\344\377\367\377\177\000\000\000\000\000\000\000\000\000\000\001\000\000\000\377\177\000\000\354\322\377\377\377\177\000\000\377\377\377\377\000\000\000\000G\257\342\367\377\177\000\000\000\b\324\367\377\177\000\000\340I\371\367\377\177", '\000' <repeats 11 times>, "%\272\035]c_\205 \322\377\377\377\177\000\000{\246\342\367\377\177", '\000' <repeats 26 times>, "\370\341VUUU\000\000\000\000\000\000\000\000\000\000\360\324WUUU", '\000' <repeats 18 times>...
cmd = "\260\321\377\377\377\177\000\000\212\225\376\367\377\177\000\000\001\000\000\000\000\000\000\000\326p", '\000' <repeats 14 times>, " $WUUU\000\000T\000\000\000\000\000\000\000P\326WUUU\000\000\001\000\000\000\000\000\000\000\000%\272\035]c_\205\t\000@\000\033\000\032\000\345\322\327\367\377\177\000\000\000\000\000\000\000\000\000\000\200\037\000\000\377\377\000\000\340%\360\367\377\177\000\000\200&\360\367\377\177\000\000\353\017\000\000\000\000\000\000\000\020\000\000\000\000\000\000\360\322\327\367\377\177\000\000 \316\377\377\377\177\000\000\000\060\000\000\000\000\000\000\000\060\000\000\000\000\000\000b\225\354\367\377\177\000\000\240\f\360\367\377\177\000\000\260\326\377\377\377\177\000\000\000"...
apropos_tempfilename = 0x0
#6 0x0000555555557f53 in main (argc=2, argv=0x7fffffffe0c8) at pinfo.c:312
filenotfound = 0
filename = "close", '\000' <repeats 195 times>...
work_return_value = {node = 0x0, file = 0x0}
i = <optimized out>
userdefinedrc = <optimized out>
command_line_option = <optimized out>
id = 0x0
lines = 537
message = 0x555555619b90
type = 0x555555576420 "File: dir,\tNode: Top\tThis is the top of the INFO tree\n"
tag_table_pos = 1
file_name_force = 0x0
long_options = {{name = 0x555555569090 "help", has_arg = 0, flag = 0x0, val = 104}, {name = 0x555555569095 "version", has_arg = 0, flag = 0x0, val = 118}, {name = 0x55555556909d "manual", has_arg = 0,
flag = 0x0, val = 109}, {name = 0x555555569af0 "file", has_arg = 0, flag = 0x0, val = 102}, {name = 0x5555555690a4 "raw-filename", has_arg = 0, flag = 0x0, val = 114}, {
name = 0x5555555690b7 "apropos", has_arg = 0, flag = 0x0, val = 97}, {name = 0x5555555690b1 "plain-apropos", has_arg = 0, flag = 0x0, val = 112}, {name = 0x5555555690bf "cut-man-headers",
has_arg = 0, flag = 0x0, val = 99}, {name = 0x5555555690cf "squeeze-manlines", has_arg = 0, flag = 0x0, val = 115}, {name = 0x5555555690e0 "dont-handle-without-tag-table", has_arg = 0, flag = 0x0,
val = 100}, {name = 0x5555555690fe "force-manual-tag-table", has_arg = 0, flag = 0x0, val = 116}, {name = 0x555555569115 "node", has_arg = 1, flag = 0x0, val = 110}, {
name = 0x55555556911a "long-manual-links", has_arg = 0, flag = 0x0, val = 108}, {name = 0x55555556912c "clear-at-exit", has_arg = 0, flag = 0x0, val = 120}, {name = 0x55555556900a "rcfile",
has_arg = 1, flag = 0x0, val = 1}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
--
Best regards,
-----------------------------------
Han Han
Quality Engineer
Redhat.
Email:
address@hiddenPhone: +861065339333