bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#39207: WITH dgb symbols Re: bug#39207: 28.0.50; crash when sending g


From: Robert Pluim
Subject: 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@debbugs.gnu.org in CC, rather than replying direct only
to me.

>>>>> On Wed, 22 Jan 2020 10:09:54 +0100, Gijs Hillenius <gijs@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@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@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
    Gijs> #1  0x0000555555597eb0 in terminate_due_to_signal (sig=sig@entry=6, 
backtrace_limit=backtrace_limit@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@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@entry=0x55555a5d4de5, pos=..., flags=flags@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@entry=0x55555a5d4de5) at xdisp.c:16194
    Gijs> #17 0x00005555556f6dfa in internal_condition_case_1
    Gijs> (bfun=bfun@entry=0x5555555f3750 <redisplay_window_0>,
    Gijs> arg=arg@entry=0x55555a5d4de5, handlers=<optimized out>,
    Gijs>     hfun=hfun@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@entry=0x55555568d560 <command_loop_1>,
    Gijs> handlers=handlers@entry=0x90, hfun=hfun@entry=0x555555683f50
    Gijs> <cmd_error>) at eval.c:1355
    Gijs> #25 0x000055555567e7a4 in command_loop_2 (ignore=ignore@entry=0x0) at 
lisp.h:1032
    Gijs> #26 0x00005555556f6ccf in internal_catch (tag=tag@entry=0x59d0, 
func=func@entry=0x55555567e780 <command_loop_2>, arg=arg@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@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@entry=2, 
args=args@entry=0x7fffffffcdb0) at eval.c:2424
    Gijs> #34 0x00005555556f7f4a in apply1 (fn=<optimized out>, 
arg=arg@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@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@entry=0xe9d0, 
arg1=arg1@entry=0xc8a0, arg2=arg2@entry=0x14a) at eval.c:1713
    Gijs> #41 0x00005555555997f9 in wrong_type_argument 
(predicate=predicate@entry=0xc8a0, value=value@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@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@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@entry=2, 
args=args@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@entry=3, 
args=args@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@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@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@entry=0x55555568d560 <command_loop_1>,
    Gijs> handlers=handlers@entry=0x90, hfun=hfun@entry=0x555555683f50
    Gijs> <cmd_error>) at eval.c:1355
    Gijs> #62 0x000055555567e7a4 in command_loop_2 (ignore=ignore@entry=0x0) at 
lisp.h:1032
    Gijs> #63 0x00005555556f6ccf in internal_catch (tag=tag@entry=0xd110, 
func=func@entry=0x55555567e780 <command_loop_2>, arg=arg@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) 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]