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

From: Ken Brown <[email-masked]>
Date: Sun, 21 Sep 2014 18:30:09 -0400

On 9/18/2014 10:42 AM, Eli Zaretskii wrote:
>> Date: Thu, 18 Sep 2014 16:59:34 +1200
>> From: [email-masked]
>> Cc: Eli Zaretskii <[email-masked]>
>>
>>> My reading of this is:
>>>
>>>    . the value being tested is originally in ECX
>>>    . it is stored in a temporary local variable at RBP+0x10
>>>    . then it is compared with 0x17 (decimal 23)
>>>
>>> So you have two places to check: the ECX register and the value
>>> pointed to by RBP+0x10.
>>
>> Here we are:
>>
>> (gdb) print $ecx
>> $3 = 6
>> (gdb) x $rbp+0x10
>> 0x222e10:       0x00000001
>
> Thanks.  Both values are valid, although the second one is probably
> the accurate one.
>
> So again, this is a riddle for which I have no clues.  Perhaps the
> strange backtraces reported in bug #17753, and the discussion Ken
> started on the Cygwin list about that, will bring some insight (e.g.,
> is it possible that this code also runs in some other thread?).

The other possibility is that the strange backtraces are due to a bug in 
gdb that has since been fixed.  PR 16155 
(https://sourceware.org/bugzilla/show_bug.cgi?id=16155) seems like a 
possible candidate for such a bug, but I haven't yet tried to verify 
this.  OP, could you update to Cygwin's gdb-7.8-2 and see if your 
backtraces start to make more sense?  The problem with gdb-7.8-1 that I 
mentioned earlier has been fixed.

Ken