Subject: Re: bug#17817: 24.3.91; Assertion failure in bidi.c (Cygwin-w32 build)

From: Ken Brown <[email-masked]>
Date: Sat, 21 Jun 2014 15:14:24 -0400

On 6/20/2014 2:29 PM, Eli Zaretskii wrote:
>> Date: Fri, 20 Jun 2014 12:43:14 -0400
>> From: Ken Brown <[email-masked]>
>> CC: [email-masked]
>>
>> (gdb) disas bidi_check_type
>> Dump of assembler code for function bidi_check_type:
>>      0x00000001004fb4c3 <+0>:     push   %rbp
>>      0x00000001004fb4c4 <+1>:     mov    %rsp,%rbp
>>      0x00000001004fb4c7 <+4>:     sub    $0x20,%rsp
>>      0x00000001004fb4cb <+8>:     mov    %ecx,0x10(%rbp)
>>      0x00000001004fb4ce <+11>:    mov    0x56402b(%rip),%rax        # 0x100a5f500 <.refptr.suppress_checking>
>>      0x00000001004fb4d5 <+18>:    movzbl (%rax),%eax
>>      0x00000001004fb4d8 <+21>:    xor    $0x1,%eax
>>      0x00000001004fb4db <+24>:    test   %al,%al
>>      0x00000001004fb4dd <+26>:    je     0x1004fb4ff <bidi_check_type+60>
>>      0x00000001004fb4df <+28>:    cmpl   $0x17,0x10(%rbp)
>>      0x00000001004fb4e3 <+32>:    jbe    0x1004fb4ff <bidi_check_type+60>
>
> So the value compared to 23 (17 hex) is at address %rbp+0x10.  What
> does this display:
>
>    (gdb) p *(bidi_type_t *)($rbp+0x10)
>
> (or maybe you should use %rbp with 64-bit build, I don't know).

I'm away from the computer where this crash occurred and won't have 
access to it for the next few days.

In the meantime, the recent issue that we discussed on the Cygwin list 
made me wonder if there's some interaction with Glib that's causing 
these weird crashes.  Even though that particular bug only occurred in 
the 32-bit case, I'm still suspicious.

I think I'll start using --with-file-notification=no for a while, to see 
if that cuts down on the crash reports.

Ken