unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Ken Brown <kbrown@cornell.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 18438@debbugs.gnu.org, aidalgol@amuri.net
Subject: bug#18438: 24.4.50; assertion failed in bidi.c
Date: Fri, 10 Oct 2014 21:57:24 -0400	[thread overview]
Message-ID: <54388E84.7020403@cornell.edu> (raw)
In-Reply-To: <83tx3c9cwf.fsf@gnu.org>

On 10/10/2014 11:12 AM, Eli Zaretskii wrote:
> Something vague about the upper 32 bits of the 64-bit registers.
> (Yes, I'm desperate.)

I'm desperate too.  Here's another thought: Suppose this really is a 
thread-safety issue in some way that we don't understand.  Then maybe 
the problem is that the test 'type <= 23' is not atomic in the 
compilation that Aidan and I have been doing.  First 'type' is copied 
from ECX to RBP+0x10, then the latter is tested.  We could make it 
atomic by forcing GCC to directly test ECX <= 23.  We can do this by 
compiling with -Og instead of -O0. (Aidan and I have both been using -O0.)

The resulting disassembly (based on your earlier patch, in 
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18438#103) is

Dump of assembler code for function bidi_check_type:
    0x00000001004ee9db <+0>:     push   %rbx
    0x00000001004ee9dc <+1>:     sub    $0x40,%rsp
    0x00000001004ee9e0 <+5>:     mov    %ecx,%ebx
    0x00000001004ee9e2 <+7>:     mov    0x543027(%rip),%rax        # 
0x100a31a10 <.refptr.suppress_checking>
    0x00000001004ee9e9 <+14>:    cmpb   $0x0,(%rax)
    0x00000001004ee9ec <+17>:    jne    0x1004eea2f <bidi_check_type+84>
    0x00000001004ee9ee <+19>:    cmp    $0x17,%ecx
    0x00000001004ee9f1 <+22>:    jbe    0x1004eea2f <bidi_check_type+84>
    0x00000001004ee9f3 <+24>:    callq  0x10069fd40 <__getreent>
    0x00000001004ee9f8 <+29>:    mov    0x18(%rax),%rcx
    0x00000001004ee9fc <+33>:    movl   $0x17,0x30(%rsp)
    0x00000001004eea04 <+41>:    movl   $0x0,0x28(%rsp)
    0x00000001004eea0c <+49>:    mov    %ebx,0x20(%rsp)
    0x00000001004eea10 <+53>:    mov    $0x14c,%r9d
    0x00000001004eea16 <+59>:    lea    0x51e713(%rip),%r8        # 
0x100a0d130 <chartab_size+112>
    0x00000001004eea1d <+66>:    lea    0x51e814(%rip),%rdx        # 
0x100a0d238 <chartab_size+376>
    0x00000001004eea24 <+73>:    callq  0x1006a0040 <fprintf>
    0x00000001004eea29 <+78>:    callq  0x10065227d <emacs_abort>
    0x00000001004eea2e <+83>:    nop
    0x00000001004eea2f <+84>:    add    $0x40,%rsp
    0x00000001004eea33 <+88>:    pop    %rbx
    0x00000001004eea34 <+89>:    retq
End of assembler dump.

Do you think this is worth trying (perhaps after Aidan tries your other 
suggestion, involving 64-bit registers)?

Ken





  parent reply	other threads:[~2014-10-11  1:57 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-09 21:41 bug#18438: 24.4.50; assertion failed in bidi.c aidalgol
2014-09-10  0:16 ` Stefan Monnier
2014-09-10 18:55   ` Aidan Gauland
2014-09-10 19:09     ` Eli Zaretskii
2014-09-11  4:31       ` aidalgol
2014-09-11 13:18         ` Ken Brown
2014-09-12  1:51           ` aidalgol
2014-09-12  1:55       ` aidalgol
2014-09-12  6:00         ` Eli Zaretskii
2014-09-12  7:46           ` Eli Zaretskii
2014-09-16  1:04             ` aidalgol
2014-09-16  2:47               ` Eli Zaretskii
2014-09-16  2:59                 ` aidalgol
2014-09-16 14:33                   ` Eli Zaretskii
2014-09-16 22:42                     ` aidalgol
2014-09-17  5:07                       ` Eli Zaretskii
2014-09-18  4:55                         ` aidalgol
2014-09-18  4:59                         ` aidalgol
2014-09-18 14:42                           ` Eli Zaretskii
2014-09-21 22:30                             ` Ken Brown
2014-09-24  5:07                               ` aidalgol
2014-09-24 14:06                                 ` Ken Brown
2014-09-24 15:01                                   ` Eli Zaretskii
2014-09-24 16:40                                     ` Ken Brown
2014-09-24 19:49                                       ` Eli Zaretskii
2014-09-28 23:03                                   ` aidalgol
2014-09-10 13:14 ` Ken Brown
2014-09-29  0:56 ` aidalgol
2014-09-29  6:23   ` Eli Zaretskii
2014-09-29 15:50     ` Ken Brown
2014-09-29 17:00       ` Eli Zaretskii
2014-09-29 22:28         ` aidalgol
2014-09-30 15:24           ` Eli Zaretskii
2014-09-30 16:09             ` Ken Brown
2014-09-30 16:27               ` Eli Zaretskii
2014-09-30 23:06                 ` aidalgol
2014-10-01  2:39                   ` Eli Zaretskii
2014-10-01  2:58                     ` aidalgol
2014-10-01 14:42                       ` Eli Zaretskii
2014-10-01 21:56                         ` aidalgol
2014-10-01  2:40                   ` Ken Brown
2014-10-08 22:20             ` aidalgol
2014-10-09  7:29               ` Eli Zaretskii
2014-10-10  2:21                 ` aidalgol
2014-10-10  7:19                   ` Eli Zaretskii
2014-10-10  7:26                     ` Eli Zaretskii
2014-10-10 13:54                     ` Ken Brown
2014-10-10 15:12                       ` Eli Zaretskii
2014-10-10 17:14                         ` Ken Brown
2014-10-11  1:57                         ` Ken Brown [this message]
2014-10-11  7:11                           ` Eli Zaretskii
2014-10-11 13:58                             ` Ken Brown
2014-10-11 14:24                               ` Eli Zaretskii
2014-10-11 16:33                                 ` Ken Brown
2014-10-11 16:52                                   ` Eli Zaretskii
2014-10-11 17:17                                     ` Ken Brown
2014-10-15  0:58                     ` aidalgol
2014-10-15  5:13                       ` Eli Zaretskii
2014-10-15 19:29                         ` aidalgol
2014-10-16  7:27                           ` Eli Zaretskii
2014-10-16 13:11                             ` Ken Brown
2014-10-16 13:38                               ` Eli Zaretskii
2014-10-19 14:39                               ` Eli Zaretskii
2014-10-19 15:37                                 ` Ken Brown
2014-10-19 18:10                                   ` Eli Zaretskii
2014-10-19 19:49                                   ` aidalgol
2014-10-19 20:20                                 ` aidalgol
2014-10-20 15:46                                   ` Eli Zaretskii
2014-10-20 16:51                                     ` Eli Zaretskii
2014-10-20 19:35                                       ` Ivan Shmakov
2014-10-20 19:39                                         ` Eli Zaretskii
2014-10-20 20:02                                           ` Ivan Shmakov
2014-10-20 20:59                                       ` Ken Brown
2014-10-21 15:42                                         ` Eli Zaretskii
2014-10-21 16:18                                           ` Ken Brown
2014-10-21 19:38                                         ` aidalgol
2014-10-21 21:12                                           ` Ken Brown
2014-10-21 21:58                                             ` aidalgol
2014-10-21 22:21                                               ` Ken Brown
2014-10-21 22:38                                                 ` aidalgol
2014-10-22  4:16 ` aidalgol
2014-10-22 15:24   ` Eli Zaretskii
2014-10-22 17:16   ` Eli Zaretskii
2014-10-22 20:39     ` Ken Brown
2014-10-23 20:38       ` aidalgol
2014-10-23 21:54       ` aidalgol
2014-10-24  6:50         ` Eli Zaretskii
2014-10-24 19:18           ` Ken Brown
2014-10-24 21:19             ` Ken Brown
2014-10-29  4:30               ` aidalgol
2014-10-29 12:15                 ` Ken Brown
2014-10-29 14:37                   ` Eli Zaretskii
2015-12-26 15:37                   ` bug#17817: " Lars Ingebrigtsen
2015-12-26 15:43                     ` Ken Brown
2014-10-29 14:17                 ` Eli Zaretskii
2014-10-23  4:15     ` aidalgol

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54388E84.7020403@cornell.edu \
    --to=kbrown@cornell.edu \
    --cc=18438@debbugs.gnu.org \
    --cc=aidalgol@amuri.net \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).