Subject: 24.3.93; Assertion violation in pop_it
From: Nicolas Richard <[email-masked]>
To: [email-masked]
Date: Mon, 29 Sep 2014 16:26:11 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

I'm running emacs-24 branch as of Fabrice Niessen's commit :
Author: Fabrice Niessen <[email-masked]>
Date:   Mon Sep 29 16:30:16 2014 +0400

    Check in accumulated leuven-theme updates before it's too late
    
    * themes/leuven-theme.el: Updates.

Here's a recipe for getting to an eassert violation in pop_it (xdisp.c):

run: emacs -Q ~/tmp/bug2.org -f visual-line-mode -f org-indent-mode -f end-of-buffer -f org-content

where bug2.org is the attached file (I gzipped it)

then place mouse cursor in the blank area after the last line (let's say
right under "(xxx)") and scroll down with the mouse (i.e. turn the wheel
up). I usually get the crash immediately, or sometime after scroll-up
then down again.

Here's the gdb session :

(gdb) r -Q ~/tmp/bug2.org -f visual-line-mode -f org-indent-mode -f end-of-buffer -f org-content
Starting program: /home/youngfrog/sources/running-emacs/src/emacs -Q ~/tmp/bug2.org -f visual-line-mode -f org-indent-mode -f end-of-buffer -f org-content --eval '(sit-for 3)' -f scroll-down
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
[New Thread 0xb632cb40 (LWP 12762)]
[New Thread 0xb58e4b40 (LWP 12763)]
[New Thread 0xb4e11b40 (LWP 12764)]

xdisp.c:6184: Emacs fatal error: assertion failed: (BUFFERP (it->object) && IT_CHARPOS (*it) == it->bidi_it.charpos && IT_BYTEPOS (*it) == it->bidi_it.bytepos) || (STRINGP (it->object) && IT_STRING_CHARPOS (*it) == it->bidi_it.charpos && IT_STRING_BYTEPOS (*it) == it->bidi_it.bytepos) || (CONSP (it->object) && it->method == GET_FROM_STRETCH)

Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647)
    at emacs.c:351
351	  signal (sig, SIG_DFL);
(gdb) frame 2
#2  0x08098ccf in pop_it (it=0xbfffc6b0) at xdisp.c:6178
6178	      eassert ((BUFFERP (it->object)
(gdb) p IT_CHARPOS (*it)
$1 = 57215
(gdb) p it->bidi_it.charpos
$2 = 57755

-- 
Nicolas Richard