GNU bug report logs - #558
23.0.60; crash on M-x make-frame-on-display

Previous Next

Package: emacs;

Reported by: Andreas Seltenreich <seltenreich <at> gmx.de>

Date: Mon, 14 Jul 2008 08:50:03 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Andreas Seltenreich <seltenreich <at> gmx.de>
To: 558 <at> debbugs.gnu.org
Subject: bug#558: (23.0.60; crash on M-x make-frame-on-display)
Date: Mon, 14 Jul 2008 19:34:13 +0200
Emacs bug Tracking System writes:

> If you wish to submit further information on this problem, please
> send it to 558 <at> emacsbugs.donarmstrong.com, as before.

The patch in the initial report is broken.  Sorry for the inconvenience.
Here's a tested version.

--8<---------------cut here---------------start------------->8---
*** xterm.c.~1.1000.~	2008-07-13 18:20:31.000000000 +0200
--- xterm.c	2008-07-14 19:04:45.000000000 +0200
***************
*** 10125,10135 ****
--- 10125,10140 ----
  	if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->function, Qunbound))
  	  {
  	    char *vendor = ServerVendor (dpy);
+ 	    /* temporarily hide the partially initialized terminal */
+ 	    xassert(terminal_list == terminal);
+ 	    terminal_list = terminal->next_terminal;
  	    UNBLOCK_INPUT;
  	    terminal->kboard->Vsystem_key_alist
  	      = call1 (Qvendor_specific_keysyms,
  		       vendor ? build_string (vendor) : empty_unibyte_string);
  	    BLOCK_INPUT;
+ 	    terminal->next_terminal = terminal_list;
+ 	    terminal_list = terminal;
  	  }
  
  	terminal->kboard->next_kboard = all_kboards;
--8<---------------cut here---------------end--------------->8---

I also found a way to artificially cause a SIGIO at the right time to
trigger the crash more reliably:

1. compiling emacs from CVS using
./configure --with-x-toolkit=no CFLAGS='-O2 -g -fno-crossjumping'
2. running emacs -Q -nw
3. M-x find-function RET vendor-specific-keysyms RET
4. C-u C-M-x
5. crash on M-x make-frame-on-display RET :0 RET

regards,
andreas




This bug report was last modified 16 years and 325 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.