[Top][All Lists]
[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