emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: balance-windows causes core dump


From: Stefan Monnier
Subject: Re: balance-windows causes core dump
Date: Mon, 10 Apr 2006 14:55:25 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>>>>> "Richard" == Richard Stallman <address@hidden> writes:

>     On my GNU/Linux system here, I can crash Emacs as follows:
>        emacs -Q
>        C-x 2
>        M-x balance-windows RET

> Nobody seems to have investigated this, so I tried it (please forgive
> the delay), but it did not fail for me.  Does it still fail for you?

> There has been no change in window.c since you sent that report,
> but line window.c:4290 does not contain anything that might call
> alloc.c:

> Meanwhile, it looks like you have compiled with some sort of inlining.

>     #0  0xb7c1dbf1 in kill () from /lib/tls/libc.so.6
>     #1  0x081306bc in abort () at emacs.c:464
>     #2  0x0819ce06 in die (msg=0x0, file=0x0, line=0) at alloc.c:6199
>     #3  0x080beed3 in Fadjust_window_trailing_edge (window=138362889, 
> delta=-8, 
>       horizontal=138362889) at window.c:4290

> Could you please try with that turned off?

The call to `die' is made from the XWINDOW macro (because it's built with
ENABLE_CHECKING).  The problem is really at line 429x:

 4290         if (horiz_flag
 4291             ? !NILP (XWINDOW (parent)->hchild)
 4292             : !NILP (XWINDOW (parent)->vchild))

The problem is apparently that `parent' is nil, i.e. it's not a WINDOWP.
A quick fix is to add a WINDOWP check, but since NILP(parent) is checked
a bit further up (tho only if some other condition holds as well), I suspect
the problem might be linked to this earlier NILP check.


        Stefan




reply via email to

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