bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Segment Fault of newterm in ncurses-6.1_p20190609


From: Han Han
Subject: Segment Fault of newterm in ncurses-6.1_p20190609
Date: Sat, 17 Aug 2019 15:26:55 +0800

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@hidden
Phone: +861065339333

reply via email to

[Prev in Thread] Current Thread [Next in Thread]