emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 23.0.60; emacs hangs on WinXP with --disable-font-backend, and backt


From: Kyle M. Lee
Subject: Re: 23.0.60; emacs hangs on WinXP with --disable-font-backend, and backtrace
Date: Fri, 09 May 2008 23:20:50 +0800
User-agent: Thunderbird 2.0.0.14 (Windows/20080421)

Eli Zaretskii 写道:
>> Date: Fri, 09 May 2008 09:05:09 +0800
>> From: "Kyle M. Lee" <address@hidden>
>> CC: address@hidden
>>
>> (gdb) r --disable-font-backend
>> Starting program: e:\emacs_gcc_std_install\bin\emacs.exe 
>> --disable-font-backend
>> [New thread 3376.0x30c]
>> [New thread 3376.0x388]
>> [New thread 3376.0xd80]
>> [New thread 3376.0xa10]
>> [Switching to thread 3376.0xa10]
>> Quit (expect signal SIGINT when the program is resumed)
>> (gdb) bt
> 
> There's a strange anomaly here: when I do the same, I only see 3
> threads, not 4.  And 3 is what I'd expect: there are 2 threads in a
> normally running Emacs (on Windows): one thread that reads input, the
> other that runs the normal Emacs code.  The third thread is created by
> Windows when you type C-c into the GDB window, because that's how
> Windows handles SIGINT.
> 
> Please tell me when did you see the third thread, announced by this
> line in GDB output:
> 
>> [New thread 3376.0xd80]
> 
> Was it when you typed C-c, or before?
Yes, it is created when I pressed C-c. And I needed press 2 times C-c
sometimes, then I can get back to gdb. Everytime I pressed C-c, there
was a new [New thread...] created. Maybe that because I did not switch
thread 1.

> 
> Also, are you running GDB from a Command Prompt window, or in some
> other manner?
I am running GDB in a normal windows command line.(win-r cmd RET)

> 
>> #0  0x7c810659 in KERNEL32!CreateThread ()
>>    from C:\WINDOWS\system32\kernel32.dll
>> Cannot access memory at address 0x3
>> (gdb) xbacktrace
>> (gdb) backtrace
>> #0  0x7c810659 in KERNEL32!CreateThread ()
>>    from C:\WINDOWS\system32\kernel32.dll
>> Cannot access memory at address 0x3
>> (gdb) c
>> Continuing.
>> [New thread 3376.0xc10]
>> [Switching to thread 3376.0xc10]
>> 0x7c810659 in KERNEL32!CreateThread () from C:\WINDOWS\system32\kernel32.dll
>> Quit (expect signal SIGINT when the program is resumed)
>> (gdb) bt
>> #0  0x7c810659 in KERNEL32!CreateThread ()
>>    from C:\WINDOWS\system32\kernel32.dll
>> #1  0x90909090 in ?? ()
>> #2  0x001165b8 in ?? ()
>> #3  0x0300ba00 in ?? ()
>> #4  0x12ff7ffe in ?? ()
>> #5  0x900004c2 in ?? ()
>> #6  0x90909090 in ?? ()
> 
> Oops, sorry: I forgot to tell you one important detail.  After you
> type C-c into the GDB window, GDB delivers SIGINT to Emacs, and that
> causes Windows to start another thread (see the "New thread" message
> above).  When a new thread is started, GDB automatically switches to
> that thread.  So after typing C-c you are in the thread created by
> Windows to handle SIGINT.  But that thread is not the one whose
> backtrace we need, which is why you see meaningless frames.
> 
> To see an interesting thread, type "thread 1" before "bt".  The first
> thread in the running Emacs is the one where most processing happens.
> (The GDB command "info threads" will show you all the threads GDB
> knows about.)
hehe~ I am stupid. Thanks for your great patient. I will try again.
Emacs kept refreshing the tabbar's right arrow which can be pressed to
move all the tab label left. As I record in the flash show.

---------------------------------------------------------------------
E:\cvs_home\emacs23\emacs\src>gdb e:\emacs_gcc_std_install\bin\emacs.exe
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-mingw32"...
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from
termina
l]
Environment variable "DISPLAY" not defined.
Environment variable "TERM" not defined.
Breakpoint 1 at 0x11b3fe5: file w32fns.c, line 9490.
Breakpoint 2 at 0x10be7de: file sysdep.c, line 1317.
(gdb) r --disable-font-backend
Starting program: e:\emacs_gcc_std_install\bin\emacs.exe
--disable-font-backend
[New thread 4328.0x10f0]
[New thread 4328.0x1548]
[New thread 4328.0x1678]
[New thread 4328.0x85c]
warning: reader_thread.SetEvent failed with 6 for fd -1

[New thread 4328.0x1690]
warning: reader_thread.SetEvent failed with 6 for fd -1

[New thread 4328.0x17a0]
warning: reader_thread.SetEvent failed with 6 for fd -1

[New thread 4328.0x544]
[Switching to thread 4328.0x544]
Quit (expect signal SIGINT when the program is resumed)
(gdb) info thread
* 7 thread 4328.0x544  0x7c810659 in KERNEL32!CreateThread ()
   from C:\WINDOWS\system32\kernel32.dll
  3 thread 4328.0x1678  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
  2 thread 4328.0x1548  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
  1 thread 4328.0x10f0  0x77ef607f in GDI32!CreateCompatibleDC ()
   from C:\WINDOWS\system32\gdi32.dll
(gdb) thread 1
[Switching to thread 1 (thread 4328.0x10f0)]#0  0x77ef607f in
GDI32!CreateCompat
ibleDC () from C:\WINDOWS\system32\gdi32.dll
(gdb) bt
#0  0x77ef607f in GDI32!CreateCompatibleDC ()
   from C:\WINDOWS\system32\gdi32.dll
#1  0x77ef77e0 in GDI32!CreateRectRgn () from C:\WINDOWS\system32\gdi32.dll
#2  0x77ef8294 in GDI32!CreateRectRgnIndirect ()
   from C:\WINDOWS\system32\gdi32.dll
#3  0x011b4115 in w32_set_clip_rectangle (hdc=0xe3011312, rect=0x82ebb0)
    at w32term.c:360
#4  0x011b7f0b in w32_draw_relief_rect (f=0x1e11e00, left_x=356, top_y=0,
    right_x=371, bottom_y=18, width=1, raised_p=1, top_p=1, bot_p=1,
    left_p=1, right_p=0, clip_rect=0x82ebb0) at w32term.c:2277
#5  0x011b85dd in x_draw_glyph_string_box (s=0x82ec70) at w32term.c:2406
#6  0x011b9ed2 in x_draw_glyph_string (s=0x82ec70) at w32term.c:3051
#7  0x0105961f in draw_glyphs (w=0x1a06e00, x=372, row=0x62db000,
    area=TEXT_AREA, start=2, end=3, hl=DRAW_NORMAL_TEXT, overlaps=0)
    at xdisp.c:20135
#8  0x0105eabe in x_write_glyphs (start=0x62ec040, len=1) at xdisp.c:21514
#9  0x010b8887 in update_text_area (w=0x1a06e00, vpos=0) at dispnew.c:4583
#10 0x010b8ae6 in update_window_line (w=0x1a06e00, vpos=0,
    mouse_face_overwritten_p=0x82eef0) at dispnew.c:4684
#11 0x010b8025 in update_window (w=0x1a06e00, force_p=0) at dispnew.c:4336
#12 0x010b763e in update_window_tree (w=0x1a06e00, force_p=0)
    at dispnew.c:4001
#13 0x010b75dd in update_window_tree (w=0x2af4000, force_p=0)
    at dispnew.c:3997
#14 0x010b7436 in update_frame (f=0x1e11e00, force_p=0,
inhibit_hairy_id_p=0)
    at dispnew.c:3929
#15 0x01044725 in redisplay_internal (preserve_echo_area=0) at xdisp.c:11631
#16 0x01042d78 in redisplay () at xdisp.c:10809
#17 0x01008b9f in read_char (commandflag=1, nmaps=10, maps=0x82f9d0,
    prev_event=24381441, used_mouse_menu=0x82fb1c, end_time=0x0)
    at keyboard.c:2687
#18 0x01012570 in read_key_sequence (keybuf=0x82fc60, bufsize=30,
    prompt=24381441, dont_downcase_last=0, can_return_switch_frame=1,
    fix_current_buffer=1) at keyboard.c:9441
#19 0x01006357 in command_loop_1 () at keyboard.c:1653
#20 0x010209ea in internal_condition_case (bfun=0x100602e <command_loop_1>,
    handlers=24445121, hfun=0x1005a2a <cmd_error>) at eval.c:1501
#21 0x01005d93 in command_loop_2 () at keyboard.c:1369
#22 0x010204db in internal_catch (tag=24441193,
    func=0x1005d70 <command_loop_2>, arg=24381441) at eval.c:1237
#23 0x01005d49 in command_loop () at keyboard.c:1348
#24 0x01005646 in recursive_edit_1 () at keyboard.c:957
#25 0x010057aa in Frecursive_edit () at keyboard.c:1019
#26 0x0100279f in main (argc=2, argv=0xa840a0) at emacs.c:1784
(gdb) xbacktrace
(gdb) c
Continuing.
[New thread 4328.0x14ec]
[Switching to thread 4328.0x14ec]
0x7c810659 in KERNEL32!CreateThread () from C:\WINDOWS\system32\kernel32.dll
Quit (expect signal SIGINT when the program is resumed)
(gdb) info thread
* 8 thread 4328.0x14ec  0x7c810659 in KERNEL32!CreateThread ()
   from C:\WINDOWS\system32\kernel32.dll
  3 thread 4328.0x1678  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
  2 thread 4328.0x1548  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
  1 thread 4328.0x10f0  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
(gdb) thread 1
[Switching to thread 1 (thread 4328.0x10f0)]#0  0x7c92eb94 in
ntdll!LdrAccessRes
ource () from C:\WINDOWS\system32\ntdll.dll
(gdb) bt
#0  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
#1  0x77ef7002 in GDI32!BitBlt () from C:\WINDOWS\system32\gdi32.dll
#2  0x011b8896 in x_draw_image_foreground (s=0x82ec70) at w32term.c:2457
#3  0x011b95e7 in x_draw_image_glyph_string (s=0x82ec70) at w32term.c:2782
#4  0x011b9a7b in x_draw_glyph_string (s=0x82ec70) at w32term.c:2932
#5  0x0105961f in draw_glyphs (w=0x1a06e00, x=372, row=0x62db000,
    area=TEXT_AREA, start=2, end=3, hl=DRAW_NORMAL_TEXT, overlaps=0)
    at xdisp.c:20135
#6  0x0105eabe in x_write_glyphs (start=0x62ec040, len=1) at xdisp.c:21514
#7  0x010b8887 in update_text_area (w=0x1a06e00, vpos=0) at dispnew.c:4583
#8  0x010b8ae6 in update_window_line (w=0x1a06e00, vpos=0,
    mouse_face_overwritten_p=0x82eef0) at dispnew.c:4684
#9  0x010b8025 in update_window (w=0x1a06e00, force_p=0) at dispnew.c:4336
#10 0x010b763e in update_window_tree (w=0x1a06e00, force_p=0)
    at dispnew.c:4001
#11 0x010b75dd in update_window_tree (w=0x2af4000, force_p=0)
    at dispnew.c:3997
#12 0x010b7436 in update_frame (f=0x1e11e00, force_p=0,
inhibit_hairy_id_p=0)
    at dispnew.c:3929
#13 0x01044725 in redisplay_internal (preserve_echo_area=0) at xdisp.c:11631
#14 0x01042d78 in redisplay () at xdisp.c:10809
#15 0x01008b9f in read_char (commandflag=1, nmaps=10, maps=0x82f9d0,
    prev_event=24381441, used_mouse_menu=0x82fb1c, end_time=0x0)
    at keyboard.c:2687
#16 0x01012570 in read_key_sequence (keybuf=0x82fc60, bufsize=30,
    prompt=24381441, dont_downcase_last=0, can_return_switch_frame=1,
    fix_current_buffer=1) at keyboard.c:9441
#17 0x01006357 in command_loop_1 () at keyboard.c:1653
#18 0x010209ea in internal_condition_case (bfun=0x100602e <command_loop_1>,
    handlers=24445121, hfun=0x1005a2a <cmd_error>) at eval.c:1501
#19 0x01005d93 in command_loop_2 () at keyboard.c:1369
#20 0x010204db in internal_catch (tag=24441193,
    func=0x1005d70 <command_loop_2>, arg=24381441) at eval.c:1237
#21 0x01005d49 in command_loop () at keyboard.c:1348
#22 0x01005646 in recursive_edit_1 () at keyboard.c:957
#23 0x010057aa in Frecursive_edit () at keyboard.c:1019
#24 0x0100279f in main (argc=2, argv=0xa840a0) at emacs.c:1784
(gdb) thread 2
[Switching to thread 2 (thread 4328.0x1548)]#0  0x7c92eb94 in
ntdll!LdrAccessRes
ource () from C:\WINDOWS\system32\ntdll.dll
(gdb) bt
#0  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
#1  0x77d191be in USER32!GetProcessWindowStation ()
   from C:\WINDOWS\system32\user32.dll
#2  0x77d2e042 in USER32!GetMessageA () from C:\WINDOWS\system32\user32.dll
#3  0x011a70cc in w32_msg_pump (msg_buf=0x20b1ff4c) at w32fns.c:2545
#4  0x011a75fc in w32_msg_worker (arg=0x0) at w32fns.c:2764
#5  0x7c80b683 in KERNEL32!GetModuleFileNameA ()
   from C:\WINDOWS\system32\kernel32.dll
#6  0x00000000 in ?? ()
(gdb) thread 3
[Switching to thread 3 (thread 4328.0x1678)]#0  0x7c92eb94 in
ntdll!LdrAccessRes
ource () from C:\WINDOWS\system32\ntdll.dll
(gdb) bt
#0  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
#1  0x7c92e9c0 in ntdll!ZwWaitForSingleObject ()
   from C:\WINDOWS\system32\ntdll.dll
#2  0x7c8025cb in WaitForSingleObjectEx ()
   from C:\WINDOWS\system32\kernel32.dll
#3  0x00000630 in ?? ()
#4  0x00000000 in ?? ()
(gdb) c
Continuing.
[New thread 4328.0x1498]
[Switching to thread 4328.0x1498]
0x7c810659 in KERNEL32!CreateThread () from C:\WINDOWS\system32\kernel32.dll
Quit (expect signal SIGINT when the program is resumed)
(gdb) thread 1
[Switching to thread 1 (thread 4328.0x10f0)]#0  0x7c92eb94 in
ntdll!LdrAccessRes
ource () from C:\WINDOWS\system32\ntdll.dll
(gdb) bt
#0  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
#1  0x77ef7002 in GDI32!BitBlt () from C:\WINDOWS\system32\gdi32.dll
#2  0x011b883c in x_draw_image_foreground (s=0x82ec70) at w32term.c:2455
#3  0x011b95e7 in x_draw_image_glyph_string (s=0x82ec70) at w32term.c:2782
#4  0x011b9a7b in x_draw_glyph_string (s=0x82ec70) at w32term.c:2932
#5  0x0105961f in draw_glyphs (w=0x1a06e00, x=372, row=0x62db000,
    area=TEXT_AREA, start=2, end=3, hl=DRAW_NORMAL_TEXT, overlaps=0)
    at xdisp.c:20135
#6  0x0105eabe in x_write_glyphs (start=0x62ec040, len=1) at xdisp.c:21514
#7  0x010b8887 in update_text_area (w=0x1a06e00, vpos=0) at dispnew.c:4583
#8  0x010b8ae6 in update_window_line (w=0x1a06e00, vpos=0,
    mouse_face_overwritten_p=0x82eef0) at dispnew.c:4684
#9  0x010b8025 in update_window (w=0x1a06e00, force_p=0) at dispnew.c:4336
#10 0x010b763e in update_window_tree (w=0x1a06e00, force_p=0)
    at dispnew.c:4001
#11 0x010b75dd in update_window_tree (w=0x2af4000, force_p=0)
    at dispnew.c:3997
#12 0x010b7436 in update_frame (f=0x1e11e00, force_p=0,
inhibit_hairy_id_p=0)
    at dispnew.c:3929
#13 0x01044725 in redisplay_internal (preserve_echo_area=0) at xdisp.c:11631
#14 0x01042d78 in redisplay () at xdisp.c:10809
#15 0x01008b9f in read_char (commandflag=1, nmaps=10, maps=0x82f9d0,
    prev_event=24381441, used_mouse_menu=0x82fb1c, end_time=0x0)
    at keyboard.c:2687
#16 0x01012570 in read_key_sequence (keybuf=0x82fc60, bufsize=30,
    prompt=24381441, dont_downcase_last=0, can_return_switch_frame=1,
    fix_current_buffer=1) at keyboard.c:9441
#17 0x01006357 in command_loop_1 () at keyboard.c:1653
#18 0x010209ea in internal_condition_case (bfun=0x100602e <command_loop_1>,
    handlers=24445121, hfun=0x1005a2a <cmd_error>) at eval.c:1501
#19 0x01005d93 in command_loop_2 () at keyboard.c:1369
#20 0x010204db in internal_catch (tag=24441193,
    func=0x1005d70 <command_loop_2>, arg=24381441) at eval.c:1237
#21 0x01005d49 in command_loop () at keyboard.c:1348
#22 0x01005646 in recursive_edit_1 () at keyboard.c:957
#23 0x010057aa in Frecursive_edit () at keyboard.c:1019
#24 0x0100279f in main (argc=2, argv=0xa840a0) at emacs.c:1784
(gdb) c
Continuing.
[New thread 4328.0xce4]
[Switching to thread 4328.0xce4]
0x7c810659 in KERNEL32!CreateThread () from C:\WINDOWS\system32\kernel32.dll
Quit (expect signal SIGINT when the program is resumed)
(gdb) thread 1
[Switching to thread 1 (thread 4328.0x10f0)]#0  0x7c92eb94 in
ntdll!LdrAccessRes
ource () from C:\WINDOWS\system32\ntdll.dll
(gdb) bt
#0  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
#1  0x77ef7002 in GDI32!BitBlt () from C:\WINDOWS\system32\gdi32.dll
#2  0x011b88f0 in x_draw_image_foreground (s=0x82ec70) at w32term.c:2459
#3  0x011b95e7 in x_draw_image_glyph_string (s=0x82ec70) at w32term.c:2782
#4  0x011b9a7b in x_draw_glyph_string (s=0x82ec70) at w32term.c:2932
#5  0x0105961f in draw_glyphs (w=0x1a06e00, x=372, row=0x62db000,
    area=TEXT_AREA, start=2, end=3, hl=DRAW_NORMAL_TEXT, overlaps=0)
    at xdisp.c:20135
#6  0x0105eabe in x_write_glyphs (start=0x62ec040, len=1) at xdisp.c:21514
#7  0x010b8887 in update_text_area (w=0x1a06e00, vpos=0) at dispnew.c:4583
#8  0x010b8ae6 in update_window_line (w=0x1a06e00, vpos=0,
    mouse_face_overwritten_p=0x82eef0) at dispnew.c:4684
#9  0x010b8025 in update_window (w=0x1a06e00, force_p=0) at dispnew.c:4336
#10 0x010b763e in update_window_tree (w=0x1a06e00, force_p=0)
    at dispnew.c:4001
#11 0x010b75dd in update_window_tree (w=0x2af4000, force_p=0)
    at dispnew.c:3997
#12 0x010b7436 in update_frame (f=0x1e11e00, force_p=0,
inhibit_hairy_id_p=0)
    at dispnew.c:3929
#13 0x01044725 in redisplay_internal (preserve_echo_area=0) at xdisp.c:11631
#14 0x01042d78 in redisplay () at xdisp.c:10809
#15 0x01008b9f in read_char (commandflag=1, nmaps=10, maps=0x82f9d0,
    prev_event=24381441, used_mouse_menu=0x82fb1c, end_time=0x0)
    at keyboard.c:2687
#16 0x01012570 in read_key_sequence (keybuf=0x82fc60, bufsize=30,
    prompt=24381441, dont_downcase_last=0, can_return_switch_frame=1,
    fix_current_buffer=1) at keyboard.c:9441
#17 0x01006357 in command_loop_1 () at keyboard.c:1653
#18 0x010209ea in internal_condition_case (bfun=0x100602e <command_loop_1>,
    handlers=24445121, hfun=0x1005a2a <cmd_error>) at eval.c:1501
#19 0x01005d93 in command_loop_2 () at keyboard.c:1369
#20 0x010204db in internal_catch (tag=24441193,
    func=0x1005d70 <command_loop_2>, arg=24381441) at eval.c:1237
#21 0x01005d49 in command_loop () at keyboard.c:1348
#22 0x01005646 in recursive_edit_1 () at keyboard.c:957
#23 0x010057aa in Frecursive_edit () at keyboard.c:1019
#24 0x0100279f in main (argc=2, argv=0xa840a0) at emacs.c:1784
(gdb) thread 2
[Switching to thread 2 (thread 4328.0x1548)]#0  0x7c92eb94 in
ntdll!LdrAccessRes
ource () from C:\WINDOWS\system32\ntdll.dll
(gdb) bt
#0  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
#1  0x77d191be in USER32!GetProcessWindowStation ()
   from C:\WINDOWS\system32\user32.dll
#2  0x77d2e042 in USER32!GetMessageA () from C:\WINDOWS\system32\user32.dll
#3  0x011a70cc in w32_msg_pump (msg_buf=0x20b1ff4c) at w32fns.c:2545
#4  0x011a75fc in w32_msg_worker (arg=0x0) at w32fns.c:2764
#5  0x7c80b683 in KERNEL32!GetModuleFileNameA ()
   from C:\WINDOWS\system32\kernel32.dll
#6  0x00000000 in ?? ()
(gdb) thread 3
[Switching to thread 3 (thread 4328.0x1678)]#0  0x7c92eb94 in
ntdll!LdrAccessRes
ource () from C:\WINDOWS\system32\ntdll.dll
(gdb) bt
#0  0x7c92eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
#1  0x7c92e9c0 in ntdll!ZwWaitForSingleObject ()
   from C:\WINDOWS\system32\ntdll.dll
#2  0x7c8025cb in WaitForSingleObjectEx ()
   from C:\WINDOWS\system32\kernel32.dll
#3  0x00000630 in ?? ()
#4  0x00000000 in ?? ()
(gdb)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]