emacs-devel
[Top][All Lists]
Advanced

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

UNBLOCK_INPUT in change_frame_size_1


From: Dan Nicolaescu
Subject: UNBLOCK_INPUT in change_frame_size_1
Date: Wed, 08 Feb 2006 22:28:13 -0800

Shouldn't UNBLOCK_INPUT in dispnew.c:change_frame_size_1 be placed
after the call to record_unwind_protect?

record_unwind_protect calls grow_specdpl that in turn calls xrealloc
which might allocate memory.... 

change_frame_size_1 can be called like this:

window_change_signal -> change_frame_size -> change_frame_size_1 

I am not quite sure I understand the rules for BLOCK/UNBLOCK_INPUT but
the above looks suspicious.


This was inspired by the following bug reported for the multi-tty branch:

Han Boetes <address@hidden> writes:

  > I really don't know what I was doing, but here it is:
  > 
  > ~/nfs/Emacs/multi-tty/src% gdb =emacs ~/emacs.core
  > GNU gdb 6.3
  > Copyright 2004 Free Software Foundation, Inc.
  > GDB is free software, covered by the GNU General Public License, and you are
  > welcome to change it and/or distribute copies of it under certain 
conditions.
  > Type "show copying" to see the conditions.
  > There is absolutely no warranty for GDB.  Type "show warranty" for details.
  > This GDB was configured as "i386-unknown-openbsd3.9"...
  > Core was generated by `emacs'.
  > Program terminated with signal 11, Segmentation fault.
  > Reading symbols from /usr/lib/libossaudio.so.3.0...done.
  > Loaded symbols for /usr/lib/libossaudio.so.3.0
  > Reading symbols from /usr/lib/libncurses.so.10.0...done.
  > Loaded symbols for /usr/lib/libncurses.so.10.0
  > Reading symbols from /usr/lib/libm.so.2.1...done.
  > Loaded symbols for /usr/lib/libm.so.2.1
  > Reading symbols from /usr/lib/libc.so.39.0...done.
  > Loaded symbols for /usr/lib/libc.so.39.0
  > Reading symbols from /usr/libexec/ld.so...done.
  > Loaded symbols for /usr/libexec/ld.so
  > #0  0x08051798 in window_change_signal (signalnum=28) at 
/home/public/han/Emacs/multi-tty/src/dispnew.c:6069
  > 6069        get_tty_size (fileno (tty->input), &width, &height);
  > Environment variable "DISPLAY" not defined.
  > TERM = screen
  > Breakpoint 1 at 0x809bb5e: file 
/home/public/han/Emacs/multi-tty/src/emacs.c, line 465.
  > Breakpoint 2 at 0x80b1877: file 
/home/public/han/Emacs/multi-tty/src/sysdep.c, line 1441.
  > (gdb) bt
  > #0  0x08051798 in window_change_signal (signalnum=28) at 
/home/public/han/Emacs/multi-tty/src/dispnew.c:6069
  > #1  0x48e8502d in ?? ()
  > #2  0x0000001c in ?? ()
  > #3  0x00000000 in ?? ()
  > 
  > Lisp Backtrace:
  > "yes-or-no-p"
  > "kill-buffer"
  > "server-delete-client"
  > "server-sentinel"
  > (gdb) 
  > 
  > 
  > This is on OpenBSD, without X installed.
  > 
  > 
  > # Han
  > _______________________________________________
  > multi-tty mailing list
  > address@hidden
  > http://lists.fnord.hu/mailman/listinfo/multi-tty




reply via email to

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