Rainer M Krug writes: > Eli Zaretskii writes: > >>> From: Rainer M Krug >>> Cc: 21428@debbugs.gnu.org, mituharu+bug-gnu-emacs-mac@math.s.chiba-u.ac.jp >>> Date: Fri, 25 Sep 2015 11:34:03 +0200 >>> >>> OK - new crash: I updated this morning from git and recompiled. >>> >>> This time it is face #42 and it seems to be in the bar above the >>> minibuffer (mode-line)??? The character look like mode-bar, but I can't >>> see them anywhere. >> >> It's not a mode line: the characters come from a buffer, whereas they >> come from strings. Also, the number of characters is too small for a >> mode line, and the beginning doesn't resemble a mode line. >> >> The "vpos=1" part here: >> >>> | #7 0x000000010000f902 in update_window_line (w=0x1020bfbe0, >>> | vpos=1, mouse_face_overwritten_p=0x7fff5fbfbdc2) at dispnew.c:3854 >> >> means this is the second (zero-based) screen line of some window. It >> looks like a mode spec at the beginning of some Org file: >> >> # -*- mode: org -*- >> >> Does that ring any bells? Can you try recreating that window in a >> live session, so we could see what face is #42? > > Found it - I only looked at visible tabs - not the non-visible ones. > > describe-face: > ,---- > | Face: font-lock-comment-face (sample) (customize this face) > | > | Documentation: > | Font Lock mode face used to highlight comments. > | > | Defined in ‘font-lock.el’. > | > | Family: unspecified > | Foundry: unspecified > | Width: unspecified > | Height: unspecified > | Weight: unspecified > | Slant: italic > | Foreground: #8D8D84 > | DistantForeground: unspecified > | Background: unspecified > | Underline: unspecified > | Overline: unspecified > | Strike-through: unspecified > | Box: unspecified > | Inverse: unspecified > | Stipple: unspecified > | Font: unspecified > | Fontset: unspecified > | Inherit: unspecified > `---- > > > describe-text-properties > > ,---- > | Text content at position 17: > | > | > | There are text properties here: > | face font-lock-comment-face > | font-lock-fontified t > | fontified t > | line-prefix "" > | org-category "EnergyBalance" > | wrap-prefix "" > | > | [back] > `---- > >> >>> | (gdb) p f->face_cache->used >>> | $1 = 31 >> >> Hmmm, the same number 31 as in the previous crash. Interesting. > > I can also add the next crash. > > ,---- > | xdisp.c:24333: Emacs fatal error: assertion failed: face != NULL > | > | Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370 > | 370 signal (sig, SIG_DFL); > | (gdb) bt > | #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370 > | #1 0x00000001002256eb in die (msg=0x1003b680a "face != NULL", file=0x1003b24f0 "xdisp.c", line=24333) at alloc.c:6951 > | #2 0x0000000100062f17 in get_glyph_face_and_encoding (f=0x10281dc30, glyph=0x10379b980, char2b=0x7fff5fbfb440) at xdisp.c:24333 > | #3 0x00000001000b581d in fill_glyph_string (s=0x7fff5fbfb460, face_id=61, start=8, end=21, overlaps=0) at xdisp.c:24558 > | #4 0x000000010006d5c9 in draw_glyphs (w=0x10281cc30, x=72, row=0x1198e4200, area=TEXT_AREA, start=0, end=21, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225 > | #5 0x000000010006cef1 in x_write_glyphs (w=0x10281cc30, updated_row=0x1198e4200, start=0x10379b800, updated_area=TEXT_AREA, len=21) at xdisp.c:27256 > | #6 0x0000000100011d98 in update_text_area (w=0x10281cc30, updated_row=0x1198e4200, vpos=8) at dispnew.c:3611 > | #7 0x000000010000f952 in update_window_line (w=0x10281cc30, vpos=8, mouse_face_overwritten_p=0x7fff5fbfbdf2) at dispnew.c:3854 > | #8 0x00000001000078a2 in update_window (w=0x10281cc30, force_p=true) at dispnew.c:3477 > | #9 0x00000001000066af in update_window_tree (w=0x10281cc30, force_p=true) at dispnew.c:3219 > | #10 0x000000010000638b in update_frame (f=0x10281dc30, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3108 > | #11 0x0000000100051fa9 in redisplay_internal () at xdisp.c:13815 > | #12 0x0000000100053ac9 in redisplay () at xdisp.c:13059 > | #13 0x0000000100184339 in read_char (commandflag=1, map=4799273539, prev_event=0, used_mouse_menu=0x7fff5fbfefb7, end_time=0x0) at keyboard.c:2465 > | #14 0x000000010017f299 in read_key_sequence (keybuf=0x7fff5fbff2f0, bufsize=30, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9030 > | #15 0x000000010017db96 in command_loop_1 () at keyboard.c:1348 > | #16 0x0000000100260706 in internal_condition_case (bfun=0x10017d5a0 , handlers=17616, hfun=0x100198e10 ) at eval.c:1309 > | #17 0x0000000100198d0c in command_loop_2 (ignore=0) at keyboard.c:1088 > | #18 0x000000010025f7ce in internal_catch (tag=42768, func=0x100198ce0 , arg=0) at eval.c:1073 > | #19 0x000000010017c8e0 in command_loop () at keyboard.c:1067 > | #20 0x000000010017c722 in recursive_edit_1 () at keyboard.c:673 > | #21 0x000000010017cb13 in Frecursive_edit () at keyboard.c:744 > | #22 0x000000010017a6ba in main (argc=1, argv=0x7fff5fbff8f0) at emacs.c:1643 > | Current language: auto; currently minimal > | > | Lisp Backtrace: > | "redisplay_internal (C function)" (0x0) > | (gdb) frame > | #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370 > | 370 signal (sig, SIG_DFL); > | (gdb) frame 4 > | #4 0x000000010006d5c9 in draw_glyphs (w=0x10281cc30, x=72, row=0x1198e4200, area=TEXT_AREA, start=0, end=21, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225 > | 25225 BUILD_GLYPH_STRINGS (i, end, head, tail, hl, x, last_x); > | (gdb) frame 2 > | #2 0x0000000100062f17 in get_glyph_face_and_encoding (f=0x10281dc30, glyph=0x10379b980, char2b=0x7fff5fbfb440) at xdisp.c:24333 > | 24333 eassert (face != NULL); > | (gdb) p f->face_cache->used > | $1 = 38 > | (gdb) pgrow > | No symbol "row" in current context. > | (gdb) frame 4 > | #4 0x000000010006d5c9 in draw_glyphs (w=0x10281cc30, x=72, row=0x1198e4200, area=TEXT_AREA, start=0, end=21, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225 > | 25225 BUILD_GLYPH_STRINGS (i, end, head, tail, hl, x, last_x); > | (gdb) pgrow > | TEXT: 21 glyphs > | 0 0: CHAR[*] str=0x1e87ebb8[0] blev=0,btyp=L w=8 a+d=14+4 face=15 AVOID > | 1 8: CHAR[*] str=0x1e87ebb8[1] blev=0,btyp=L w=8 a+d=14+4 face=15 AVOID > | 2 16: CHAR[*] str=0x1e87ebb8[2] blev=0,btyp=L w=8 a+d=14+4 face=15 AVOID > | 3 24: CHAR[*] pos=68687 blev=0,btyp=L w=8 a+d=14+4 face=15 MB > | 4 32: CHAR[*] pos=68688 blev=0,btyp=L w=8 a+d=14+4 face=15 MB > | 5 40: CHAR[*] pos=68689 blev=0,btyp=L w=8 a+d=14+4 face=15 MB > | 6 48: CHAR[*] pos=68690 blev=0,btyp=L w=8 a+d=14+4 face=19 MB > | 7 56: CHAR[ ] pos=68691 blev=0,btyp=L w=8 a+d=14+4 face=19 MB > | 8 64: CHAR[l] pos=68692 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 9 72: CHAR[o] pos=68693 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 10 80: CHAR[a] pos=68694 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 11 88: CHAR[d] pos=68695 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 12 96: CHAR[M] pos=68696 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 13 104: CHAR[u] pos=68697 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 14 112: CHAR[l] pos=68698 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 15 120: CHAR[t] pos=68699 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 16 128: CHAR[i] pos=68700 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 17 136: CHAR[p] pos=68701 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 18 144: CHAR[l] pos=68702 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 19 152: CHAR[e] pos=68703 blev=0,btyp=L w=8 a+d=14+4 face=61 MB > | 20 160: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=14+4 MB > | (gdb) xbacktrace > | "redisplay_internal (C function)" (0x0) > | (gdb) bt full > | #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370 > | No locals. > | #1 0x00000001002256eb in die (msg=0x1003b680a "face != NULL", file=0x1003b24f0 "xdisp.c", line=24333) at alloc.c:6951 > | No locals. > | #2 0x0000000100062f17 in get_glyph_face_and_encoding (f=0x10281dc30, glyph=0x10379b980, char2b=0x7fff5fbfb440) at xdisp.c:24333 > | face = (struct face *) 0x0 > | code = 0 > | #3 0x00000001000b581d in fill_glyph_string (s=0x7fff5fbfb460, face_id=61, start=8, end=21, overlaps=0) at xdisp.c:24558 > | glyph = (struct glyph *) 0x10379b980 > | last = (struct glyph *) 0x10379bbf0 > | voffset = 0 > | glyph_not_available_p = false > | #4 0x000000010006d5c9 in draw_glyphs (w=0x10281cc30, x=72, row=0x1198e4200, area=TEXT_AREA, start=0, end=21, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225 > | face_id = 61 > | char2b = (XChar2b *) 0x7fff5fbfb440 > | first_glyph = (struct glyph *) 0x10379b980 > | head = (struct glyph_string *) 0x7fff5fbfb6f0 > | tail = (struct glyph_string *) 0x7fff5fbfb460 > | s = (struct glyph_string *) 0x7fff5fbfb460 > | clip_head = (struct glyph_string *) 0x0 > | clip_tail = (struct glyph_string *) 0x0 > | i = 8 > | j = 1519979 > | x_reached = 1 > | last_x = 2537 > | area_left = 8 > | f = (struct frame *) 0x10281dc30 > | sa_avail = 16286 > | sa_count = 5 > | sa_must_free = false > | #5 0x000000010006cef1 in x_write_glyphs (w=0x10281cc30, updated_row=0x1198e4200, start=0x10379b800, updated_area=TEXT_AREA, len=21) at xdisp.c:27256 > | x = 16779745 > | hpos = 0 > | chpos = 10 > | #6 0x0000000100011d98 in update_text_area (w=0x10281cc30, updated_row=0x1198e4200, vpos=8) at dispnew.c:3611 > | current_row = (struct glyph_row *) 0x119d7a200 > | desired_row = (struct glyph_row *) 0x1198e4200 > | rif = (struct redisplay_interface *) 0x1007d8e98 > | changed_p = false > | #7 0x000000010000f952 in update_window_line (w=0x10281cc30, vpos=8, mouse_face_overwritten_p=0x7fff5fbfbdf2) at dispnew.c:3854 > | current_row = (struct glyph_row *) 0x119d7a200 > | desired_row = (struct glyph_row *) 0x1198e4200 > | rif = (struct redisplay_interface *) 0x1007d8e98 > | changed_p = false > | #8 0x00000001000078a2 in update_window (w=0x10281cc30, force_p=true) at dispnew.c:3477 > | vpos = 8 > | i = 68740 > | end = (struct glyph_row *) 0x1198ebb00 > | mode_line_row = (struct glyph_row *) 0x1198ebb00 > | header_line_row = (struct glyph_row *) 0x1198e3a00 > | changed_p = true > | mouse_face_overwritten_p = false > | row = (struct glyph_row *) 0x1198e4200 > | yb = 1402 > | n_updated = 0 > | desired_matrix = (struct glyph_matrix *) 0x11073dc80 > | paused_p = false > | preempt_count = 17 > | rif = (struct redisplay_interface *) 0x1007d8e98 > | #9 0x00000001000066af in update_window_tree (w=0x10281cc30, force_p=true) at dispnew.c:3219 > | paused_p = false > | #10 0x000000010000638b in update_frame (f=0x10281dc30, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3108 > | paused_p = false > | root_window = (struct window *) 0x10281cc30 > | #11 0x0000000100051fa9 in redisplay_internal () at xdisp.c:13815 > | gcscrollbars = false > | f = (struct frame *) 0x10281dc30 > | w = (struct window *) 0x10281cc30 > | sw = (struct window *) 0x10281cc30 > | fr = (struct frame *) 0x10281dc30 > | pending = false > | must_finish = false > | match_p = true > | tlbufpos = { > | charpos = 68726, > | bytepos = 68771 > | } > | tlendpos = { > | charpos = 212048, > | bytepos = 212053 > | } > | number_of_visible_frames = 1 > | count = 2 > | sf = (struct frame *) 0x10281dc30 > | polling_stopped_here = true > | tail = 4395852867 > | frame = 4337032245 > | consider_all_windows_p = true > | update_miniwindow_p = false > | #12 0x0000000100053ac9 in redisplay () at xdisp.c:13059 > | No locals. > | #13 0x0000000100184339 in read_char (commandflag=1, map=4799273539, prev_event=0, used_mouse_menu=0x7fff5fbfefb7, end_time=0x0) at keyboard.c:2465 > | echo_current = true > | c = 0 > | jmpcount = 140734799801360 > | local_getcjmp = 0x7fff5fbfeba0 > | save_jump = 0x7fff5fbfeb00 > | tem = 2 > | save = 0 > | previous_echo_area_message = 0 > | also_record = 0 > | reread = false > | recorded = false > | polling_stopped_here = false > | orig_kboard = (struct kboard *) 0x101317100 > | #14 0x000000010017f299 in read_key_sequence (keybuf=0x7fff5fbff2f0, bufsize=30, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9030 > | interrupted_kboard = (KBOARD *) 0x101317100 > | interrupted_frame = (struct frame *) 0x10281dc30 > | key = 140734799802480 > | used_mouse_menu = false > | echo_local_start = 0 > | last_real_key_start = 0 > | keys_local_start = 0 > | new_binding = 80853 > | count = 2 > | t = 0 > | echo_start = 0 > | keys_start = 0 > | current_binding = 4799273539 > | first_event = 0 > | first_unbound = 31 > | mock_input = 0 > | fkey = { > | parent = 4395752691, > | map = 4395752691, > | start = 0, > | end = 0 > | } > | keytran = { > | parent = 4328555075, > | map = 4328555075, > | start = 0, > | end = 0 > | } > | indec = { > | parent = 4395752755, > | map = 4395752755, > | start = 0, > | end = 0 > | } > | shift_translated = false > | delayed_switch_frame = 0 > | original_uppercase = 0 > | original_uppercase_position = -1 > | dummyflag = false > | starting_buffer = (struct buffer *) 0x1109d4ea0 > | fake_prefixed_keys = 0 > | #15 0x000000010017db96 in command_loop_1 () at keyboard.c:1348 > | cmd = 25432416 > | keybuf = 0x7fff5fbff2f0 > | i = 1 > | prev_modiff = 46181 > | prev_buffer = (struct buffer *) 0x1109d4ea0 > | already_adjusted = false > | #16 0x0000000100260706 in internal_condition_case (bfun=0x10017d5a0 , handlers=17616, hfun=0x100198e10 ) at eval.c:1309 > | val = 4303299704 > | c = (struct handler *) 0x1010099e0 > | #17 0x0000000100198d0c in command_loop_2 (ignore=0) at keyboard.c:1088 > | val = 2 > | #18 0x000000010025f7ce in internal_catch (tag=42768, func=0x100198ce0 , arg=0) at eval.c:1073 > | val = 0 > | c = (struct handler *) 0x1010098f0 > | #19 0x000000010017c8e0 in command_loop () at keyboard.c:1067 > | No locals. > | #20 0x000000010017c722 in recursive_edit_1 () at keyboard.c:673 > | count = 1 > | val = 0 > | #21 0x000000010017cb13 in Frecursive_edit () at keyboard.c:744 > | count = 0 > | buffer = 0 > | #22 0x000000010017a6ba in main (argc=1, argv=0x7fff5fbff8f0) at emacs.c:1643 > | dummy = 140734799806464 > | stack_bottom_variable = 0 '\0' > | do_initial_setlocale = true > | dumping = false > | skip_args = 0 > | rlim = { > | rlim_cur = 8720000, > | rlim_max = 67104768 > | } > | no_loadup = false > | junk = 0x0 > | dname_arg = 0x0 > | dname_arg2 = 0x7fff5fbff870 "\001" > | ch_to_dir = 0x0 > | original_pwd = 0x0 > | > | Lisp Backtrace: > | "redisplay_internal (C function)" (0x0) > | (gdb) > `---- > > The face is as follow: (the one where it crashed was not saved, not even > in the autosave, so I choose the same one (******* plot)). > > Here is a link to the screenshot (or should I attach the next time?) > > describe-text-properties > > ,---- > | Text content at position 68694: > | > | > | There are text properties here: > | face org-level-4 > | fontified t > | line-prefix [Show] > | org-category "EnergyBalance" > | org-stats 0 > | wrap-prefix [Show] > | > | [back] > `---- > > describe-face > ,---- > | Face: org-level-4 (sample) (customize this face) > | > | Documentation: > | Face used for level 4 headlines. > | > | Defined in ‘org-faces.el’. > | > | Family: unspecified > | Foundry: unspecified > | Width: unspecified > | Height: 1.0 > | Weight: bold > | Slant: normal > | Foreground: #EA6300 > | DistantForeground: unspecified > | Background: unspecified > | Underline: unspecified > | Overline: unspecified > | Strike-through: unspecified > | Box: unspecified > | Inverse: unspecified > | Stipple: unspecified > | Font: unspecified > | Fontset: unspecified > | Inherit: unspecified > | > | [back] > `---- > And another crash and a screenshot attached: Please note that the stars on the left with the yellow background are *not* in the file.