Package: emacs;
Reported by: Gijs Hillenius <gijs <at> hillenius.net>
Date: Mon, 20 Jan 2020 16:29:02 UTC
Severity: normal
Found in version 28.0.50
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Message #50 received at 39207 <at> debbugs.gnu.org (full text, mbox):
From: Robert Pluim <rpluim <at> gmail.com> To: Gijs Hillenius <gijs <at> hillenius.net> Cc: 39207 <at> debbugs.gnu.org Subject: Re: bug#39207: WITH dgb symbols Re: bug#39207: 28.0.50; crash when sending gnus message Date: Wed, 22 Jan 2020 13:12:54 +0100
Please keep 39207 <at> debbugs.gnu.org in CC, rather than replying direct only to me. >>>>> On Wed, 22 Jan 2020 10:09:54 +0100, Gijs Hillenius <gijs <at> hillenius.net> said: Gijs> Hi Robert, Gijs> ,---- Gijs> | (setq gnus-expirable-mark ?♻) Gijs> | (setq gnus-read-mark ?✓) ;; trips up Gnus Gijs> | (setq gnus-ticked-mark ?⚑) Gijs> | (setq gnus-unread-mark ?✉) Gijs> | (setq gnus-del-mark ?✗) Gijs> | (setq gnus-killed-mark ?☠) Gijs> | (setq gnus-replied-mark ?⟲) Gijs> | (setq gnus-forwarded-mark ?⤳) Gijs> `---- Gijs> So, if I load them one by one, it seems to be the ✓ that trips up Gijs> Gnus. It was already the 2nd. Gijs> I then restarted emacs-snapshot-x in the gdb, and tested the remaining Gijs> 6, adding them one-by-one, and then, lastly also evaluated the 1st, Gijs> gnus-expirable-mark. Gijs> At this point, I drafted an email to you, and saved it. Gijs> So, when I load 1 *and* 3 - 8, Gnus seems to work just fine. I'm testing Gijs> this by going into a mail group, selecting the first message in a email Gijs> back and forth conversation , and then entering the replies one by one. Gijs> But, once I load the tickmark, Gnus trips up. I can enter the group, Gijs> scroll to the first message, and select this. I can't select any message Gijs> below that point (using either the arrow or C-n): point will jump back Gijs> to the random message. And, all the messages in the thread turn 'green', Gijs> the point jumps to a random (unsure if it is random) earlier message in Gijs> the Group. Gijs> What's more, when I then 'reset' the gnus-read-mark to R, exit the Gijs> group, go into the draft folder, and want to finish a draft of this Gijs> email to you, emacs-snapshot seems to recieve SIGABRT; the screen Gijs> becomes unresponsive and I can see the (gdb) prompt. Gijs> bt is attached Gijs> Does this narrow things down? Yes, thanks. I can get a crash with that recipe. Eli, the abort in Gijs' backtrace is coming from if (ch < 0 || ch > MAX_CHAR) emacs_abort (); in bidi.c but when I run his recipe I get: #0 0x000055555575ace4 in terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:371 #1 0x000055555579547f in emacs_abort () at sysdep.c:2448 #2 0x00005555555f8dd2 in redisplay_window (window=XIL(0x555556357b55), just_this_one_p=true) at xdisp.c:18071 #3 0x00005555555f306b in redisplay_window_1 (window=XIL(0x555556357b55)) at xdisp.c:16202 #4 0x00005555558825c0 in internal_condition_case_1 (bfun=0x5555555f3029 <redisplay_window_1>, arg=XIL(0x555556357b55), handlers=XIL(0x7ffff190e963), hfun=0x5555555f2fa3 <redisplay_window_error>) at eval.c:1379 #5 0x00005555555f239e in redisplay_internal () at xdisp.c:15770 #6 0x00005555555f0265 in redisplay () at xdisp.c:14869 #7 0x0000555555768b9c in read_char (commandflag=1, map=XIL(0x555557d3fd33), prev_event=XIL(0), used_mouse_menu=0x7fffffffdb4f, end_time=0x0) at keyboard.c:2493 #8 0x0000555555777d71 in read_key_sequence (keybuf=0x7fffffffdd50, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9553 #9 0x0000555555765d14 in command_loop_1 () at keyboard.c:1350 #10 0x0000555555882519 in internal_condition_case (bfun=0x5555557658ce <command_loop_1>, handlers=XIL(0x90), hfun=0x555555765064 <cmd_error>) at eval.c:1355 #11 0x0000555555765593 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1091 #12 0x0000555555881dce in internal_catch (tag=XIL(0xd110), func=0x555555765566 <command_loop_2>, arg=XIL(0)) at eval.c:1116 #13 0x0000555555765531 in command_loop () at keyboard.c:1070 #14 0x0000555555764c33 in recursive_edit_1 () at keyboard.c:714 #15 0x0000555555764db7 in Frecursive_edit () at keyboard.c:786 #16 0x000055555575d456 in main (argc=1, argv=0x7fffffffe228) at emacs.c:2054 18068 /* Some sanity checks. */ 18069 CHECK_WINDOW_END (w); 18070 if (Z == Z_BYTE && CHARPOS (opoint) != BYTEPOS (opoint)) 18071 emacs_abort (); 18072 if (BYTEPOS (opoint) < CHARPOS (opoint)) 18073 emacs_abort (); 18074 18075 if (mode_line_update_needed (w)) (gdb) p Z $1 = 2804 (gdb) p Z_BYTE $2 = 2804 (gdb) p CHARPOS(opoint) $3 = 495 (gdb) p BYTEPOS(opoint) $4 = 497 Gijs' backtrace: Gijs> Thread 1 "emacs-snapshot-" received signal SIGABRT, Aborted. Gijs> raise (sig=sig <at> entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 Gijs> 50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. Gijs> (gdb) bt Gijs> #0 raise (sig=sig <at> entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 Gijs> #1 0x0000555555597eb0 in terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=40) at emacs.c:401 Gijs> #2 0x000055555559836e in emacs_abort () at sysdep.c:2448 Gijs> #3 0x00005555555969f0 in bidi_get_type (ch=<optimized out>, override=<optimized out>) at bidi.c:282 Gijs> #4 0x0000555555635547 in bidi_resolve_explicit (bidi_it=0x7fffffff7750) at bidi.c:2019 Gijs> #5 0x0000555555635d0f in bidi_resolve_weak (bidi_it=0x7fffffff7750) at bidi.c:2175 Gijs> #6 0x0000555555636fbb in bidi_resolve_brackets (bidi_it=0x7fffffff7750) at bidi.c:2839 Gijs> #7 0x000055555563739b in bidi_resolve_neutral (bidi_it=0x7fffffff7750) at bidi.c:2957 Gijs> #8 0x00005555556378cf in bidi_type_of_next_char (bidi_it=0x7fffffff7750) at bidi.c:3162 Gijs> #9 bidi_level_of_next_char (bidi_it=0x7fffffff7750) at bidi.c:3229 Gijs> #10 0x0000555555638840 in bidi_move_to_visually_next (bidi_it=bidi_it <at> entry=0x7fffffff7750) at bidi.c:3422 Gijs> #11 0x00005555555cefaf in set_iterator_to_next (it=0x7fffffff6d60, reseat_p=<optimized out>) at xdisp.c:7805 Gijs> #12 0x00005555555cf24c in set_iterator_to_next (it=0x7fffffff6d60, reseat_p=<optimized out>) at xdisp.c:7877 Gijs> #13 0x00005555555d6216 in display_line (it=0x7fffffff6d60, cursor_vpos=<optimized out>) at xdisp.c:23573 Gijs> #14 0x00005555555db8e9 in try_window (window=window <at> entry=0x55555a5d4de5, pos=..., flags=flags <at> entry=1) at xdisp.c:19062 Gijs> #15 0x00005555555f05b8 in redisplay_window (window=0x55555a5d4de5, just_this_one_p=<optimized out>) at xdisp.c:18480 Gijs> #16 0x00005555555f377b in redisplay_window_0 (window=window <at> entry=0x55555a5d4de5) at xdisp.c:16194 Gijs> #17 0x00005555556f6dfa in internal_condition_case_1 Gijs> (bfun=bfun <at> entry=0x5555555f3750 <redisplay_window_0>, Gijs> arg=arg <at> entry=0x55555a5d4de5, handlers=<optimized out>, Gijs> hfun=hfun <at> entry=0x5555555b3f20 <redisplay_window_error>) at eval.c:1379 Gijs> #18 0x00005555555bd838 in redisplay_windows (window=0x55555a5d4de5) at xdisp.c:16174 Gijs> #19 0x00005555555bd80d in redisplay_windows (window=0x55555abd4c85) at xdisp.c:16168 Gijs> #20 0x00005555555df37f in redisplay_internal () at xdisp.c:15642 Gijs> #21 0x000055555568943f in read_char (commandflag=1, Gijs> map=0x55555a6066f3, prev_event=0x0, used_mouse_menu=0x7fffffffc36b, Gijs> end_time=0x0) at keyboard.c:2493 Gijs> #22 0x000055555568bf5d in read_key_sequence (keybuf=<optimized out>, Gijs> prompt=0x0, dont_downcase_last=<optimized out>, Gijs> can_return_switch_frame=true, fix_current_buffer=true, Gijs> prevent_redisplay=<optimized out>) Gijs> at keyboard.c:9553 Gijs> #23 0x000055555568d74c in command_loop_1 () at lisp.h:1032 Gijs> #24 0x00005555556f6d76 in internal_condition_case Gijs> (bfun=bfun <at> entry=0x55555568d560 <command_loop_1>, Gijs> handlers=handlers <at> entry=0x90, hfun=hfun <at> entry=0x555555683f50 Gijs> <cmd_error>) at eval.c:1355 Gijs> #25 0x000055555567e7a4 in command_loop_2 (ignore=ignore <at> entry=0x0) at lisp.h:1032 Gijs> #26 0x00005555556f6ccf in internal_catch (tag=tag <at> entry=0x59d0, func=func <at> entry=0x55555567e780 <command_loop_2>, arg=arg <at> entry=0x0) at eval.c:1116 Gijs> #27 0x000055555567e6fd in command_loop () at lisp.h:1032 Gijs> #28 0x0000555555683b3f in recursive_edit_1 () at keyboard.c:714 Gijs> #29 0x0000555555683e7b in Frecursive_edit () at keyboard.c:786 Gijs> #30 0x00005555556f7ae1 in Ffuncall (nargs=1, args=args <at> entry=0x7fffffffc808) at lisp.h:2109 Gijs> #31 0x000055555572e2c8 in exec_byte_code (bytestr=<optimized out>, Gijs> vector=<optimized out>, maxdepth=<optimized out>, Gijs> args_template=<optimized out>, nargs=<optimized out>, args=<optimized out> ) at bytecode.c:633 Gijs> #32 0x00005555556f7a3d in Ffuncall (nargs=3, args=0x7fffffffcd10) at eval.c:2808 Gijs> #33 0x00005555556f7dd2 in Fapply (nargs=nargs <at> entry=2, args=args <at> entry=0x7fffffffcdb0) at eval.c:2424 Gijs> #34 0x00005555556f7f4a in apply1 (fn=<optimized out>, arg=arg <at> entry=0x555558687fa3) at lisp.h:1399 Gijs> #35 0x00005555556f8100 in call_debugger (arg=0x555558687fa3) at eval.c:339 Gijs> #36 0x00005555556f8713 in maybe_call_debugger (data=0x555558688013, sig=0xe9d0, conditions=0x7ffff1be007b) at lisp.h:1032 Gijs> #37 signal_or_quit (error_symbol=0xe9d0, data=0x555558688013, keyboard_quit=<optimized out>) at eval.c:1666 Gijs> #38 0x000055555559a5f0 in Fsignal (error_symbol=<optimized out>, error_symbol <at> entry=0xe9d0, data=<optimized out>) at eval.c:1568 Gijs> #39 0x000055555559a7ca in xsignal (data=<optimized out>, error_symbol=0xe9d0) at lisp.h:4140 Gijs> #40 xsignal2 (error_symbol=error_symbol <at> entry=0xe9d0, arg1=arg1 <at> entry=0xc8a0, arg2=arg2 <at> entry=0x14a) at eval.c:1713 Gijs> #41 0x00005555555997f9 in wrong_type_argument (predicate=predicate <at> entry=0xc8a0, value=value <at> entry=0x14a) at lisp.h:1032 Gijs> #42 0x0000555555599e07 in CHECK_TYPE (x=0x14a, predicate=0xc8a0, ok=0) at data.c:1991 Gijs> #43 CHECK_SYMBOL (x=0x14a) at lisp.h:1052 Gijs> #44 set_internal (symbol=0x14a, newval=<optimized out>, where=<optimized out>, bindflag=<optimized out>) at data.c:1307 Gijs> #45 0x00005555556e70c6 in Fset (symbol=<optimized out>, newval=0x9c4e) at lisp.h:1032 Gijs> #46 0x00005555556f9bd1 in eval_sub (form=<optimized out>) at lisp.h:2109 Gijs> #47 0x00005555556fb5ea in Feval (form=0x5555586882f3, lexical=<optimized out>) at eval.c:2102 Gijs> #48 0x00005555556f7ae1 in Ffuncall (nargs=3, args=args <at> entry=0x7fffffffd108) at lisp.h:2109 Gijs> #49 0x000055555572e2c8 in exec_byte_code (bytestr=<optimized out>, Gijs> vector=<optimized out>, maxdepth=<optimized out>, Gijs> args_template=<optimized out>, nargs=<optimized out>, args=<optimized out> ) at bytecode.c:633 Gijs> #50 0x00005555556f7a3d in Ffuncall (nargs=2, args=args <at> entry=0x7fffffffd430) at eval.c:2808 Gijs> #51 0x000055555572e2c8 in exec_byte_code (bytestr=<optimized out>, Gijs> vector=<optimized out>, maxdepth=<optimized out>, Gijs> args_template=<optimized out>, nargs=<optimized out>, args=<optimized out> ) at bytecode.c:633 Gijs> #52 0x00005555556f7a3d in Ffuncall (nargs=nargs <at> entry=2, args=args <at> entry=0x7fffffffd7c8) at eval.c:2808 Gijs> --Type <RET> for more, q to quit, c to continue without paging-- Gijs> #53 0x00005555556f43da in Ffuncall_interactively (nargs=2, args=0x7fffffffd7c8) at callint.c:254 Gijs> #54 0x00005555556f7ae1 in Ffuncall (nargs=nargs <at> entry=3, args=args <at> entry=0x7fffffffd7c0) at lisp.h:2109 Gijs> #55 0x00005555556f56b6 in Fcall_interactively (function=0x2aaa9bc5bd90, record_flag=0x0, keys=0x55555a7228a5) at callint.c:783 Gijs> #56 0x00005555556f7ae1 in Ffuncall (nargs=4, args=args <at> entry=0x7fffffffd9d8) at lisp.h:2109 Gijs> #57 0x000055555572e2c8 in exec_byte_code (bytestr=<optimized out>, Gijs> vector=<optimized out>, maxdepth=<optimized out>, Gijs> args_template=<optimized out>, nargs=<optimized out>, args=<optimized out> ) at bytecode.c:633 Gijs> #58 0x00005555556f7a3d in Ffuncall (nargs=2, args=0x7fffffffdd70) at eval.c:2808 Gijs> #59 0x00005555556f7b9d in call1 (fn=fn <at> entry=0x41a0, arg1=<optimized out>) at eval.c:2654 Gijs> #60 0x000055555568d94b in command_loop_1 () at lisp.h:1032 Gijs> #61 0x00005555556f6d76 in internal_condition_case Gijs> (bfun=bfun <at> entry=0x55555568d560 <command_loop_1>, Gijs> handlers=handlers <at> entry=0x90, hfun=hfun <at> entry=0x555555683f50 Gijs> <cmd_error>) at eval.c:1355 Gijs> #62 0x000055555567e7a4 in command_loop_2 (ignore=ignore <at> entry=0x0) at lisp.h:1032 Gijs> #63 0x00005555556f6ccf in internal_catch (tag=tag <at> entry=0xd110, func=func <at> entry=0x55555567e780 <command_loop_2>, arg=arg <at> entry=0x0) at eval.c:1116 Gijs> #64 0x000055555567e743 in command_loop () at lisp.h:1032 Gijs> #65 0x0000555555683b3f in recursive_edit_1 () at keyboard.c:714 Gijs> #66 0x0000555555683e7b in Frecursive_edit () at keyboard.c:786 Gijs> #67 0x000055555559ec58 in main (argc=2, argv=<optimized out>) at emacs.c:2054 Gijs> (gdb)
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.