Subject: bug#4534 closed by Juanma Barranquero <[email-masked]> (Re: bug#4534: assertion failure at window.c:grow_mini_window)

From: [email-masked] (Emacs bug Tracking System)
Date: Mon, 26 Oct 2009 10:10:07 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#4534: assertion failure at window.c:grow_mini_window

It has been closed by Juanma Barranquero <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Juanma Barranquero <[email-masked]> by
replying to this email.

-- 
4534: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4534
Emacs Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#4534: assertion failure at window.c:grow_mini_window
From: Juanma Barranquero <[email-masked]>
To: Stefan Monnier <[email-masked]>
Cc: martin rudalics <[email-masked]>, [email-masked]
Date: Mon, 26 Oct 2009 11:05:54 +0100

> OK, unless someone opposes I'm going to commit the attached patch.

Done.

    Juanma

Subject: assertion failure at window.c:grow_mini_window
From: Juanma Barranquero <[email-masked]>
To: Emacs Bug Tracker <[email-masked]>
Date: Wed, 23 Sep 2009 05:02:47 +0200

GNU Emacs 23.1.50.1 (i386-mingw-nt5.1.2600) of 2009-09-22 on LEKTU
Compiled with gcc (4.3.3-tdm-1-dw2 mingw32) 4.3.3-dw2

I put the attached files into directory C:\temp, including the file test.el:

  (setq resize-mini-windows t)
  (setq ido-enable-flex-matching t)
  (setq ido-max-prospects 14)
  (ido-mode 1)

Then,

   emacs -Q -l c:/temp/test.el
   C-x C-f c:/temp/testfile <TAB> 3 <TAB> 7

Emacs aborts. (Note: As the failure depends on the number of lines in
the minibuffer, tweaking `ido-max-prospects' and/or adding more files
to the directory may be necessary to reproduce the bug.)

The xassert (delta >= 0) at the start of window.c:grow_mini_window
fails, because delta == -1. In resize_mini_window, the call to
xdisp.c:grow_mini_window has height == 5 and WINDOW_TOTAL_LINES (w) ==
6.

    Juanma

Breakpoint 1, w32_abort () at w32fns.c:7344
7344      button = MessageBox (NULL,
(gdb) bt
#0  w32_abort () at w32fns.c:7344
#1  0x011b929c in grow_mini_window (w=0x2f9ec00, delta=-1) at window.c:4637
#2  0x0106d122 in resize_mini_window (w=0x2f9ec00, exact_p=0) at xdisp.c:8809
#3  0x01075952 in redisplay_internal (preserve_echo_area=0) at xdisp.c:11536
#4  0x01073682 in redisplay () at xdisp.c:11031
#5  0x0100c78b in read_char (commandflag=1, nmaps=3, maps=0x82e1e0,
prev_event=48273409, used_mouse_menu=0x82e3c4, end_time=0x0)
    at keyboard.c:2707
#6  0x0101eb23 in read_key_sequence (keybuf=0x82e60c, bufsize=30,
prompt=48273409, dont_downcase_last=0, can_return_switch_frame=1,
    fix_current_buffer=1) at keyboard.c:9464
#7  0x01007a9a in command_loop_1 () at keyboard.c:1640
#8  0x01039cb2 in internal_condition_case (bfun=0x1007276
<command_loop_1>, handlers=48337089, hfun=0x10069ec <cmd_error>) at
eval.c:1513
#9  0x01006e85 in command_loop_2 () at keyboard.c:1357
#10 0x0103970b in internal_catch (tag=48447137, func=0x1006e65
<command_loop_2>, arg=48273409) at eval.c:1249
#11 0x01006dee in command_loop () at keyboard.c:1322
#12 0x01006143 in recursive_edit_1 () at keyboard.c:951
#13 0x0118feae in read_minibuf (map=52443485, initial=48273409,
prompt=49230995, backup_n=0, expflag=0, histvar=54300225, histpos=0,
    defalt=48273409, allow_props=0, inherit_input_method=0) at minibuf.c:739
#14 0x01193225 in Fcompleting_read (prompt=49230995,
collection=48635549, predicate=48273409, require_match=48273409,
    initial_input=48273409, hist=54300225, def=48273409,
inherit_input_method=48273409) at minibuf.c:1823
#15 0x0103df96 in Ffuncall (nargs=7, args=0x82eab0) at eval.c:3076
#16 0x011df195 in Fbyte_code (bytestr=51766515, vector=49979972,
maxdepth=56) at bytecode.c:678
#17 0x0103beb5 in Feval (form=48635773) at eval.c:2382
#18 0x0103970b in internal_catch (tag=49728209, func=0x103b477
<Feval>, arg=48635773) at eval.c:1249
#19 0x011dfdba in Fbyte_code (bytestr=54186131, vector=52804612,
maxdepth=176) at bytecode.c:853
#20 0x0103e7a9 in funcall_lambda (fun=50993028, nargs=6,
arg_vector=0x82f1d4) at eval.c:3232
#21 0x0103e005 in Ffuncall (nargs=7, args=0x82f1d0) at eval.c:3091
#22 0x011df195 in Fbyte_code (bytestr=51674739, vector=50023940,
maxdepth=64) at bytecode.c:678
#23 0x0103e7a9 in funcall_lambda (fun=50992164, nargs=1,
arg_vector=0x82f4f4) at eval.c:3232
#24 0x0103e005 in Ffuncall (nargs=2, args=0x82f4f0) at eval.c:3091
#25 0x011df195 in Fbyte_code (bytestr=49722835, vector=54198164,
maxdepth=16) at bytecode.c:678
#26 0x0103e7a9 in funcall_lambda (fun=50348772, nargs=0,
arg_vector=0x82f834) at eval.c:3232
#27 0x0103e005 in Ffuncall (nargs=1, args=0x82f830) at eval.c:3091
#28 0x0103d017 in apply1 (fn=49253217, arg=48273409) at eval.c:2786
#29 0x011e2be5 in Fcall_interactively (function=49253217,
record_flag=48273409, keys=48306948) at callint.c:395
#30 0x0103dbdc in Ffuncall (nargs=4, args=0x82faf8) at eval.c:3051
#31 0x0103d119 in call3 (fn=48471425, arg1=49253217, arg2=48273409,
arg3=48273409) at eval.c:2871
#32 0x01023a41 in Fcommand_execute (cmd=49253217,
record_flag=48273409, keys=48273409, special=48273409) at
keyboard.c:10453
#33 0x0100a993 in command_loop_1 () at keyboard.c:1901
#34 0x01039cb2 in internal_condition_case (bfun=0x1007276
<command_loop_1>, handlers=48337089, hfun=0x10069ec <cmd_error>) at
eval.c:1513
#35 0x01006e85 in command_loop_2 () at keyboard.c:1357
#36 0x0103970b in internal_catch (tag=48333209, func=0x1006e65
<command_loop_2>, arg=48273409) at eval.c:1249
#37 0x01006e3c in command_loop () at keyboard.c:1336
#38 0x01006143 in recursive_edit_1 () at keyboard.c:951
#39 0x01006618 in Frecursive_edit () at keyboard.c:1013
#40 0x01002a8d in main (argc=4, argv=0xa92840) at emacs.c:1827

Lisp Backtrace:
"completing-read" (0x82eab4)
"byte-code" (0x82ed40)
"ido-read-internal" (0x82f1d4)
"ido-file-internal" (0x82f4f4)
"ido-find-file" (0x82f834)
"call-interactively" (0x82fafc)
(gdb)