Subject: RE: bug#17749: 24.3.91; Crash on mwheel-scroll of org file

From: "Vladimir Alexiev" <[email-masked]>
Date: Tue, 5 Aug 2014 11:10:16 +0300

> > 1. Open emacs-crash-test.org
> > 2. Make the window smaller (e.g. 20 lines tall)
> > 2. Roll the mouse wheel down until you see the end of file, then up.
> > 3. CRASH

The specific org file doesn't matter.
The window size doesn't matter.
This crash happens to me occasionally (2-3 times a week), always on an org file, always on mwheel-up (which invokes mwheel-scroll).

Eli, can you tell something from the backtrace here?
http://lists.gnu.org/archive/html/emacs-orgmode/2014-06/txtkIBvnmHi_F.txt

The critical lines are:

die at C:\msys\home\Dani\emacs\build\src/../../emacs-24.3.91/src/alloc.c:6826
pop_it at C:\msys\home\Dani\emacs\build\src/../../emacs-24.3.91/src/xdisp.c:6060
set_iterator_to_next at C:\msys\home\Dani\emacs\build\src/../../emacs-24.3.91/src/xdisp.c:7523
move_it_in_display_line_to at C:\msys\home\Dani\emacs\build\src/../../emacs-24.3.91/src/xdisp.c:8838

> > ../../emacs-24.3.91/src/xdisp.c:6066: 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)

The code can be seen here:
https://github.com/mirrors/emacs/blob/master/src/xdisp.c#L6127 

> This is an assertion violation, not a crash.

The failing assertion causes a crash, so I'm not sure what's the difference. 
Is there an emacs build that doesn't crash on eassert() failure?

> Some assumption in the
> code turned out to be false, but it is not possible to know which one,
> and whether it's just a wrong assumption or a real problem.

It seems the assertion does basic consistency checks of the IT structure.

What is it->bidi_p? I don't use BIDI text: this happens on ascii org files.

I guess I'll upgrade Emacs and Org and hope for the best...