From: Eli Zaretskii <eliz@gnu.org>
To: Ari Roponen <ari.roponen@gmail.com>
Cc: 5858-done@debbugs.gnu.org
Subject: bug#5858: 24.0.50; bidi aborts: "can't happen" happens
Date: Thu, 08 Apr 2010 20:42:57 +0300 [thread overview]
Message-ID: <83d3y9263i.fsf@gnu.org> (raw)
In-Reply-To: <m3hbnme2o4.fsf@gmail.com>
> From: Ari Roponen <ari.roponen@gmail.com>
> Date: Thu, 08 Apr 2010 12:03:55 +0300
> Cc:
>
> the following code crashes emacs by making code in bidi.c call
> abort():
>
> (let ((bidi-display-reordering t))
> (insert #x650 #x650) ; ARABIC KASRA
> (redisplay))
Heh, a brain-fart from 9 years ago that came back to haunt me...
> The place that calls abort() is in bidi_resolve_neutral():
>
> #0 abort () at emacs.c:430
> #1 0x0000000000490abe in bidi_resolve_neutral (bidi_it=0x7fffffff9000)
> at bidi.c:1577
> #2 0x000000000049119a in bidi_level_of_next_char (bidi_it=0x7fffffff9000)
> at bidi.c:1713
> ...
>
> (gdb) up
> #1 0x0000000000490abe in bidi_resolve_neutral (bidi_it=0x7fffffff9000)
> at bidi.c:1577
> 1577 abort (); /* can't happen: BNs are skipped */
> (gdb) l
> 1572 next_type = STRONG_R;
> 1573 saved_it.next_for_neutral.type = STRONG_R;
> 1574 break;
> 1575 case WEAK_BN:
> 1576 if (!bidi_explicit_dir_char (bidi_it->ch))
> 1577 abort (); /* can't happen: BNs are skipped */
> 1578 /* FALLTHROUGH */
> 1579 case NEUTRAL_B:
> 1580 /* Marched all the way to the end of this level run.
> 1581 We need to use the eor type, whose information is
Yours is an optimized build, right? Because, in an unoptimized build,
it's a different call to `abort' that is triggered:
#1 0x011a3931 in bidi_resolve_neutral (bidi_it=0x82d2f8) at bidi.c:1600
1600 abort ();
(gdb) l
1595 bidi_copy_it (bidi_it, &saved_it);
1596 return bidi_it->type;
1597 }
1598 break;
1599 default:
1600 abort (); <<<<<<<<<<<<<<<<<
1601 }
1602 type = bidi_resolve_neutral_1 (saved_it.prev_for_neutral.type,
1603 next_type, current_level);
1604 saved_it.type = type;
Anyway, I think I fixed it (revno 99851); please try again after
updating your tree. If it still doesn't work, please re-open this
bug.
Thanks for reporting this.
prev parent reply other threads:[~2010-04-08 17:42 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-08 9:03 bug#5858: 24.0.50; bidi aborts: "can't happen" happens Ari Roponen
2010-04-08 17:42 ` Eli Zaretskii [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83d3y9263i.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=5858-done@debbugs.gnu.org \
--cc=ari.roponen@gmail.com \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.