Bug 228601 - devel/gdb: kgdb dies with sigsegv
Summary: devel/gdb: kgdb dies with sigsegv
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Luca Pizzamiglio
URL:
Keywords: crash
Depends on:
Blocks:
 
Reported: 2018-05-30 05:35 UTC by Eitan Adler
Modified: 2018-09-09 05:03 UTC (History)
2 users (show)

See Also:
pizzamig: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eitan Adler freebsd_committer freebsd_triage 2018-05-30 05:35:46 UTC
#0  thr_kill () at thr_kill.S:3
No locals.
#1  0x000000080389ab64 in __raise (s=11) at /usr/src/lib/libc/gen/raise.c:54
        id = 101087
#2  0x0000000802f57047 in faulthandler_fatal_error (signum=11) at ./Modules/faulthandler.c:365
        fd = 2
        i = 4
        handler = 0x8032590d0 <faulthandler_handlers+224>
        save_errno = 35
#3  0x000000080280cfd8 in handle_signal (actp=0x8046c2c40, sig=11, info=0x8046c3030, ucp=0x8046c2cc0) at /usr/src/lib/libthr/thread/thr_sig.c:248
        curthread = 0x802bd5000
        in_sigsuspend = 0
        cancel_enable = 1
        cancel_point = 0
        sigfunc = 0xfffff8009a3e9000
        err = <optimized out>
        uc2 = <optimized out>
        cancel_async = <optimized out>
#4  0x000000080280c5ef in thr_sighandler (sig=11, info=0x8046c3030, _ucp=0x8046c2cc0) at /usr/src/lib/libthr/thread/thr_sig.c:191
        ucp = 0x8046c2cc0
        err = 35
        curthread = 0x802bd5000
        act = {
          __sigaction_u = {
            __sa_handler = 0x802f56f10 <faulthandler_fatal_error>, 
            __sa_sigaction = 0x802f56f10 <faulthandler_fatal_error>
          }, 
          sa_flags = 17, 
          sa_mask = {
            __bits =               {0,
              0,
              0,
              0}
          }
        }
        usa = <optimized out>
#5  <signal handler called>
No symbol table info available.
#6  0x0000000000c79b84 in fputs_unfiltered (buf=0x15f6bc0 "#", file=0x0) at ui-file.c:129
No locals.
#7  0x0000000000c85ee3 in fputs_maybe_filtered (linebuffer=0x15f6bc0 "#", stream=0x0, filter=1) at utils.c:1721
        lineptr = 0x0
#8  0x0000000000c856f2 in fputs_filtered (linebuffer=0x15f6bc0 "#", stream=0x0) at utils.c:1813
No locals.
#9  0x0000000000924d38 in cli_ui_out::do_text (this=0x803f768f0, string=0x15f6bc0 "#") at cli-out.c:199
No locals.
#10 0x0000000000c7d30f in ui_out::text (this=0x803f768f0, string=0x15f6bc0 "#") at ui-out.c:583
No locals.
#11 0x0000000000bbc331 in print_frame (frame=0x802be50e0, print_level=1, print_what=LOCATION, print_args=1, sal=...) at stack.c:1158
        tuple_emitter = {
          m_uiout = 0x803f768f0
        }
        stb = {
          <ui_file> = {
            _vptr$ui_file = 0xffffffff80b5c57e
          }, 
          members of string_file: 
          m_string = {
            <std::__1::__basic_string_common<true>> = {<No data fields>}, 
            members of std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >: 
            static __short_mask = 1, 
            static __long_mask = 1, 
            __r_ = {
              <std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {
                __value_ = {
                  {
                    __l = {
                      __cap_ = 42092621840, 
                      __size_ = 140737488338592, 
                      __data_ = 0xbe2b09 <find_pc_sect_line(unsigned long, obj_section*, int)+1481> "H\213\205\b\377\377\377H\201\304@\001"
                    }, 
                    __s = {
                      {
                        __size_ = 16 '\020', 
                        __lx = 16 '\020'
                      }, 
                      __data_ =                         "p\352\314\t"
                    }, 
                    __r = {
                      __words =                         {42092621840,
                        140737488338592,
                        12462857}
                    }
                  }
                }
              }, 
              <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {
                <std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, 
            static npos = 18446744073709551615
          }
        }
        gdbarch = 0x80491c010
        uiout = 0x803f768f0
        funlang = language_c
        opts = {
          prettyformat = Val_no_prettyformat, 
          prettyformat_arrays = 0, 
          prettyformat_structs = 0, 
          vtblprint = 0, 
          unionprint = -16864, 
          addressprint = 32767, 
          objectprint = 8559026, 
          print_max = 0, 
          repeat_count_threshold = 104663416, 
          output_format = 8, 
          format = 65452352, 
          stop_print_at_null = 8, 
          print_array_indexes = 0, 
          deref_ref = 0, 
          static_field_print = -857039432, 
          pascal_static_field_print = 9, 
          raw = -857038064, 
          summary = 9, 
          symbol_print = -2135571065
        }
        func = 0x9ccf80ef0
        pc = 18446744071573980542
        pc_p = 1
        funname = {
          __ptr_ = {
            <std::__1::__compressed_pair_elem<char*, 0, false>> = {
              __value_ = 0x806790240 "__curthread"
            }, 
            <std::__1::__compressed_pair_elem<gdb::xfree_deleter<char>, 1, true>> = {
              <gdb::xfree_deleter<char>> = {<No data fields>}, <No data fields>}, <No data fields>}
        }
#12 0x0000000000bbae9b in print_frame_info (frame=0x802be50e0, print_level=1, print_what=LOCATION, print_args=1, set_current_sal=0) at stack.c:860
        gdbarch = 0x80491c010
        source_print = 2
        location_print = 1
        uiout = 0x803f768f0
        sal = {
          pspace = 0x803ec9820, 
          symtab = 0x9cceaa310, 
          symbol = 0x0, 
          section = 0x0, 
          line = 231, 
          pc = 18446744071573980542, 
          end = 18446744071573980551, 
          explicit_pc = false, 
          explicit_line = false, 
          prob = 0x0, 
          objfile = 0x0
        }
#13 0x0000000000bc33a3 in backtrace_command_1 (count_exp=0x0, show_locals=0, no_filters=0, from_tty=1) at stack.c:1807
        fi = 0x802be50e0
        count = -2
        i = 0
        trailing = 0x802be50e0
        trailing_level = 0
        py_start = 0
        py_end = -1
        result = EXT_LANG_BT_NO_FILTERS
#14 0x0000000000bc0073 in backtrace_command (arg=0x0, from_tty=1) at stack.c:1902
        fulltrace_arg = -1
        arglen = 0
        argc = 0
        no_filters = -1
        user_arg = 0
        reconstructed_arg = {
          <std::__1::__basic_string_common<true>> = {<No data fields>}, 
          members of std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >: 
          static __short_mask = 1, 
          static __long_mask = 1, 
          __r_ = {
            <std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {
              __value_ = {
                {
                  __l = {
                    __cap_ = 0, 
                    __size_ = 0, 
                    __data_ = 0x0
                  }, 
                  __s = {
                    {
                      __size_ = 0 '\000', 
                      __lx = 0 '\000'
                    }, 
                    __data_ =                       ""
                  }, 
                  __r = {
                    __words =                       {0,
                      0,
                      0}
                  }
                }
              }
            }, 
            <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {
              <std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, 
          static npos = 18446744073709551615
        }
#15 0x0000000000722d2e in do_const_cfunc (c=0x804cf1340, args=0x0, from_tty=1) at cli/cli-decode.c:106
No locals.
#16 0x0000000000726bca in cmd_func (cmd=0x804cf1340, args=0x0, from_tty=1) at cli/cli-decode.c:1886
        restore_suppress = {
          {
            m_dummy = {<No data fields>}, 
            m_item = {
              <scoped_restore_base> = {
                m_saved_var = 0x7fffffffc590
              }, 
              members of scoped_restore_tmpl<int>: 
              m_saved_value = 12890644
            }
          }, 
          m_instantiated = false
        }
#17 0x0000000000c46c68 in execute_command (p=0x8024d7312 "", from_tty=1) at top.c:630
        without_whitespace = {
          <std::__1::__basic_string_common<true>> = {<No data fields>}, 
          members of std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >: 
          static __short_mask = 1, 
          static __long_mask = 1, 
          __r_ = {
            <std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {
              __value_ = {
                {
                  __l = {
                    __cap_ = 0, 
                    __size_ = 0, 
                    __data_ = 0x0
                  }, 
                  __s = {
                    {
                      __size_ = 0 '\000', 
                      __lx = 0 '\000'
                    }, 
                    __data_ =                       ""
                  }, 
                  __r = {
                    __words =                       {0,
                      0,
                      0}
                  }
                }
              }
            }, 
            <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {
              <std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, 
          static npos = 18446744073709551615
        }
        cmd = 0x8024d7312 ""
        arg = 0x0
        was_sync = 0
        save_repeat_args = @0x7fffffffc678: {
          m_saved_var = 0x27061d8 <repeat_arguments>
        }
        args_pointer = 0x8024d7312 ""
        cleanup_if_error = 0x15f54c0 <sentinel_cleanup>
        c = 0x804cf1340
        line = 0x8024d7310 "bt"
        cmd_start = 0x8024d7310 "bt"
        cleanup = {
          m_value = 0x803ecb8a0
        }
#18 0x0000000000a2af76 in command_handler (command=0x8024d7310 "bt") at event-top.c:583
        ui = 0x802bf0000
        c = 0x8024d7310 "bt"
        stat_reporter = {
          m_msg_type = true, 
          m_time_enabled = 0, 
          m_space_enabled = 0, 
          m_symtab_enabled = 0, 
          m_start_cpu_time = {
            __d_ = {
              __rep_ = 0
            }
          }, 
          m_start_wall_time = {
            __d_ = {
              __rep_ = 0
            }
          }, 
          m_start_space = 34405810176, 
          m_start_nr_symtabs = 23286374, 
          m_start_nr_compunit_symtabs = 0, 
          m_start_nr_blocks = 23024832
        }
#19 0x0000000000a2b45f in command_line_handler (rl=0x8024d7a28 "bt") at event-top.c:774
        line_buffer = 0x802bf0010
        ui = 0x802bf0000
        cmd = 0x8024d7310 "bt"
#20 0x0000000000a29f15 in gdb_rl_callback_handler (rl=0x8024d7a28 "bt") at event-top.c:213
        exception_try_scope_instance = {
          saved_state = 0x15f54c0 <sentinel_cleanup>
        }
        ex = <error reading variable>
        gdb_rl_expt = {
          reason = 0, 
          error = GDB_NO_ERROR, 
          message = 0x0
        }
        ui = 0x802bf0000
#21 0x0000000802522c7b in rl_callback_read_char () at ../callback.c:283
        olevel =           {{
            _sjb =               {34398519596,
              140737488344160,
              140737488341608,
              140737488341648,
              140737488344152,
              0,
              4,
              140737488344200,
              895,
              0,
              0,
              0}
          }}
        line = 0x8024d7a28 "bt"
        eof = 0
        jcode = 0
#22 0x0000000000a2c00d in gdb_rl_callback_read_char_wrapper_noexcept () at event-top.c:175
        gdb_expt = {
          reason = 0, 
          error = GDB_NO_ERROR, 
          message = 0x0
        }
#23 0x0000000000a29be1 in gdb_rl_callback_read_char_wrapper (client_data=0x802bf0000) at event-top.c:192
        gdb_expt = {
          reason = 10664761, 
          error = GDB_NO_ERROR, 
          message = 0x7fffffffcb90 "\300\313\377\377\377\177"
        }
#24 0x0000000000a2ada8 in stdin_event_handler (error=0, client_data=0x802bf0000) at event-top.c:511
        ui = 0x802bf0000
#25 0x0000000000a29742 in handle_file_event (file_ptr=0x802be8c80, ready_mask=1) at event-loop.c:733
        mask = 1
        error_mask = 56
#26 0x0000000000a27b03 in gdb_wait_for_event (block=1) at event-loop.c:859
        i = 3
        mask = 1
        file_ptr = 0x802be8c80
        num_found = 1
#27 0x0000000000a2749c in gdb_do_one_event () at event-loop.c:347
        event_source_head = 2
        number_of_sources = 3
        current = 3
#28 0x0000000000a27cd7 in start_event_loop () at event-loop.c:371
        exception_try_scope_instance = {
          saved_state = 0x15f54c0 <sentinel_cleanup>
        }
        ex = @0x803f99820: {
          <gdb_exception> = {
            reason = 22882848, 
            error = GDB_NO_ERROR, 
            message = 0x8024d72d8 "tui"
          }, <No data fields>}
        result = 0
#29 0x0000000000acea63 in captured_command_loop () at main.c:329
        ui = 0x802bf0000
#30 0x0000000000acc045 in captured_main (data=0x7fffffffcef8) at main.c:1156
        exception_try_scope_instance = {
          saved_state = 0x15f54c0 <sentinel_cleanup>
        }
        ex = @0x7fffffffcdf0: {
          <gdb_exception> = {
            reason = -12784, 
            error = 32767, 
            message = 0x15f54c0 <sentinel_cleanup> ""
          }, <No data fields>}
        context = 0x7fffffffcef8
#31 0x0000000000acbf08 in gdb_main (args=0x7fffffffcef8) at main.c:1172
        exception_try_scope_instance = {
          saved_state = 0x15f54c0 <sentinel_cleanup>
        }
        ex = @0x50bb73: {
          <gdb_exception> = {
            reason = -126514360, 
            error = 138840392, 
            message = 0x8788348f8458b48 <error: Cannot access memory at address 0x8788348f8458b48>
          }, <No data fields>}
#32 0x000000000050babb in main (argc=4, argv=0x7fffffffd460) at kgdb-main.c:410
        path =           "\260\320\377\377\377\177"
        st = {
          st_dev = 140737488342904, 
          st_ino = 34398326784, 
          st_nlink = 3, 
          st_mode = 53280, 
          st_padding0 = -1, 
          st_uid = 32767, 
          st_gid = 4294955008, 
          st_padding1 = 32767, 
          st_rdev = 34398196781, 
          st_atim = {
            tv_sec = 140737488343072, 
            tv_nsec = 0
          }, 
          st_mtim = {
            tv_sec = 0, 
            tv_nsec = 805306662
          }, 
          st_ctim = {
            tv_sec = 0, 
            tv_nsec = 0
          }, 
          st_birthtim = {
            tv_sec = 0, 
            tv_nsec = 34417998696
          }, 
          st_size = 0, 
          st_blocks = 0, 
          st_blksize = 0, 
          st_flags = 0, 
          st_gen = 0, 
          st_spare =             {0,
            0,
            0,
            0,
            0,
            0,
            0,
            140737488343536,
            0,
            140737488343624}
        }
        args = {
          argc = 8, 
          argv = 0x802beb000, 
          interpreter_p = 0x1579a54 "console"
        }
        s = 0x802bea000 "target vmcore ./vmcore.9"
        a = 4
        ch = -1
quit
Comment 1 Luca Pizzamiglio freebsd_committer 2018-06-12 15:11:20 UTC
Hi Eitan,
thanks for the detailed report.

Is it always repeatable?
Comment 2 Eitan Adler freebsd_committer freebsd_triage 2018-06-12 16:40:40 UTC
For this specific kernel and core: yes. I am able to debug others.
Comment 3 John Baldwin freebsd_committer freebsd_triage 2018-09-09 05:03:43 UTC
Do you have more information such as the kgdb output before it crashes?  It seems it is doing a backtrace and is faulting while trying to output a specific frame?