emacs-devel
[Top][All Lists]
Advanced

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

Re: infloop when removing character


From: Simon Josefsson
Subject: Re: infloop when removing character
Date: Fri, 15 Aug 2003 00:35:30 +0200
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.2 (gnu/linux)

Richard Stallman <address@hidden> writes:

>     809                   while (--cursor != ceiling_addr && *cursor != '\n')
>     (gdb) n
>     814                       if (++count == 0)
>
> This loop increases count.
>
>     (gdb) p count
>     $8 = -516
>
> Ok.
>
>     Program received signal SIGTSTP, Stopped (user).
>     0x08140f15 in scan_newline (start=1086115847, start_byte=513066, limit=1,
>       limit_byte=1, count=-9641, allow_quit=0) at search.c:809
>     809                   while (--cursor != ceiling_addr && *cursor != '\n')
>     (gdb) p count
>     $9 = -9641
>
> Something made count smaller.  Apparently some other code did run.
> Can you find out what happened?
>
> Did the first call to scan_newline return and did it get called again?
> Please try using the `finish' command as explained in etc/DEBUG.

OK, it has happened again.  I noticed some text in the echo area:

Error in post-command hook: ...

I didn't catch the final part of it, and now Emacs doesn't redisplay
itself any more so I cannot read it.

It happened when I was composing a mail in Gnus (it occurred in
different situations before), and my post-command-hook there is (this
is from another session, but I believe it is the same in the hung
process too):

post-command-hook's value is 
(t flyspell-post-command-hook)
Local in buffer *wide reply to Richard Stallman*; global value is 
(tooltip-activate-mouse-motions-if-enabled global-font-lock-mode-buffers 
hl-line-highlight)

Below is the 'finish' gdb log.  The process is still running in case
someone wants me to debug it, although I cannot promise to keep it
around for very long.

Program received signal SIGTSTP, Stopped (user).
0x08140f17 in scan_newline (start=1086652423, start_byte=476717, limit=1,
    limit_byte=1, count=-6874, allow_quit=0) at search.c:809
809                   while (--cursor != ceiling_addr && *cursor != '\n')
(gdb) finish
Run till exit from #0  0x08140f17 in scan_newline (start=1086652423,
    start_byte=476717, limit=1, limit_byte=1, count=-6874, allow_quit=0)
    at search.c:809
message_dolog (m=0x81a5be4 "", nbytes=-1073753312, nlflag=1, multibyte=0)
    at xdisp.c:6281
6281                  del_range_both (BEG, BEG_BYTE, PT, PT_BYTE, 0);
Value returned is $10 = 1
(gdb) finish
Run till exit from #0  message_dolog (m=0x81a5be4 "", nbytes=-1073753312,
    nlflag=1, multibyte=0) at xdisp.c:6281
0x080969b4 in message_log_maybe_newline () at xdisp.c:6146
6146        message_dolog ("", 0, 1, 0);
(gdb) finish
Run till exit from #0  0x080969b4 in message_log_maybe_newline ()
    at xdisp.c:6146
cmd_error_internal (data=1519920912, context=0xbfffd3d0 "") at keyboard.c:1227
1227          bitch_at_user ();
(gdb) finish
Run till exit from #0  cmd_error_internal (data=1519920912,
    context=0xbfffd3d0 "") at keyboard.c:1227
cmd_error (data=1519920912) at keyboard.c:1178
1178      Vquit_flag = Qnil;
(gdb) finish
Run till exit from #0  cmd_error (data=1519920912) at keyboard.c:1178
internal_condition_case (bfun=0x810bde4 <command_loop_1>, handlers=405784756,
    hfun=0x810b9d8 <cmd_error>) at eval.c:1337
1337    }
Value returned is $11 = 0
(gdb) finish
Run till exit from #0  internal_condition_case (
    bfun=0x810bde4 <command_loop_1>, handlers=405784756,
    hfun=0x810b9d8 <cmd_error>) at eval.c:1337
0x0810bcba in command_loop_2 () at keyboard.c:1292
1292        val = internal_condition_case (command_loop_1, Qerror, cmd_error);
Value returned is $12 = 0
(gdb) finish
Run till exit from #0  0x0810bcba in command_loop_2 () at keyboard.c:1292





reply via email to

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