GNU bug report logs - #18982
24.4.51; assertion violation in set_cache_region after revert-buffer

Previous Next

Package: emacs;

Reported by: Nicolas Richard <theonewiththeevillook <at> yahoo.fr>

Date: Fri, 7 Nov 2014 11:24:02 UTC

Severity: normal

Found in version 24.4.51

Done: Nicolas Richard <theonewiththeevillook <at> yahoo.fr>

Bug is archived. No further changes may be made.

Full log


Message #14 received at 18982 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Richard <theonewiththeevillook <at> yahoo.fr>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 18982 <at> debbugs.gnu.org
Subject: Re: bug#18982: 24.4.51; assertion violation in set_cache_region after
 revert-buffer
Date: Fri, 07 Nov 2014 15:07:24 +0100
Le 07/11/2014 14:46, Eli Zaretskii a écrit :
> To cause it to be incorrectly decoded, you could do this:
> 
>   C-x RET c raw-text RET C-x C-f FILENAME RET
> 
> If you remember which encoding Emacs decided to use, try that instead
> of raw-text.

hm, I tried from a fresh emacs session and couldn't reproduce, but now I tried on my few-hours-old session and it crashed.

Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:351
351       signal (sig, SIG_DFL);
(gdb) bt
#0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:351
#1  0x0827d8c5 in die (msg=0x83e4420 "c->buffer_beg <= start && end <= c->buffer_end", 
    file=0x83e42b0 "region-cache.c", line=364) at alloc.c:6833
#2  0x08325b0d in set_cache_region (c=0xc44c638, start=8828, end=8835, value=1) at region-cache.c:364
#3  0x08326205 in know_region_cache (buf=0xb6758c0, c=0xc44c638, start=8828, end=8835) at region-cache.c:671
#4  0x0825a4bb in find_newline (start=8828, start_byte=8828, end=8836, end_byte=8836, count=1, shortage=0xbffeadbc, 
    bytepos=0xbffeadc0, allow_quit=true) at search.c:812
#5  0x0824d8a0 in Fforward_line (n=1) at cmds.c:138
#6  0x0828f9a9 in Fline_beginning_position (n=2) at editfns.c:772

(gdb) frame 2
#2  0x08325b0d in set_cache_region (c=0xc44c638, start=8828, end=8835, value=1) at region-cache.c:364
364       eassert (c->buffer_beg <= start && end <= c->buffer_end);
(gdb) p c->buffer_beg
$1 = 1
(gdb) p c->buffer_end
$2 = 27

Completely similar.

I'll try to come up with a recipe but unless it's straightforward I probably will have to delay this by a few days.

Nicolas.




This bug report was last modified 10 years and 197 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.