Subject: bug#9902: 24.0.90; Assertion failed: WINDOWP in xdisp.c

From: Christoph Scholtes <[email-masked]>
Date: Fri, 28 Oct 2011 22:08:12 -0600

Emacs crashed while editing C code. I believe I was inserting a chunk of
code at the time.

This was Emacs trunk snapshot `emacs-20111024-r106182-bin-i386' running
on Windows 7.

Backtrace (with gdb from Cygwin):

#0  0x76d6280d in KERNELBASE!DeleteAce ()
   from /cygdrive/c/Windows/syswow64/KERNELBASE.dll
No symbol table info available.
#1  0x0115009f in w32_abort () at w32fns.c:7196
        button = 6
#2  0x01042286 in die (
    msg=0x15aa4b4 "assertion failed: WINDOWP (hlinfo->mouse_face_window)", 
    file=0x159d4e8 "xdisp.c", line=25483) at alloc.c:6261
No locals.
#3  0x0122954d in show_mouse_face (hlinfo=0x1633420, draw=DRAW_NORMAL_TEXT)
    at xdisp.c:25483
        w = 0xffffffff
        f = 0x88e40c
#4  0x012299cd in clear_mouse_face (hlinfo=0x1633420) at xdisp.c:25613
        cleared = 0
#5  0x0122d1b7 in note_mouse_highlight (f=0x38ffc00, x=214, y=867)
    at xdisp.c:26843
        hlinfo = 0x1633420
        part = ON_TEXT
        window = 59767301
        w = 0x3462ad0
        cursor = 0x0
        pointer = 54757402
        b = 0x88e528
#6  0x0129f2e8 in w32_frame_up_to_date (f=0x38ffc00) at w32term.c:629
        hlinfo = 0x1633420
#7  0x011fe9e7 in redisplay_internal () at xdisp.c:13193
        f = 0x38ffc00
        tail = 59323718
        frame = 59767813
        w = 0x38ffa00
        sw = 0x38ffa00
        fr = 0x38ffc00
        pending = 0
        must_finish = 1
        tlbufpos = {charpos = 11, bytepos = 11}
        tlendpos = {charpos = 2329, bytepos = 2329}
        number_of_visible_frames = 1
        count = 2
        count1 = 4
        sf = 0x38ffc00
        polling_stopped_here = 1
        old_frame = 59767813
        consider_all_windows_p = 1
#8  0x011fb6b0 in redisplay () at xdisp.c:12353
No locals.
#9  0x0100898c in read_char (commandflag=1, nmaps=7, maps=0x88f960, 
    prev_event=54757402, used_mouse_menu=0x88fa48, end_time=0x0)
    at keyboard.c:2443
        echo_current = 1
        c = 54757402
        jmpcount = 8976696
        local_getcjmp = {54757426, 83640638, 54862666, 54757402, 54757402, 
          54757402, 54757402, 16797125, 0, 16998982, 1, 8976544, 8976536, 
          16797123, 16797125, 54757402}
        save_jump = {8976408, 19274917, 100939502, 54801250, 0, 1, 0, 
          54801250, 8976680, 17822007, 74492, 54801250, 96939013, 17009329, 
          54757402, 54757402}
        key_already_recorded = 0
        tem = 54757402
        save = 54757402
        previous_echo_area_message = 54757402
        also_record = 54757402
        reread = 0
        gcpro1 = {next = 0x12c8602, var = 0x60436ee, nvars = 54801250}
        gcpro2 = {next = 0x48c0, var = 0x0, nvars = 8976376}
        polling_stopped_here = 0
        orig_kboard = 0x38fa680
#10 0x0101c1e2 in read_key_sequence (keybuf=0x88fbd0, bufsize=30, 
    prompt=54757402, dont_downcase_last=0, can_return_switch_frame=1, 
    fix_current_buffer=1) at keyboard.c:9282
        interrupted_kboard = 0x38fa680
        interrupted_frame = 0x38ffc00
        key = 0
        used_mouse_menu = 0
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        local_first_binding = 0
        from_string = 54757402
        count = 2
        t = 0
        echo_start = 0
        keys_start = 0
        nmaps = 7
        nmaps_allocated = 7
        defs = 0x88f930
        submaps = 0x88f960
        orig_local_map = 89569766
        orig_keymap = 54757402
        localized_local_map = 0
        first_binding = 0
        first_unbound = 31
        mock_input = 0
        fkey = {parent = 59273174, map = 59273174, start = 0, end = 0}
        keytran = {parent = 54746822, map = 54746822, start = 0, end = 0}
        indec = {parent = 59273182, map = 59273182, start = 0, end = 0}
        shift_translated = 0
        delayed_switch_frame = 54757402
        original_uppercase = 54903194
        original_uppercase_position = -1
        dummyflag = 0
        starting_buffer = 0x5c72c00
        fake_prefixed_keys = 54757402
        outer_gcpro1 = {next = 0x160a5c4, var = 0x343881a, nvars = 96348672}
#11 0x01005bf0 in command_loop_1 () at keyboard.c:1447
        cmd = 84212050
        keybuf = {52, 392, 428, 0, 0, 0, 8977432, 16798072, 99864494, 
          54757426, 8977471, 54955082, 0, 0, 8977464, 59767808, 54862666, 0, 
          8977544, 16797441, 99864494, 8977471, 0, 2130567168, 0, 0, 8977512, 
          214540, 2, 54735302}
        i = 1
        prev_modiff = 65
        prev_buffer = 0x5c72a00
        already_adjusted = 0
#12 0x01032d43 in internal_condition_case (bfun=0x10055f8 <command_loop_1>, 
    handlers=54815130, hfun=0x1004e17 <cmd_error>) at eval.c:1499
        val = 54735302
        c = {tag = 54757402, val = 54757402, next = 0x88fd74, gcpro = 0x0, 
          jmp = {8977720, 0, 0, 0, 8977548, 16985328, 8978372, 0, 13044728, 
            8977684, 1993708817, 13044728, 2, 1989685816, 0, 1033}, 
          backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, 
          pdlcount = 2, poll_suppress_count = 0, interrupt_input_blocked = 0, 
          byte_stack = 0x0}
        h = {handler = 54815130, var = 54757402, chosen_clause = 54757426, 
          tag = 0x88fcc0, next = 0x0}
#13 0x01005254 in command_loop_2 (ignore=54757402) at keyboard.c:1158
        val = 0
#14 0x01032766 in internal_catch (tag=54813154, 
    func=0x1005230 <command_loop_2>, arg=54757402) at eval.c:1256
        c = {tag = 54813154, val = 54757402, next = 0x0, gcpro = 0x0, jmp = {
            8977896, 2130567168, 0, 0, 8977756, 16983895, 8978372, 0, 
            54757402, 54796288, 1989687104, 1989687167, 2130567168, 23253256, 
            54796288, 23253256}, backlist = 0x0, handlerlist = 0x0, 
          lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 0, 
          interrupt_input_blocked = 0, byte_stack = 0x0}
#15 0x01005210 in command_loop () at keyboard.c:1137
No locals.
#16 0x010047ec in recursive_edit_1 () at keyboard.c:757
        count = 1
        val = 1989059650
#17 0x01004b07 in Frecursive_edit () at keyboard.c:821
        count = 0
        buffer = 54757402
#18 0x01002834 in main (argc=1, argv=0xbd2fa0) at emacs.c:1706
        dummy = 8978372
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = 1
        skip_args = 0
        no_loadup = 0
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0