Subject: bug#872 closed by Jason Rumney <[email-masked]> (Re: [Emacs-diffs] emacs/src ChangeLog)

From: [email-masked] (Emacs bug Tracking System)

This is an automatic notification regarding your bug report
which was filed against the emacs,w32 package:

#872: Crash displaying byte-code

It has been closed by Jason Rumney <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Jason Rumney <[email-masked]> by
replying to this email.

-- 
872: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=872
Emacs Bug Tracking System
Contact [email-masked] with problems
>From [email-masked] Thu Dec 11 07:42:52 2008
Sender: Jason Rumney <[email-masked]>
Date: Thu, 11 Dec 2008 23:42:15 +0800
From: Jason Rumney <[email-masked]>
To: Juanma Barranquero <[email-masked]>
CC: [email-masked]
Subject: Re: [Emacs-diffs] emacs/src ChangeLog

Juanma Barranquero wrote:
> It is likely Jason has really fixed the problem, because it started
> happening a few days after this change:
>
> 2008-07-30  Jason Rumney  <[email-masked]>
>
>         * w32font.h (struct w32font_info): Use unicode version of textmetrics.
>
>         * w32font.c (w32font_encode_char): Leave as unicode if in range.
>         (w32font_open_internal): Get unicode version of textmetrics.
>         Don't enable or disable glyph indices here.
>         (w32font_open): Disable use of glyph indices.
>
>         * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
>
>   Juanma
>   

More likely one of these earlier changes:

2008-07-30  Jason Rumney  <[email-masked]>

    * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.

2008-07-29  Jason Rumney  <[email-masked]>

    * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
    is populated.
    (uniscribe_encode_char): Always use uniscribe.
    Avoid using context if cache is populated.

>From [email-masked] Wed Sep  3 09:06:19 2008
Date: Wed, 3 Sep 2008 18:06:12 +0200
From: "Juanma Barranquero" <[email-masked]>
To: "Emacs Bug Tracker" <[email-masked]>
Subject: Crash displaying byte-code

emacs -Q
M-x ielm <RET>

then typing

(let ((standard-output (current-buffer)))
  (setq unibyte-display-via-language-environment t)
  (set-buffer-multibyte nil)
  (backtrace))

makes Emacs crash on Windows.

Notes:
 - If Emacs is run from inside GDB, it "hangs" for a while and finally
crashes.
 - If run from the command-line, after doing the above it crashes
immediately; the DrMingw backtrace is a bit different.
 - It only happens with an optimized build.
 - All the above steps are required, including executing the `let'
from inside IELM. In fact, the crash happens while IELM is trying to
display byte-code("...")

It apparently started happening after this change:

2008-04-09  Jason Rumney  <address@hidden>

        * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
        for new font backend and composite cases.

emacs-devel discussion:

http://lists.gnu.org/archive/html/emacs-devel/2008-08/msg00236.html