)]}'
{
  "commit": "e69d64d21ad8bcbdf5d769a88c7abc2f423d3bc8",
  "tree": "3b5457d5de353221597943c04bea77926c7dbd32",
  "parents": [
    "3a3a4c1fe4ccb1914d29fbf8f5930d55aacec78f"
  ],
  "author": {
    "name": "Tankut Baris Aktemur",
    "email": "tankut.baris.aktemur@intel.com",
    "time": "Thu Feb 03 13:48:53 2022 +0100"
  },
  "committer": {
    "name": "Tankut Baris Aktemur",
    "email": "tankut.baris.aktemur@intel.com",
    "time": "Thu Feb 03 13:51:29 2022 +0100"
  },
  "message": "testsuite: fix failure in gdb.threads/killed-outside.exp\n\nStarting with commit\n\n  commit 1da5d0e664e362857153af8682321a89ebafb7f6\n  Date:   Tue Jan 4 08:02:24 2022 -0700\n\n    Change how Python architecture and language are handled\n\nwe see a failure in gdb.threads/killed-outside.exp:\n\n  ...\n  Executing on target: kill -9 16622    (timeout \u003d 300)\n  builtin_spawn -ignore SIGHUP kill -9 16622\n  continue\n  Continuing.\n  Couldn\u0027t get registers: No such process.\n  (gdb) [Thread 0x7ffff77c2700 (LWP 16626) exited]\n\n  Program terminated with signal SIGKILL, Killed.\n  The program no longer exists.\n  FAIL: gdb.threads/killed-outside.exp: prompt after first continue (timeout)\n\nThis is not a regression but a failure due to a change in GDB\u0027s\noutput.  Prior to the aforementioned commit, GDB has been printing the\n\"Couldn\u0027t get registers: No such process.\" message twice.  The second\none came from\n\n  (top-gdb) bt\n  #0  amd64_linux_nat_target::fetch_registers (this\u003d0x555557f31440 \u003cthe_amd64_linux_nat_target\u003e, regcache\u003d0x555558805ce0, regnum\u003d16) at /gdb-up/gdb/amd64-linux-nat.c:225\n  #1  0x000055555640ac5f in target_ops::fetch_registers (this\u003d0x555557d636d0 \u003cthe_thread_db_target\u003e, arg0\u003d0x555558805ce0, arg1\u003d16) at /gdb-up/gdb/target-delegates.c:502\n  #2  0x000055555641a647 in target_fetch_registers (regcache\u003d0x555558805ce0, regno\u003d16) at /gdb-up/gdb/target.c:3945\n  #3  0x0000555556278e68 in regcache::raw_update (this\u003d0x555558805ce0, regnum\u003d16) at /gdb-up/gdb/regcache.c:587\n  #4  0x0000555556278f14 in readable_regcache::raw_read (this\u003d0x555558805ce0, regnum\u003d16, buf\u003d0x555558881950 \"\") at /gdb-up/gdb/regcache.c:601\n  #5  0x00005555562792aa in readable_regcache::cooked_read (this\u003d0x555558805ce0, regnum\u003d16, buf\u003d0x555558881950 \"\") at /gdb-up/gdb/regcache.c:690\n  #6  0x000055555627965e in readable_regcache::cooked_read_value (this\u003d0x555558805ce0, regnum\u003d16) at /gdb-up/gdb/regcache.c:748\n  #7  0x0000555556352a37 in sentinel_frame_prev_register (this_frame\u003d0x555558181090, this_prologue_cache\u003d0x5555581810a8, regnum\u003d16) at /gdb-up/gdb/sentinel-frame.c:53\n  #8  0x0000555555fa4773 in frame_unwind_register_value (next_frame\u003d0x555558181090, regnum\u003d16) at /gdb-up/gdb/frame.c:1235\n  #9  0x0000555555fa420d in frame_register_unwind (next_frame\u003d0x555558181090, regnum\u003d16, optimizedp\u003d0x7fffffffd570, unavailablep\u003d0x7fffffffd574, lvalp\u003d0x7fffffffd57c, addrp\u003d0x7fffffffd580,\n      realnump\u003d0x7fffffffd578, bufferp\u003d0x7fffffffd5b0 \"\") at /gdb-up/gdb/frame.c:1143\n  #10 0x0000555555fa455f in frame_unwind_register (next_frame\u003d0x555558181090, regnum\u003d16, buf\u003d0x7fffffffd5b0 \"\") at /gdb-up/gdb/frame.c:1199\n  #11 0x00005555560178e2 in i386_unwind_pc (gdbarch\u003d0x5555587c4a70, next_frame\u003d0x555558181090) at /gdb-up/gdb/i386-tdep.c:1972\n  #12 0x0000555555cd2b9d in gdbarch_unwind_pc (gdbarch\u003d0x5555587c4a70, next_frame\u003d0x555558181090) at /gdb-up/gdb/gdbarch.c:3007\n  #13 0x0000555555fa3a5b in frame_unwind_pc (this_frame\u003d0x555558181090) at /gdb-up/gdb/frame.c:948\n  #14 0x0000555555fa7621 in get_frame_pc (frame\u003d0x555558181160) at /gdb-up/gdb/frame.c:2572\n  #15 0x0000555555fa7706 in get_frame_address_in_block (this_frame\u003d0x555558181160) at /gdb-up/gdb/frame.c:2602\n  #16 0x0000555555fa77d0 in get_frame_address_in_block_if_available (this_frame\u003d0x555558181160, pc\u003d0x7fffffffd708) at /gdb-up/gdb/frame.c:2665\n  #17 0x0000555555fa5f8d in select_frame (fi\u003d0x555558181160) at /gdb-up/gdb/frame.c:1890\n  #18 0x0000555555fa5bab in lookup_selected_frame (a_frame_id\u003d..., frame_level\u003d-1) at /gdb-up/gdb/frame.c:1720\n  #19 0x0000555555fa5e47 in get_selected_frame (message\u003d0x0) at /gdb-up/gdb/frame.c:1810\n  #20 0x0000555555cc9c6e in get_current_arch () at /gdb-up/gdb/arch-utils.c:848\n  #21 0x000055555625b239 in gdbpy_before_prompt_hook (extlang\u003d0x555557451f20 \u003cextension_language_python\u003e, current_gdb_prompt\u003d0x555557f4d890 \u003ctop_prompt+16\u003e \"(gdb) \")\n      at /gdb-up/gdb/python/python.c:1063\n  #22 0x0000555555f7cfbb in ext_lang_before_prompt (current_gdb_prompt\u003d0x555557f4d890 \u003ctop_prompt+16\u003e \"(gdb) \") at /gdb-up/gdb/extension.c:922\n  #23 0x0000555555f7d442 in std::_Function_handler\u003cvoid (char const*), void (*)(char const*)\u003e::_M_invoke(std::_Any_data const\u0026, char const*\u0026\u0026) (__functor\u003d...,\n      __args#0\u003d@0x7fffffffd900: 0x555557f4d890 \u003ctop_prompt+16\u003e \"(gdb) \") at /usr/include/c++/7/bits/std_function.h:316\n  #24 0x0000555555f752dd in std::function\u003cvoid (char const*)\u003e::operator()(char const*) const (this\u003d0x55555817d838, __args#0\u003d0x555557f4d890 \u003ctop_prompt+16\u003e \"(gdb) \")\n      at /usr/include/c++/7/bits/std_function.h:706\n  #25 0x0000555555f75100 in gdb::observers::observable\u003cchar const*\u003e::notify (this\u003d0x555557f49060 \u003cgdb::observers::before_prompt\u003e, args#0\u003d0x555557f4d890 \u003ctop_prompt+16\u003e \"(gdb) \")\n      at /gdb-up/gdb/../gdbsupport/observable.h:150\n  #26 0x0000555555f736dc in top_level_prompt () at /gdb-up/gdb/event-top.c:444\n  #27 0x0000555555f735ba in display_gdb_prompt (new_prompt\u003d0x0) at /gdb-up/gdb/event-top.c:411\n  #28 0x00005555564611a7 in tui_on_command_error () at /gdb-up/gdb/tui/tui-interp.c:205\n  #29 0x0000555555c2173f in std::_Function_handler\u003cvoid (), void (*)()\u003e::_M_invoke(std::_Any_data const\u0026) (__functor\u003d...) at /usr/include/c++/7/bits/std_function.h:316\n  #30 0x0000555555e10c20 in std::function\u003cvoid ()\u003e::operator()() const (this\u003d0x5555580f9028) at /usr/include/c++/7/bits/std_function.h:706\n  #31 0x0000555555e10973 in gdb::observers::observable\u003c\u003e::notify() const (this\u003d0x555557f48d20 \u003cgdb::observers::command_error\u003e) at /gdb-up/gdb/../gdbsupport/observable.h:150\n  #32 0x00005555560e9b3f in start_event_loop () at /gdb-up/gdb/main.c:438\n  #33 0x00005555560e9bcc in captured_command_loop () at /gdb-up/gdb/main.c:481\n  #34 0x00005555560eb616 in captured_main (data\u003d0x7fffffffddd0) at /gdb-up/gdb/main.c:1348\n  #35 0x00005555560eb67c in gdb_main (args\u003d0x7fffffffddd0) at /gdb-up/gdb/main.c:1363\n  #36 0x0000555555c1b6b3 in main (argc\u003d12, argv\u003d0x7fffffffded8) at /gdb-up/gdb/gdb.c:32\n\nCommit 1da5d0e664 eliminated the call to \u0027get_current_arch\u0027\nin \u0027gdbpy_before_prompt_hook\u0027.  Hence, the second instance of\n\"Couldn\u0027t get registers: No such process.\" does not appear anymore.\n\nFix the failure by updating the regular expression in the test.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a3996fe17c407443bde080cc0b28281f3aba1c56",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.threads/killed-outside.exp",
      "new_id": "3d4543e088cd5dc9fab36a5053d57e4b47c0e25a",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.threads/killed-outside.exp"
    }
  ]
}
