unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Sean Whitton <spwhitton@spwhitton.name>
To: Po Lu <luangruo@yahoo.com>
Cc: 71929@debbugs.gnu.org, Eli Zaretskii <eliz@gnu.org>
Subject: bug#71929: 30.0.60; crash in mark_image_cache
Date: Sun, 07 Jul 2024 21:16:16 +0800	[thread overview]
Message-ID: <87ed851gwv.fsf@melete.silentflame.com> (raw)
In-Reply-To: <875xth3aym.fsf@yahoo.com> (Po Lu via's message of "Sun, 07 Jul 2024 15:41:53 +0800")

Hello,

On Sun 07 Jul 2024 at 03:41pm +08, Po Lu wrote:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>> This is the initial frame of the daemon.  It is not a GUI frame, and
>> so it should not have a valid image cache.  I guess some change is
>> needed in verify_image_cache_refcount?
>
> Not quite: init_frame_faces is apparently called before the frame is
> entered into Vframe_list, so, likewise, the face cache's reference count
> should be verified before it is incremented.
>
> Sean, please retry with this patch substituted for the previous:

This time it doesn't crash until I open and close a frame, as can be
seen in the backtrace:

 0 in terminate_due_to_signal of emacs.c:442
 1 in emacs_abort of sysdep.c:2391
 2 in verify_image_cache_refcount of /home/spwhitton/src/emacs/primary/src/frame.h:1706
 3 in free_frame_faces of xfaces.c:715
 4 in pgtk_free_frame_resources of pgtkterm.c:443
 5 in pgtk_destroy_window of pgtkterm.c:539
 6 in delete_frame of frame.c:2318
 7 in Fdelete_frame of frame.c:2527
 8 in funcall_subr of eval.c:3163
 9 in exec_byte_code of bytecode.c:812
10 in funcall_lambda of eval.c:3252
11 in funcall_general of eval.c:3044
12 in Ffuncall of eval.c:3093
13 in Ffuncall_interactively of callint.c:250
14 in funcall_subr of eval.c:3184
15 in funcall_general of eval.c:3040
16 in Ffuncall of eval.c:3093
17 in Fcall_interactively of callint.c:789
18 in funcall_subr of eval.c:3165
19 in exec_byte_code of bytecode.c:812
20 in funcall_lambda of eval.c:3252
21 in funcall_general of eval.c:3044
22 in Ffuncall of eval.c:3093
23 in read_char of /home/spwhitton/src/emacs/primary/src/lisp.h:1178
24 in read_key_sequence of keyboard.c:10743
25 in command_loop_1 of /home/spwhitton/src/emacs/primary/src/lisp.h:1178
26 in internal_condition_case of eval.c:1613
27 in command_loop_2 of keyboard.c:1168
28 in internal_catch of eval.c:1292
29 in command_loop of /home/spwhitton/src/emacs/primary/src/lisp.h:1178
30 in recursive_edit_1 of keyboard.c:754
31 in Frecursive_edit of keyboard.c:837
32 in main of emacs.c:2631

(gdb) p expected
$3 = 0
(gdb) p c
$4 = (struct image_cache *) 0x555557f65370
(gdb) p c->refcount
$5 = 1
(gdb) set $cons = Vframe_list
(gdb) while $cons
 >xgetptr $cons
 >p ((struct Lisp_Cons *) $ptr)->u.s.car
 >xframe
 >p *$
 >xgetptr $cons
 >set $cons = ((struct Lisp_Cons *) $ptr)->u.s.u.cdr
 >end
$6 = XIL(0x555555f3dfd5)
$7 = (struct frame *) 0x555555f3dfd0
"F1"
$8 = {
  header = {
    size = 4611686018595352602
  },
  name = XIL(0x55555587c944),
  icon_name = XIL(0),
  title = XIL(0),
  parent_frame = XIL(0),
  last_mouse_device = XIL(0),
  focus_frame = XIL(0),
  root_window = XIL(0x555555f3e225),
  selected_window = XIL(0x555555f3e225),
  old_selected_window = XIL(0x555555f3e225),
  minibuffer_window = XIL(0x555555f3e4cd),
  param_alist = XIL(0x555557a23c73),
  scroll_bars = XIL(0),
  condemned_scroll_bars = XIL(0),
  menu_bar_items = XIL(0x555558f8b705),
  face_hash_table = XIL(0x555555f3e775),
  menu_bar_vector = XIL(0),
  buffer_predicate = XIL(0),
  buffer_list = XIL(0x55555934f053),
  buried_buffer_list = XIL(0),
  tab_bar_window = XIL(0),
  desired_tab_bar_string = XIL(0),
  current_tab_bar_string = XIL(0),
  tool_bar_position = XIL(0x11d00),
  font_data = XIL(0),
  tab_bar_items = XIL(0),
  tool_bar_items = XIL(0),
  face_cache = 0x555555f741d0,
  image_cache = 0x0,
  last_tab_bar_item = -1,
  menu_bar_items_used = 0,
  current_pool = 0x555555f3f4b0,
  desired_pool = 0x555555f3f490,
  desired_matrix = 0x555555f3f4d0,
  current_matrix = 0x555555f3f740,
  glyphs_initialized_p = true,
  resized_p = false,
  default_face_done_p = false,
  already_hscrolled_p = false,
  updated_p = false,
  minimize_tab_bar_window_p = false,
  external_tool_bar = false,
  fonts_changed = false,
  cursor_type_changed = false,
  redisplay = true,
  external_menu_bar = false,
  visible = 1,
  iconified = false,
  garbaged = false,
  wants_modeline = true,
  auto_raise = false,
  auto_lower = false,
  no_split = false,
  explicit_name = false,
  window_change = false,
  window_state_change = false,
  mouse_moved = false,
  pointer_invisible = false,
  frozen_window_starts = false,
  output_method = output_initial,
  tooltip = false,
  want_fullscreen = FULLSCREEN_NONE,
  vertical_scroll_bar_type = vertical_scroll_bar_none,
  horizontal_scroll_bars = false,
  undecorated = false,
  override_redirect = false,
  skip_taskbar = false,
  no_focus_on_map = false,
  no_accept_focus = false,
  z_group = z_group_none,
  no_special_glyphs = false,
  can_set_window_size = true,
  after_make_frame = true,
  tab_bar_redisplayed = false,
  tab_bar_resized = false,
  tool_bar_redisplayed = false,
  tool_bar_resized = false,
  inhibit_horizontal_resize = false,
  inhibit_vertical_resize = false,
  face_change = false,
  inhibit_clear_image_cache = false,
  new_size_p = false,
  was_invisible = false,
  select_mini_window_flag = false,
  change_stamp = 7,
  number_of_windows = 2,
  tab_bar_lines = 0,
  tab_bar_height = 0,
  n_tab_bar_rows = 0,
  n_tab_bar_items = 0,
  tool_bar_lines = 0,
  tool_bar_height = 0,
  n_tool_bar_rows = 0,
  n_tool_bar_items = 0,
  decode_mode_spec_buffer = 0x555555f3f340 "",
  insert_line_cost = 0x0,
  delete_line_cost = 0x0,
  insert_n_lines_cost = 0x0,
  delete_n_lines_cost = 0x0,
  text_cols = 80,
  text_lines = 24,
  text_width = 80,
  text_height = 24,
  total_cols = 80,
  total_lines = 25,
  pixel_width = 80,
  pixel_height = 25,
  new_width = -1,
  new_height = -1,
  left_pos = 0,
  top_pos = 0,
  win_gravity = 0,
  size_hint_flags = 0,
  border_width = 0,
  child_frame_border_width = -1,
  internal_border_width = 0,
  right_divider_width = 0,
  bottom_divider_width = 0,
  left_fringe_width = 0,
  right_fringe_width = 0,
  fringe_cols = 0,
  menu_bar_lines = 1,
  menu_bar_height = 1,
  column_width = 1,
  line_height = 1,
  terminal = 0x555555f3ddb0,
  output_data = {
    tty = 0x0,
    x = 0x0,
    w32 = 0x0,
    ns = 0x0,
    pgtk = 0x0,
    haiku = 0x0,
    android = 0x0
  },
  font_driver_list = 0x0,
  desired_cursor = FILLED_BOX_CURSOR,
  cursor_width = 0,
  blink_off_cursor = FILLED_BOX_CURSOR,
  blink_off_cursor_width = 0,
  config_scroll_bar_width = 0,
  config_scroll_bar_cols = 0,
  config_scroll_bar_height = 0,
  config_scroll_bar_lines = 0,
  cost_calculation_baud_rate = 0,
  alpha = {0, 0},
  alpha_background = 0,
  gamma = 0,
  extra_line_spacing = 0,
  background_pixel = 18446744073709551613,
  foreground_pixel = 18446744073709551614
}

-- 
Sean Whitton





  reply	other threads:[~2024-07-07 13:16 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-04  2:33 bug#71929: 30.0.60; crash in mark_image_cache Sean Whitton
2024-07-04  2:44 ` Sean Whitton
2024-07-04  5:53   ` Eli Zaretskii
2024-07-04  6:03     ` Eli Zaretskii
2024-07-04  6:17       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-04  6:42         ` Sean Whitton
2024-07-04  6:59           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-04  9:56             ` Sean Whitton
2024-07-04 12:28               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-05  7:52                 ` Sean Whitton
2024-07-04  7:40           ` Eli Zaretskii
2024-07-04  9:57             ` Sean Whitton
2024-07-04 12:48               ` Eli Zaretskii
2024-07-05  0:13       ` Sean Whitton
2024-07-05  6:27         ` Eli Zaretskii
2024-07-05  6:41           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-05  7:37             ` Eli Zaretskii
2024-07-05  9:36               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-05 11:10                 ` Eli Zaretskii
2024-07-05 11:40                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-05 12:46                     ` Sean Whitton
2024-07-06  2:41                     ` Sean Whitton
2024-07-06  6:08                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-07  2:40                         ` Sean Whitton
2024-07-07  2:43                         ` Sean Whitton
2024-07-07  2:46                           ` Sean Whitton
2024-07-07  4:04                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-07  4:54                               ` Sean Whitton
2024-07-07  7:08                                 ` Eli Zaretskii
2024-07-07  7:41                                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-07 13:16                                     ` Sean Whitton [this message]
2024-07-07 13:47                                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-07 14:45                                         ` Sean Whitton
2024-07-09  5:48                                         ` Sean Whitton
2024-07-09 11:37                                           ` Eli Zaretskii
2024-07-10  1:12                                             ` Sean Whitton
2024-07-09 12:13                                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-09 13:44                                             ` Sean Whitton
2024-07-09 14:03                                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-09 14:18                                                 ` Eli Zaretskii
2024-07-09 15:02                                                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-09 15:45                                                     ` Eli Zaretskii
2024-07-10  1:12                                                 ` Sean Whitton
2024-07-24 13:31                                                   ` Basil L. Contovounesios
2024-07-24 13:38                                                     ` Eli Zaretskii
2024-07-24 14:10                                                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-06  6:40                       ` Eli Zaretskii
2024-07-07  2:39                         ` Sean Whitton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ed851gwv.fsf@melete.silentflame.com \
    --to=spwhitton@spwhitton.name \
    --cc=71929@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=luangruo@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).