GNU bug report logs - #18438
24.4.50; assertion failed in bidi.c

Previous Next

Package: emacs;

Reported by: aidalgol <at> amuri.net

Date: Tue, 9 Sep 2014 21:52:01 UTC

Severity: normal

Tags: moreinfo

Merged with 17817

Found in versions 24.3.91, 24.4.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: aidalgol <at> amuri.net
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 18438 <at> debbugs.gnu.org, kbrown <at> cornell.edu
Subject: bug#18438: 24.4.50; assertion failed in bidi.c
Date: Thu, 09 Oct 2014 11:20:51 +1300
On Tue, 30 Sep 2014 18:24:15 +0300, Eli Zaretskii wrote:
>> Date: Tue, 30 Sep 2014 11:28:35 +1300
>> From: aidalgol <at> amuri.net
>> Cc: Eli Zaretskii <eliz <at> gnu.org>, Ken Brown <kbrown <at> cornell.edu>
>>
>> On Mon, 29 Sep 2014 20:00:16 +0300, Eli Zaretskii wrote:
>> >
>> > Let's start by replacing eassert with its equivalent.  Please run
>> > with
>> > the change below for some time and see if the assertions still
>> > happen.
>> >
>> > (The purpose is to see whether small changes in the code have 
>> drastic
>> > effects on the problem.  If they do, it will be hard to know 
>> whether
>> > some more serious change solves the problem or simply hides it.)
>>
>> Yes, they're still happening; I just got one after running with the
>> patch for only a few hours.
>
> OK, so far so good.  How about the one below (which tries to reveal
> the face of the beast)?
>
> === modified file 'src/bidi.c'
> --- src/bidi.c	2014-04-06 15:56:01 +0000
> +++ src/bidi.c	2014-09-30 15:21:28 +0000
> @@ -326,7 +326,12 @@ bidi_get_type (int ch, bidi_dir_t overri
>  static void
>  bidi_check_type (bidi_type_t type)
>  {
> -  eassert (UNKNOWN_BT <= type && type <= NEUTRAL_ON);
> +  if (!(suppress_checking || (UNKNOWN_BT <= type && type <= 
> NEUTRAL_ON)))
> +    {
> +      fprintf (stderr, "\r\n%s:%d: bidi type %d is not in 
> [%d..%d]\r\n",
> +	       __FILE__, __LINE__, type, UNKNOWN_BT, NEUTRAL_ON);
> +      emacs_abort ();
> +    }
>  }
>
>  /* Given a bidi TYPE of a character, return its category.  */

OK, it finally happened.  It printed out...

bidi.c:332: bidi type 22 is not in [0..23]

Isn't that a logical impossibility?  What the hell is going on?




This bug report was last modified 9 years and 154 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.