Subject: 24.2.50; Emacs seems to hang at w32proc.c:1126

From: Stephen Powell <[email-masked]>
Date: Wed, 05 Dec 2012 07:22:29 +0000

I'm using a checkout of the latest trunk.  While reading mail in gnus
emacs seems to hang using 100% cpu.  It is easy to reproduce.  I have a
live gdb session with the hang.

This is the gdb log:

(gdb) info threads

  Id   Target Id         Frame
* 8    Thread 7752.0x41c 0x776a000d in ntdll!LdrFindResource_U ()
   from C:\Windows\SysWOW64\ntdll.dll
  7    Thread 7752.0x1b24 0x776af8b1 in ntdll!RtlUpdateClonedSRWLock ()
   from C:\Windows\SysWOW64\ntdll.dll
  6    Thread 7752.0x18dc 0x776af8e5 in ntdll!RtlUpdateClonedSRWLock ()
   from C:\Windows\SysWOW64\ntdll.dll
  5    Thread 7752.0x1804 0x776af8b1 in ntdll!RtlUpdateClonedSRWLock ()
   from C:\Windows\SysWOW64\ntdll.dll
  4    Thread 7752.0x16cc 0x751078d7 in USER32!IsDialogMessage ()
   from C:\Windows\syswow64\user32.dll
  3    Thread 7752.0x11d0 0x776afd71 in ntdll!RtlFindSetBits ()
   from C:\Windows\SysWOW64\ntdll.dll
  2    Thread 7752.0x1784 0x776b013d in
ntdll!RtlEnableEarlyCriticalSectionEventCreation ()
   from C:\Windows\SysWOW64\ntdll.dll
  1    Thread 7752.0x1bb0 waitpid (pid=5528, status=0x0, options=1) at
w32proc.c:1126

(gdb) thread apply all bt full

Thread 8 (Thread 7752.0x41c):
#0  0x776a000d in ntdll!LdrFindResource_U () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#1  0x7772f896 in ntdll!RtlQueryTimeZoneInformation () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#2  0x00960fb2 in ?? ()
No symbol table info available.
#3  0x752033aa in KERNEL32!BaseCleanupAppcompatCacheSupport ()
   from C:\Windows\syswow64\kernel32.dll
No symbol table info available.
#4  0x6d4bffd4 in ?? ()
No symbol table info available.
#5  0x776c9ef2 in ntdll!RtlpNtSetValueKey () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#6  0x00000000 in ?? ()
No symbol table info available.

Thread 7 (Thread 7752.0x1b24):
#0  0x776af8b1 in ntdll!RtlUpdateClonedSRWLock () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#1  0x776af8b1 in ntdll!RtlUpdateClonedSRWLock () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#2  0x74686f0f in ?? () from C:\Windows\System32\mswsock.dll
No symbol table info available.
#3  0x746876a6 in ?? () from C:\Windows\System32\mswsock.dll
No symbol table info available.
#4  0x755e6b87 in WSAAddressToStringW () from C:\Windows\syswow64\ws2_32.dll
No symbol table info available.
#5  0x0105f78e in _sys_read_ahead (fd=5) at w32.c:6115
        nblock = 0
        cp = 0x144aaf0
        rc = 0
#6  0x01022520 in reader_thread (arg=0x144aaf0) at w32proc.c:952
        rc = 3
        cp = 0x144aaf0
#7  0x752033aa in KERNEL32!BaseCleanupAppcompatCacheSupport ()
   from C:\Windows\syswow64\kernel32.dll
No symbol table info available.
#8  0x00c9ffd4 in ?? ()
No symbol table info available.
#9  0x776c9ef2 in ntdll!RtlpNtSetValueKey () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#10 0x0144aaf0 in child_procs ()
No symbol table info available.
#11 0x6d140fee in ?? ()
No symbol table info available.
#12 0x00000000 in ?? ()
No symbol table info available.

Thread 6 (Thread 7752.0x18dc):
#0  0x776af8e5 in ntdll!RtlUpdateClonedSRWLock () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#1  0x776af8e5 in ntdll!RtlUpdateClonedSRWLock () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#2  0x7539dd54 in ReadFile () from C:\Windows\syswow64\KernelBase.dll
No symbol table info available.
#3  0x00000314 in ?? ()
No symbol table info available.
#4  0x00000000 in ?? ()
No symbol table info available.

Thread 5 (Thread 7752.0x1804):
#0  0x776af8b1 in ntdll!RtlUpdateClonedSRWLock () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#1  0x776af8b1 in ntdll!RtlUpdateClonedSRWLock () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#2  0x753a149d in WaitForSingleObjectEx () from
C:\Windows\syswow64\KernelBase.dll
No symbol table info available.
#3  0x00000304 in ?? ()
No symbol table info available.
#4  0x00000000 in ?? ()
No symbol table info available.

Thread 4 (Thread 7752.0x16cc):
#0  0x751078d7 in USER32!IsDialogMessage () from
C:\Windows\syswow64\user32.dll
No symbol table info available.
#1  0x751078d7 in USER32!IsDialogMessage () from
C:\Windows\syswow64\user32.dll
No symbol table info available.
#2  0x7510790d in USER32!GetCursorPos () from C:\Windows\syswow64\user32.dll
No symbol table info available.
#3  0x6bb2fec0 in ?? ()
No symbol table info available.
#4  0x010e4717 in w32_msg_pump (msg_buf=0x6bb2ff28) at w32fns.c:2394
        msg = {
          hwnd = 0x40916,
          message = 49478,
          wParam = 0,
          lParam = 0,
          time = 447382693,
          pt = {
            x = 322,
            y = 1112
          }
        }
        result = 0
        focus_window = 0x403
#5  0x010e4955 in w32_msg_worker@4 (arg=0x0) at w32fns.c:2620
        msg = {
          hwnd = 0x0,
          message = 0,
          wParam = 0,
          lParam = 0,
          time = 0,
          pt = {
            x = 0,
            y = 0
          }
        }
        dummy_buf = {
          next = 0x0,
          w32msg = {
            msg = {
              hwnd = 0x0,
              message = 0,
              wParam = 0,
              lParam = 0,
              time = 0,
              pt = {
                x = 0,
                y = 0
              }
            },
            dwModifiers = 0,
            rect = {
              left = 0,
              top = 0,
              right = 0,
              bottom = 0
            }
          },
          result = 0,
          completed = 0
        }
#6  0x752033aa in KERNEL32!BaseCleanupAppcompatCacheSupport ()
   from C:\Windows\syswow64\kernel32.dll
No symbol table info available.
#7  0x6bb2ffd4 in ?? ()
No symbol table info available.
#8  0x776c9ef2 in ntdll!RtlpNtSetValueKey () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#9  0x00000000 in ?? ()
No symbol table info available.

Thread 3 (Thread 7752.0x11d0):
#0  0x776afd71 in ntdll!RtlFindSetBits () from C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#1  0x753a3bc8 in SleepEx () from C:\Windows\syswow64\KernelBase.dll
No symbol table info available.
#2  0x00000000 in ?? ()
No symbol table info available.

Thread 2 (Thread 7752.0x1784):
#0  0x776b013d in ntdll!RtlEnableEarlyCriticalSectionEventCreation ()
   from C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#1  0x776b013d in ntdll!RtlEnableEarlyCriticalSectionEventCreation ()
   from C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#2  0x776e2f51 in ntdll!RtlWeaklyEnumerateEntryHashTable () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#3  0x00000003 in ?? ()
No symbol table info available.
#4  0x00cfb2f8 in ?? ()
No symbol table info available.
#5  0x752033aa in KERNEL32!BaseCleanupAppcompatCacheSupport ()
   from C:\Windows\syswow64\kernel32.dll
No symbol table info available.
#6  0x6b17ffd4 in ?? ()
No symbol table info available.
#7  0x776c9ef2 in ntdll!RtlpNtSetValueKey () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#8  0x00cfb2c8 in ?? ()
No symbol table info available.
#9  0x776c9ec5 in ntdll!RtlpNtSetValueKey () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#10 0x776e2e25 in ntdll!RtlWeaklyEnumerateEntryHashTable () from
C:\Windows\SysWOW64\ntdll.dll
No symbol table info available.
#11 0x00cfb2c8 in ?? ()
No symbol table info available.
#12 0x00000000 in ?? ()
No symbol table info available.

Thread 1 (Thread 7752.0x1bb0):
#0  waitpid (pid=5528, status=0x0, options=1) at w32proc.c:1126
        active = 0
        retval = 1
        nh = 0
        cp = 0x144a9e8
        cps = {0x6d550152, 0x9, 0xcc01b4, 0x0, 0xcc0000, 0xd01cc0,
0x140027, 0x5a40,
          0x1a0026, 0x5a40, 0x33267da <__register_frame_info+53635034>,
          0x3315832 <__register_frame_info+53565490>, 0xe0028, 0xd01c18,
0x1, 0xd01cb8,
          0x88f13c, 0x776be023 <ntdll!LdrWx86FormatVirtualImage+679>,
0x9, 0x88f1a4,
          0xd01cc0, 0xd01cb8, 0x88f1d0, 0x753a161b
<WaitForMultipleObjectsEx+306>, 0xcc0000,
          0x0, 0x753a1654 <WaitForMultipleObjectsEx+363>, 0x279bba63,
0x9, 0xd01cb0,
          0xd01c90, 0x24}
        wait_hnd = {0x1, 0x88f0a8, 0x11d8ff1 <get_next_msg+550>,
0x144df8c, 0x140027, 0x5a40,
          0x33267d8 <__register_frame_info+53635032>,
          0x370522a <__register_frame_info+57692714>, 0xcc9438,
0x88f0a8, 0x24, 0x0, 0x0,
          0xce7128, 0xcc9128, 0xcc924c, 0xd01cc0, 0xcc9658, 0x11c37d6
<w32_read_socket+5951>,
          0x88f044, 0x0, 0x88f1c0, 0x777071d5
<ntdll!AlpcMaxAllowedMessageLength+36229>,
          0x1ab62262, 0xfffffffe, 0x776be38c
<ntdll!LdrWx86FormatVirtualImage+1552>,
          0x776be0f2 <ntdll!LdrWx86FormatVirtualImage+886>, 0x0, 0x9,
0xd01c90,
          0x33267d8 <__register_frame_info+53635032>,
          0x776be38c <ntdll!LdrWx86FormatVirtualImage+1552>}
        timeout_ms = 0
        dont_wait = 1
#1  0x010e04ab in get_child_status (child=5528, status=0x0, options=1,
interruptible=false)
    at sysdep.c:290
        pid = -1
#2  0x010e054b in child_status_changed (child=5528, status=0x0,
options=0) at sysdep.c:333
No locals.
#3  0x0101f1b9 in handle_child_signal (sig=18) at process.c:6236
        deleted_pid = 5528
        all_pids_are_fixnums = false
        xpid = 22112
        tail = 92692214
#4  0x010e10cf in deliver_process_signal (sig=18, handler=0x101f118
<handle_child_signal>)
    at sysdep.c:1579
        old_errno = 0
        on_main_thread = true
#5  0x0101f3a3 in deliver_child_signal (sig=18) at process.c:6277
No locals.
#6  0x01023acd in sys_select (nfds=7, rfds=0x88f674, wfds=0x0, efds=0x0,
timeout=0x88f664,
    ignored=0x0) at w32proc.c:2032
        orfds = {
          bits = {121, 0}
        }
        timeout_ms = 189
        start_time = 447287689
        i = 7
        nh = 6
        nc = 2
        nr = 1
        active = 6
        cp = 0x144ab48
        cps = {0x144ab48, 0x144aa98, 0x6d6, 0x15846c40, 0x0, 0xb43e940,
0x0,
          0x35e2750 <__register_frame_info+56502096>, 0x7, 0x1, 0x88f5b8,
          0x102f0ae <gobble_input+294>, 0x34c0ee0
<__register_frame_info+55316192>, 0x88f574,
          0x24, 0x31, 0x26165dc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5277405,
          0x0, 0x0, 0x0, 0x0, 0x0}
        wait_hnd = {0x1e4, 0x1e0, 0x2ec, 0x340, 0x318, 0x124, 0x198,
0x30c, 0x7, 0x1,
          0x88f418, 0x11d8ff1 <get_next_msg+550>, 0x144df8c, 0x0, 0x10,
0x0, 0x5b06f40,
          0x88f40c, 0x88f418, 0x102f4c6 <unblock_input+22>, 0x0,
0x279dd5f7, 0x88f438, 0x0,
          0x708, 0x0, 0x88f558, 0x11c37d6 <w32_read_socket+5951>,
0x88f4b8, 0x0, 0xa5,
          0x1040001 <Finsert_file_contents+10749>, 0x18,
          0x331581a <__register_frame_info+53565466>, 0x88f468, 0x0,
0x0, 0x0, 0x708, 0x0,
          0x0, 0x88f4d0, 0x88f498, 0x102b3d1 <decode_timer+156>, 0x6d6,
0x15846c40,
          0xd9e9a240, 0x15846c40, 0x31, 0x6d6, 0x88f498, 0x10e0200
<EMACS_TIME_LT+38>, 0x0,
          0x279dd577, 0x88f4b8, 0x1058a20 <gettimeofday+17>, 0x708, 0x0,
0x88f4d8,
          0x10aced1 <decode_time_components+543>, 0x708, 0x0, 0xa5,
          0x1040001 <Finsert_file_contents+10749>, 0x18,
          0x331581a <__register_frame_info+53565466>, 0x88f4e8, 0x0,
0x0, 0x0, 0x708, 0x0,
          0x0, 0x88f550, 0x88f518, 0x102b3d1 <decode_timer+156>, 0x6d6,
0x15846c40,
          0xd9e9a240, 0x15846c40, 0x31, 0x6d6, 0x88f518, 0x10e0200
<EMACS_TIME_LT+38>, 0x0,
          0xb43e940, 0x6d6, 0x15846c40, 0x7, 0x1, 0x88f5a8, 0x102b714
<timer_check_2+828>,
          0x0, 0xb43e940, 0x6d6, 0x144df00}
        fdindex = {-1, 0, 3, 4, 5, 6, 0, 9, 53565466, 64, 8975112,
17756670, 0, 95461478,
          86471685, 53565490, 57693122, 0, 1000000, 95448640, 0, 0,
8975160, 1992716691,
          664654535, 0, 8975396, 7, 8975396, 839487998, 1992788202,
839487998, 3154135,
          10000000, 0, 7, 64, 1992788219, 216652739, 122163710,
30266038, 0, 95297760,
          95448896, 8975252, 2003599699, 8975256, 16854003, 95448832,
13641448, 8975248,
          2003558435, 1, 95448640, 95448672, 1992716691, 664654407, 0,
8975524, 7, 8975524,
          839487998, 1992788202, 839487998}
#7  0x0101cab9 in wait_reading_process_output (time_limit=0, nsecs=0,
read_kbd=-1,
    do_display=true, wait_for_cell=53565466, wait_proc=0x0,
just_wait_proc=0)
    at process.c:4544
        timeout_reduced_for_timers = 1
        channel = 7
        nfds = 1
        Available = {
          bits = {64, 0}
        }
        Writeok = {
          bits = {0, 0}
        }
        check_write = 0
        check_delay = 2
        no_avail = 0
        xerrno = 0
        proc = 93645125
        timeout = {
          tv_sec = 0,
          tv_nsec = 189000000
        }
        end_time = {
          tv_sec = 310000000,
          tv_nsec = 1800
        }
        wait_channel = -1
        got_some_input = 1
        count = 2
#8  0x0102aa7e in kbd_buffer_get_event (kbp=0x88f7bc,
used_mouse_menu=0x88fa53, end_time=0x0)
    at keyboard.c:3784
        obj = 16949402
#9  0x01028e14 in read_char (commandflag=1, nmaps=8, maps=0x88f960,
prev_event=53565466,
    used_mouse_menu=0x88fa53, end_time=0x0) at keyboard.c:2756
        kb = 0x1
        c = 53565466
        jmpcount = 2
        local_getcjmp = {8976632, 0, 0, 0, 8976268, 16942778, 8978372,
0, 8976676, 16800372,
          53670346, 53565466, 53593690, 53565442, 8976800, 53670466}
        save_jump = {0 <repeats 16 times>}
        tem = 18913693
        save = 84664620
        previous_echo_area_message = 53565466
        also_record = 53565466
        reread = false
        gcpro1 = {
          next = 0x88f800,
          var = 0x331c65a <__register_frame_info+53593690>,
          nvars = 8976376
        }
        gcpro2 = {
          next = 0x3335eea <__register_frame_info+53698282>,
          var = 0x331581a <__register_frame_info+53565466>,
          nvars = 53565466
        }
        polling_stopped_here = true
        orig_kboard = 0x3318680 <__register_frame_info+53577344>
#10 0x01032c44 in read_key_sequence (keybuf=0x88fbd0, bufsize=30,
prompt=53565466,
    dont_downcase_last=false, can_return_switch_frame=true,
fix_current_buffer=true)
    at keyboard.c:9201
        interrupted_kboard = 0x3318680 <__register_frame_info+53577344>
        interrupted_frame = 0x35e2750 <__register_frame_info+56502096>
        key = 53565466
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        local_first_binding = 0
        from_string = 53565466
        count = 2
        t = 0
        echo_start = 0
        keys_start = 0
        nmaps = 8
        nmaps_allocated = 8
        defs = 0x88f920
        submaps = 0x88f960
        orig_local_map = 81398110
        orig_keymap = 53565466
        localized_local_map = 0
        first_binding = 0
        first_unbound = 31
        mock_input = 0
        fkey = {
          parent = 57361686,
          map = 57361686,
          start = 0,
          end = 0
        }
        keytran = {
          parent = 53554886,
          map = 53554886,
          start = 0,
          end = 0
        }
        indec = {
          parent = 57361678,
          map = 57361678,
          start = 0,
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = 53565466
        original_uppercase = 53635034
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x5a24600
        fake_prefixed_keys = 53565466
        gcpro1 = {
          next = 0x88faa8,
          var = 0x10056fe <set_internal+945>,
          nvars = 20976016
        }
#11 0x01026a27 in command_loop_1 () at keyboard.c:1448
        cmd = 81168962
        keybuf = {440, 456, 432, 20757259, 56502096, 53565466, 53565466,
18921393, 8977624,
          8977628, 8977448, 16933724, 90330742, 53565490, 8977487,
53565466, 53670346,
          53565466, 8977448, 56502096, 53577344, 2130567168, 8977544,
16933296, 90330742,
          8977487, 8977512, 16829167, 2, 55249086}
        i = 1
        prev_modiff = 99
        prev_buffer = 0x595a200
        already_adjusted = false
#12 0x0100b9ee in internal_condition_case (bfun=0x10266c4 <command_loop_1>,
    handlers=53615762, hfun=0x1026093 <cmd_error>) at eval.c:1192
        val = 55249086
        c = {
          tag = 53565466,
          val = 53565466,
          next = 0x88fd74,
          gcpro = 0x0,
          jmp = {8977720, 0, 0, 0, 8977548, 16824731, 8978372, 0, 2, 2,
1992732168, 8977624,
            8977704, 8977768, 1992740619, 8977704},
          backlist = 0x0,
          handlerlist = 0x0,
          lisp_eval_depth = 0,
          pdlcount = 2,
          poll_suppress_count = 0,
          interrupt_input_blocked = 0,
          byte_stack = 0x0
        }
        h = {
          handler = 53615762,
          var = 53565466,
          chosen_clause = 53565490,
          tag = 0x88fcc0,
          next = 0x0
        }
#13 0x0102643c in command_loop_2 (ignore=53565466) at keyboard.c:1163
        val = 0
#14 0x0100b565 in internal_catch (tag=53605618, func=0x1026418
<command_loop_2>, arg=53565466)
    at eval.c:963
        c = {
          tag = 53605618,
          val = 53565466,
          next = 0x0,
          gcpro = 0x0,
          jmp = {8977896, 2130567168, 0, 0, 8977756, 16823638, 8978372,
0, 53565466,
            53591552, 10623408, 10618832, 2130567168, 8977896, 16798209,
21265788},
          backlist = 0x0,
          handlerlist = 0x0,
          lisp_eval_depth = 0,
          pdlcount = 2,
          poll_suppress_count = 0,
          interrupt_input_blocked = 0,
          byte_stack = 0x0
        }
#15 0x010263f4 in command_loop () at keyboard.c:1142
No locals.
#16 0x01025cd8 in recursive_edit_1 () at keyboard.c:774
        count = 1
        val = 1992664130
#17 0x01025e29 in Frecursive_edit () at keyboard.c:838
        count = 0
        buffer = 53565466
#18 0x01002827 in main (argc=2, argv=0xa22ca0) at emacs.c:1560
        dummy = 8978152
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = true
        dumping = false
        skip_args = 0
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0