Subject: bug#18438: 24.4.50; assertion failed in bidi.c

From: Eli Zaretskii <[email-masked]>
Date: Wed, 22 Oct 2014 20:16:28 +0300

> Date: Wed, 22 Oct 2014 17:16:36 +1300
> From: [email-masked]
> 
> Full backtrace for thread 9
> #0  0x000000007790131a in ntdll!ZwReadFile () from /cygdrive/c/Windows/SYSTEM32/ntdll.dll
> No symbol table info available.
> #1  0x000007fefe051a7a in ReadFile () from /cygdrive/c/Windows/system32/KERNELBASE.dll
> No symbol table info available.
> #2  0x00000000777a0a19 in ReadFile () from /cygdrive/c/Windows/system32/kernel32.dll
> No symbol table info available.
> #3  0x00000001800ed834 in proc_waiter(void*) () from /usr/bin/cygwin1.dll
> No symbol table info available.
> #4  0x0000000180044fc5 in cygthread::callfunc(bool) () from /usr/bin/cygwin1.dll
> No symbol table info available.
> #5  0x000000018004552a in cygthread::stub(void*) () from /usr/bin/cygwin1.dll
> No symbol table info available.
> #6  0x000000018004619b in _cygtls::call2(unsigned int (*)(void*, void*), void*, void*) () from /usr/bin/cygwin1.dll
> No symbol table info available.
> #7  0x00000001800462f4 in _cygtls::call(unsigned int (*)(void*, void*), void*) () from /usr/bin/cygwin1.dll
> No symbol table info available.
> #8  0x00000000777a59ed in KERNEL32!BaseThreadInitThunk () from /cygdrive/c/Windows/system32/kernel32.dll
> No symbol table info available.
> #9  0x00000000778dc541 in ntdll!RtlUserThreadStart () from /cygdrive/c/Windows/SYSTEM32/ntdll.dll
> No symbol table info available.
> #10 0x0000000000000000 in ?? ()
> No symbol table info available.
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
> 
> Full backtrace for thread 10
> #0  0x000000007790131a in ntdll!ZwReadFile () from /cygdrive/c/Windows/SYSTEM32/ntdll.dll
> No symbol table info available.
> #1  0x000007fefe051a7a in ReadFile () from /cygdrive/c/Windows/system32/KERNELBASE.dll
> No symbol table info available.
> #2  0x00000000777a0a19 in ReadFile () from /cygdrive/c/Windows/system32/kernel32.dll
> No symbol table info available.
> #3  0x00000001800ed834 in proc_waiter(void*) () from /usr/bin/cygwin1.dll
> No symbol table info available.
> #4  0x0000000180044fc5 in cygthread::callfunc(bool) () from /usr/bin/cygwin1.dll
> No symbol table info available.
> #5  0x000000018004552a in cygthread::stub(void*) () from /usr/bin/cygwin1.dll
> No symbol table info available.
> #6  0x000000018004619b in _cygtls::call2(unsigned int (*)(void*, void*), void*, void*) () from /usr/bin/cygwin1.dll
> No symbol table info available.
> #7  0x00000001800462f4 in _cygtls::call(unsigned int (*)(void*, void*), void*) () from /usr/bin/cygwin1.dll
> No symbol table info available.
> #8  0x00000000777a59ed in KERNEL32!BaseThreadInitThunk () from /cygdrive/c/Windows/system32/kernel32.dll
> No symbol table info available.
> #9  0x00000000778dc541 in ntdll!RtlUserThreadStart () from /cygdrive/c/Windows/SYSTEM32/ntdll.dll
> No symbol table info available.
> #10 0x0000000000000000 in ?? ()
> No symbol table info available.
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)

These 2 threads seem to be waiting on a pipe to a subprocess.  Any
idea which 2 subprocesses were running at the time?

Also, is there any pattern to what Emacs is doing when these assertion
violations and segfaults happen?  Is it idle, or are you typing
something, and if the latter, what were you doing immediately prior to
the crash?

Thanks.