GNU bug report logs - #17891
24.3.92; crash with x-popup-dialog in daemon mode with enable-checking

Previous Next

Package: emacs;

Reported by: Ken Raeburn <raeburn <at> permabit.com>

Date: Tue, 1 Jul 2014 07:29:02 UTC

Severity: normal

Found in version 24.3.92

Fixed in version 24.4

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 17891 in the body.
You can then email your comments to 17891 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#17891; Package emacs. (Tue, 01 Jul 2014 07:29:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ken Raeburn <raeburn <at> permabit.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 01 Jul 2014 07:29:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ken Raeburn <raeburn <at> permabit.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.92; crash with x-popup-dialog in daemon mode with enable-checking
Date: Tue, 1 Jul 2014 03:28:04 -0400
Configure with --with-x-toolkit=lucid --enable-checking.

Create a .emacs file with:
  (menu-bar-mode -1)

Run under X11:
  emacsclient -c -n -a ""

Evaluate (e.g., in ielm):
  (x-popup-dialog t '("hello"))

Emacs crashes:
#0  0x00007f4c889aaefb in raise () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000517898 in terminate_due_to_signal (sig=sig <at> entry=6, 
    backtrace_limit=backtrace_limit <at> entry=2147483647) at emacs.c:378
#2  0x000000000057d644 in die (msg=msg <at> entry=0x644af8 "FRAMEP (globals.f_Vmenu_updating_frame)", 
    file=file <at> entry=0x644c03 "menu.c", line=line <at> entry=469) at alloc.c:6833
#3  0x000000000047c543 in encode_menu_string (str=<optimized out>) at menu.c:469
#4  encode_menu_string (str=<optimized out>) at menu.c:465
#5  0x000000000047c7e5 in list_of_panes (menu=<optimized out>) at menu.c:515
#6  0x0000000000480b42 in xw_popup_dialog (f=0x129eca8, header=13116274, contents=20629990)
    at xmenu.c:2051
#7  0x000000000059dbda in eval_sub (form=form <at> entry=20632694) at eval.c:2191
#8  0x00000000005a0542 in Feval (form=20632694, lexical=<optimized out>) at eval.c:2003
[...]

In encode_menu_string we do:
469	  if (FRAME_TERMCAP_P (XFRAME (Vmenu_updating_frame)))
470	    return str;

but Vmenu_updating_frame is nil.

With enable-checking, Emacs will crash; without it, it seems to quietly look at some random bit of memory and (usually?) do something that doesn't immediately cause a crash, so far.

If daemon mode isn't used to start Emacs, then menu-updating-frame will be non-nil.
If menu bar mode is left enabled (by default) then again menu-updating-frame will be non-nil.

I've run into this when clicking on a button in customize buffers caused a dialog window to be popped up.





In GNU Emacs 24.3.92.2 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2014-07-01 on d42
Windowing system distributor `The X.Org Foundation', version 11.0.11406000
System Description:	Debian GNU/Linux 7.5 (wheezy)

Configured using:
 `configure --with-x-toolkit=lucid --prefix=/home/ken/dev/e2/I
 --enable-checking'

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<escape> x r e p o r t - e m <tab> <return>

Recent messages:
Starting Emacs daemon.
When done with this frame, type C-x 5 0

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr mail-utils server time-date tooltip electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting x-toolkit x multi-tty emacs)

Memory information:
((conses 16 70866 5767)
 (symbols 48 17526 0)
 (miscs 40 43 138)
 (strings 32 9288 5530)
 (string-bytes 1 262927)
 (vectors 16 9185)
 (vector-slots 8 379419 13765)
 (floats 8 69 62)
 (intervals 56 175 0)
 (buffers 960 12)
 (heap 1024 33237 612))





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17891; Package emacs. (Tue, 01 Jul 2014 08:10:03 GMT) Full text and rfc822 format available.

Message #8 received at 17891 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Antipov <dmantipov <at> yandex.ru>
To: 17891 <at> debbugs.gnu.org
Cc: Ken Raeburn <raeburn <at> permabit.com>
Subject: Re: bug#17891: 24.3.92; crash with x-popup-dialog in daemon mode
 with enable-checking
Date: Tue, 01 Jul 2014 12:09:10 +0400
On 07/01/2014 11:28 AM, Ken Raeburn wrote:

> Emacs crashes:
> #0  0x00007f4c889aaefb in raise () from /lib/x86_64-linux-gnu/libpthread.so.0
> #1  0x0000000000517898 in terminate_due_to_signal (sig=sig <at> entry=6,
>      backtrace_limit=backtrace_limit <at> entry=2147483647) at emacs.c:378
> #2  0x000000000057d644 in die (msg=msg <at> entry=0x644af8 "FRAMEP (globals.f_Vmenu_updating_frame)",
>      file=file <at> entry=0x644c03 "menu.c", line=line <at> entry=469) at alloc.c:6833
> #3  0x000000000047c543 in encode_menu_string (str=<optimized out>) at menu.c:469
> #4  encode_menu_string (str=<optimized out>) at menu.c:465
> #5  0x000000000047c7e5 in list_of_panes (menu=<optimized out>) at menu.c:515
> #6  0x0000000000480b42 in xw_popup_dialog (f=0x129eca8, header=13116274, contents=20629990)
>      at xmenu.c:2051
> #7  0x000000000059dbda in eval_sub (form=form <at> entry=20632694) at eval.c:2191
> #8  0x00000000005a0542 in Feval (form=20632694, lexical=<optimized out>) at eval.c:2003
> [...]

Should be fixed in emacs-24 revision 117332.

Dmitry





bug marked as fixed in version 24.4, send any further explanations to 17891 <at> debbugs.gnu.org and Ken Raeburn <raeburn <at> permabit.com> Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 02 Jul 2014 15:55:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 31 Jul 2014 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 10 years and 328 days ago.

Previous Next


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