Subject: bug#14333: 24.3.50; Emacs hangs when trying to exit

From: Dani Moncayo <[email-masked]>
Date: Fri, 12 Sep 2014 08:14:40 +0200

>>  If you experience these hangs when running Emacs locally,
>> could you perhaps show a couple of instances of stack traces of all
>> the threads when Emacs hangs in a local session?
>
> I will the next time I get a hung session.

...and here is the stack traces:

On 2014/09/11, with this binary:

  In GNU Emacs 24.3.93.1 (i686-pc-mingw32)
   of 2014-08-25 on MW7G474MYRXUPA
  Windowing system distributor `Microsoft Corp.', version 6.1.7601
  Configured using:
   `configure --enable-checking 'CFLAGS=-O0 -g3' CPPFLAGS=-DGLYPH_DEBUG=1'

This is the official 24.3.93 pre-release, plus the patch you told me
(comment out the call to term_winsock in term_ntproc).

The program hung while trying to exit (C-x C-c).

Here is some info about the Emacs threads at that moment, retrieved
using Process Explorer:

TID: 824
STATE: Wait:UserRequest
CALL STACK:
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x6c0
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x4a8
wow64.dll!Wow64SystemServiceEx+0x1ce
wow64.dll!Wow64LdrpInitialize+0x42a
ntdll.dll!TpAlpcRegisterCompletionList+0x7f8b
ntdll.dll!LdrInitializeThunk+0xe
ntdll.dll!NtWaitForSingleObject+0x15
ntdll.dll!RtlIntegerToUnicodeString+0x20b
ntdll.dll!LdrShutdownThread+0x50
ntdll.dll!RtlExitUserThread+0x2a
ntdll.dll!RtlInitializeExceptionChain+0x63
ntdll.dll!RtlInitializeExceptionChain+0x36

TID: 3988
STATE: Wait:WrUserRequest
CALL STACK:
wow64win.dll+0x3fe3a
wow64win.dll+0x1aeac
wow64.dll!Wow64SystemServiceEx+0xd7
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x2d
wow64.dll!Wow64SystemServiceEx+0x1ce
wow64.dll!Wow64LdrpInitialize+0x42a
ntdll.dll!TpAlpcRegisterCompletionList+0x7f8b
ntdll.dll!LdrInitializeThunk+0xe
USER32.dll!DispatchMessageW+0x5c
emacs.exe+0x1f6234  w32_msg_pump at w32fns.c:2450
emacs.exe+0x1f6472  w32_msg_worker@4 at w32fns.c:2678
ntdll.dll!RtlInitializeExceptionChain+0x63
ntdll.dll!RtlInitializeExceptionChain+0x36

TID: 4992
STATE: Wait:UserRequest
CALL STACK:
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x6c0
wow64cpu.dll!TurboDispatchJumpAddressEnd+0xf5
wow64.dll!Wow64SystemServiceEx+0x1ce
wow64.dll!Wow64LdrpInitialize+0x42a
ntdll.dll!TpAlpcRegisterCompletionList+0x7f8b
ntdll.dll!LdrInitializeThunk+0xe
ntdll.dll!NtWaitForMultipleObjects+0x15
kernel32.dll!BaseThreadInitThunk+0x12
ntdll.dll!RtlInitializeExceptionChain+0x63
ntdll.dll!RtlInitializeExceptionChain+0x36

TID: 5268
STATE: Wait:UserRequest
CALL STACK:
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x6c0
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x4a8
wow64.dll!Wow64SystemServiceEx+0x1ce
wow64.dll!Wow64LdrpInitialize+0x42a
ntdll.dll!RtlUniform+0x6e6
ntdll.dll!MD5Final+0x21e83
ntdll.dll!LdrInitializeThunk+0xe
ntdll.dll!NtWaitForSingleObject+0x15
ntdll.dll!RtlIntegerToUnicodeString+0x20b
ntdll.dll!LdrGetDllHandleEx+0x29b
ntdll.dll!LdrGetDllHandle+0x18
ntdll.dll!RtlDetermineDosPathNameType_U+0x1fa
KERNELBASE.dll!GetModuleFileNameW+0x3bd
KERNELBASE.dll!GetModuleHandleW+0x29
KERNELBASE.dll!GetModuleHandleA+0x34
emacs.exe+0x135a     ?? at cygming-crtbegin.c:0
emacs.exe+0xf6827    shut_down_emacs at emacs.c:1991
emacs.exe+0xf2238    SUBRP at lisp.h:2471
emacs.exe+0xf0add    XSUBR at lisp.h:914
emacs.exe+0x185bcf   Ffuncall at eval.c:2815
emacs.exe+0x1c685c   exec_byte_code at bytecode.c:916
emacs.exe+0x1863b1   funcall_lambda at eval.c:2983
emacs.exe+0x185e0b   Ffuncall at eval.c:2864
emacs.exe+0x1c685c   exec_byte_code at bytecode.c:916
emacs.exe+0x1863b1   funcall_lambda at eval.c:2983
emacs.exe+0x185e0b   Ffuncall at eval.c:2864
emacs.exe+0x17f3b3   Fcall_interactively at callint.c:836
emacs.exe+0x185c24   Ffuncall at eval.c:2822
emacs.exe+0x1c685c   exec_byte_code at bytecode.c:916
emacs.exe+0x1863b1   funcall_lambda at eval.c:2983
emacs.exe+0x185e0b   Ffuncall at eval.c:2864
emacs.exe+0x1856ba   call1 at eval.c:2614
emacs.exe+0xf9001    command_loop_1 at keyboard.c:1567
emacs.exe+0x182b2f   internal_condition_case at eval.c:1354
emacs.exe+0xf8652    command_loop_2 at keyboard.c:1177
emacs.exe+0x1820dc   internal_catch at eval.c:1118
emacs.exe+0xf860a    command_loop at keyboard.c:1157
emacs.exe+0xf7da0    recursive_edit_1 at keyboard.c:777
emacs.exe+0xf7f5c    Frecursive_edit at keyboard.c:849
emacs.exe+0xf615f    main at emacs.c:1648
emacs.exe+0x10b9     __mingw_CRTStartup at crt1.c:244
emacs.exe+0x1284     WinMainCRTStartup at crt1.c:274
emacs.exe+0x1c422c   _start at unexw32.c:125
kernel32.dll!BaseThreadInitThunk+0x12
ntdll.dll!RtlInitializeExceptionChain+0x63
ntdll.dll!RtlInitializeExceptionChain+0x36

-- 
Dani Moncayo