From: "Juanma Barranquero" <lekktu@gmail.com>
To: "Eli Zaretskii" <eliz@gnu.org>
Cc: 1179 <1179@emacsbugs.donarmstrong.com>
Subject: bug#1179: Emacs on Windows hangs displaying unibyte strings
Date: Fri, 17 Oct 2008 15:32:47 +0200 [thread overview]
Message-ID: <f7ccd24b0810170632m7b673cbfp79d4e43e3c800d59@mail.gmail.com> (raw)
In-Reply-To: <uabd3ml45.fsf@gnu.org>
On Fri, Oct 17, 2008 at 15:01, Eli Zaretskii <eliz@gnu.org> wrote:
> It doesn't crash for me, with today's CVS. But the result is strange
> nonetheless, I think: the single á character in the last line above
> are replaced with _two_ empty boxes about which "C-u C-x =" says:
Could you please try with DejaVu Sans Mono?
I see these four different outputs:
- Non-optimized build, Courier New: same as you.
- Non-optimized build, DejaVu Sans Mono: the á character is replaced
by two spaces (not empty boxes) and Emacs hangs.
- Optimized build, Courier New: á is replaced by two empty boxes, Emacs hangs.
- Optimized build, DejaVu Sans Mono: Emacs crashes at w32term.c:1279.
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x011f804c in x_draw_glyph_string_background (s=0x82eae0, force_p=1)
>> at w32term.c:1279
>> 1279 if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
>
> So what's the reason of the crash? Is `s' an invalid pointer?
No. s is valid, and so is s->face, for example. s->font is not, however
(gdb) p s
$1 = (struct glyph_string *) 0x82eae0
(gdb) p *s
$2 = {
x = 384,
y = 150,
...
}
(gdb) p *s->face
$3 = {
id = 906494016,
gc = 0x1803,
...
}
(gdb) p *s->font
Cannot access memory at address 0xdae80101
> Or
> maybe GDB is confused by optimizations, and shows in correct source
> line? In the latter case, perhaps disassemblying around the address
> of the crash (0x011f804c according to the above) would give an idea of
> what went wrong.
(gdb) disassemble 0x011f804c
Dump of assembler code for function x_draw_glyph_string_background:
0x011f801c <x_draw_glyph_string_background+0>: push %ebp
0x011f801d <x_draw_glyph_string_background+1>: mov %esp,%ebp
0x011f801f <x_draw_glyph_string_background+3>: push %edi
0x011f8020 <x_draw_glyph_string_background+4>: push %esi
0x011f8021 <x_draw_glyph_string_background+5>: push %ebx
0x011f8022 <x_draw_glyph_string_background+6>: sub $0x2c,%esp
0x011f8025 <x_draw_glyph_string_background+9>: mov %eax,%ebx
0x011f8027 <x_draw_glyph_string_background+11>: mov %edx,%edi
0x011f8029 <x_draw_glyph_string_background+13>: movzbl 0x5c(%eax),%ecx
0x011f802d <x_draw_glyph_string_background+17>: test $0x2,%cl
0x011f8030 <x_draw_glyph_string_background+20>: jne 0x11f8096
<x_draw_glyph_string_background+122>
0x011f8032 <x_draw_glyph_string_background+22>: mov 0x44(%eax),%eax
0x011f8035 <x_draw_glyph_string_background+25>: mov 0x34(%eax),%edx
0x011f8038 <x_draw_glyph_string_background+28>: mov %edx,%eax
0x011f803a <x_draw_glyph_string_background+30>: not %eax
0x011f803c <x_draw_glyph_string_background+32>: sar $0x1f,%eax
0x011f803f <x_draw_glyph_string_background+35>: and %eax,%edx
0x011f8041 <x_draw_glyph_string_background+37>: lea (%edx,%edx,1),%esi
0x011f8044 <x_draw_glyph_string_background+40>: neg %esi
0x011f8046 <x_draw_glyph_string_background+42>: add 0x14(%ebx),%esi
0x011f8049 <x_draw_glyph_string_background+45>: mov 0x48(%ebx),%eax
0x011f804c <x_draw_glyph_string_background+48>: cmp %esi,0x58(%eax)
0x011f804f <x_draw_glyph_string_background+51>: jl 0x11f8056
<x_draw_glyph_string_background+58>
0x011f8051 <x_draw_glyph_string_background+53>: and $0x9,%cl
0x011f8054 <x_draw_glyph_string_background+56>: je 0x11f809e
<x_draw_glyph_string_background+130>
0x011f8056 <x_draw_glyph_string_background+58>: mov 0x10(%ebx),%ecx
0x011f8059 <x_draw_glyph_string_background+61>: add 0x4(%ebx),%edx
0x011f805c <x_draw_glyph_string_background+64>: mov (%ebx),%eax
0x011f805e <x_draw_glyph_string_background+66>: mov %eax,-0x1c(%ebp)
0x011f8061 <x_draw_glyph_string_background+69>: mov %edx,-0x18(%ebp)
0x011f8064 <x_draw_glyph_string_background+72>: add %ecx,%eax
0x011f8066 <x_draw_glyph_string_background+74>: mov %eax,-0x14(%ebp)
0x011f8069 <x_draw_glyph_string_background+77>: lea (%esi,%edx,1),%edx
0x011f806c <x_draw_glyph_string_background+80>: mov %edx,-0x10(%ebp)
0x011f806f <x_draw_glyph_string_background+83>: lea -0x1c(%ebp),%eax
0x011f8072 <x_draw_glyph_string_background+86>: mov %eax,0xc(%esp)
0x011f8076 <x_draw_glyph_string_background+90>: mov 0x60(%ebx),%eax
0x011f8079 <x_draw_glyph_string_background+93>: mov 0x4(%eax),%eax
0x011f807c <x_draw_glyph_string_background+96>: mov %eax,0x8(%esp)
0x011f8080 <x_draw_glyph_string_background+100>: mov 0x64(%ebx),%eax
0x011f8083 <x_draw_glyph_string_background+103>: mov %eax,0x4(%esp)
0x011f8087 <x_draw_glyph_string_background+107>: mov 0x20(%ebx),%eax
0x011f808a <x_draw_glyph_string_background+110>: mov %eax,(%esp)
0x011f808d <x_draw_glyph_string_background+113>: call
0x11f7642 <w32_fill_rect>
0x011f8092 <x_draw_glyph_string_background+118>: orb $0x2,0x5c(%ebx)
0x011f8096 <x_draw_glyph_string_background+122>: add $0x2c,%esp
0x011f8099 <x_draw_glyph_string_background+125>: pop %ebx
0x011f809a <x_draw_glyph_string_background+126>: pop %esi
0x011f809b <x_draw_glyph_string_background+127>: pop %edi
0x011f809c <x_draw_glyph_string_background+128>: pop %ebp
0x011f809d <x_draw_glyph_string_background+129>: ret
0x011f809e <x_draw_glyph_string_background+130>: test %edi,%edi
0x011f80a0 <x_draw_glyph_string_background+132>: je
0x11f8096 <x_draw_glyph_string_background+122>
0x011f80a2 <x_draw_glyph_string_background+134>: jmp
0x11f8056 <x_draw_glyph_string_background+58>
End of assembler dump.
Juanma
next prev parent reply other threads:[~2008-10-17 13:32 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <494134D7.9000502@f2s.com>
2008-09-03 16:06 ` bug#872: Crash displaying byte-code Juanma Barranquero
2008-12-11 15:45 ` bug#872: marked as done (Crash displaying byte-code) Emacs bug Tracking System
2008-10-16 14:52 ` bug#1179: Emacs on Windows hangs displaying unibyte strings Juanma Barranquero
2008-10-17 11:48 ` Juanma Barranquero
2008-10-17 11:55 ` Processed: " Emacs bug Tracking System
2008-10-17 13:01 ` Eli Zaretskii
2008-10-17 13:32 ` Juanma Barranquero [this message]
2008-10-17 14:01 ` Eli Zaretskii
2008-10-17 14:14 ` Juanma Barranquero
2008-12-11 15:45 ` bug#1179: marked as done (Emacs on Windows hangs displaying unibyte strings) Emacs bug Tracking System
2008-11-28 4:15 ` bug#1446: 23.0.60; GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600) of 2008-11-28 crash on "C-h b" Feng li
2008-12-11 15:45 ` bug#1446: marked as done (23.0.60; GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600) of 2008-11-28 crash on "C-h b") Emacs bug Tracking System
2008-11-28 4:33 ` bug#1447: 23.0.60; emacs crash Feng li
2008-12-11 15:45 ` bug#1447: marked as done (23.0.60; emacs crash) Emacs bug Tracking System
2008-11-28 5:15 ` bug#1448: 23.0.60; update to cvs emacs crash report Feng li
2008-11-28 9:25 ` Juanma Barranquero
2008-11-28 10:56 ` Eli Zaretskii
2008-11-28 11:23 ` Juanma Barranquero
2008-11-28 12:06 ` Eli Zaretskii
2008-11-28 12:08 ` Juanma Barranquero
2008-11-30 22:11 ` Feng Li
2008-11-30 23:03 ` Juanma Barranquero
2008-12-04 2:47 ` Feng Li
2008-12-04 8:44 ` Juanma Barranquero
2008-12-04 13:31 ` Stefan Monnier
2008-12-04 14:51 ` Juanma Barranquero
2008-12-11 15:45 ` bug#1448: marked as done (23.0.60; update to cvs emacs crash report) Emacs bug Tracking System
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=f7ccd24b0810170632m7b673cbfp79d4e43e3c800d59@mail.gmail.com \
--to=lekktu@gmail.com \
--cc=1179@emacsbugs.donarmstrong.com \
--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 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.