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

From: Ken Brown <[email-masked]>
Date: Wed, 24 Sep 2014 12:40:31 -0400

[Adding Daniel Colascione to the CC.]

On 9/24/2014 11:01 AM, Eli Zaretskii wrote:
>> Date: Wed, 24 Sep 2014 10:06:30 -0400
>> From: Ken Brown <[email-masked]>
>> CC: Eli Zaretskii <[email-masked]>
>>
>> By the way, I just got the same assertion failure in bidi.c, with a
>> backtrace under gdb 7.8 (attached).
>
> What is the backtrace of the other threads?

Attached.

> We are left with the riddle.

That's too bad.

I have one thought: You've mentioned before the possibility that this 
problem is caused by interference from other threads.  The one thread 
that exists in the Cygwin-w32 build but not in other Cygwin builds is 
the one used for the Windows message queue. (Thread 5 in the attached 
backtrace).  I'm not familiar with the code involving the message queue, 
but is it possible that this code is not thread safe in the 64-bit 
Cygwin build?

Dan, can you help?  In case you don't want to read through the whole bug 
report, the gist of the problem is this: In the Cygwin-w32 build of 
Emacs with checking enabled (64-bit case only), there are random 
assertion failures that make no sense when viewed under gdb.  In other 
words, the assertions clearly hold according to the information provided 
by gdb.  Eli has wondered whether code running in a different thread is 
somehow the cause of this.

Ken