Subject: bug#2877: 23.0.92; x-popup-dialog crashing

From: Lennart Staflin <[email-masked]>
Date: Fri, 03 Apr 2009 16:17:47 +0200

Emacs crash executing x-popup-dialog.

Executing:
(x-popup-dialog t '("Working" ("Yes" . t) ("No" . nil)))

Produces crash.
Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000001

(gdb) xbacktrace
"x-popup-dialog" (0xbfffe1c4)
"eval-region" (0xbfffe414)
"apply" (0xbfffe564)
"eval-defun-2" (0xbfffe8f4)
"eval-defun" (0xbfffeca4)
"call-interactively" (0xbfffef5c)

(gdb) bt full
#0  0x0010c1b8 in timer_check (do_it_now=12195632) at keyboard.c:4691
        nexttime = {
  tv_sec = -1,
  tv_usec = -1
}
        now = {
  tv_sec = 825411532,
  tv_usec = 1051320160
}
        idleness_now = {
  tv_sec = 0,
  tv_usec = 1089540943
}
        timers = 41944073
        idle_timers = 41944073
        chosen_timer = 41944073
        gcpro1 = {
  next = 0x772d19de,
  var = 0x0,
  nvars = 0
}
        gcpro2 = {
  next = 0x40ac1fff,
  var = 0xffded9c0,
  nvars = 1067925685
}
        gcpro3 = {
  next = 0xbdc00000,
  var = 0xbfffe280,
  nvars = 603980328
}
#1  0x002a6140 in -[EmacsDialogPanel runDialogAt:] (self=0xba4620, 
_cmd=0x2dc8f0, p={x = 280, y = 322}) at nsmenu.m:1892
        ret = -1002
#2  0x002a45c8 in ns_popup_dialog (position=41944121, contents=37266333, 
header=41944073) at nsmenu.m:1573
        specpdl_count = 9
        dialog = (struct objc_object *) 0xba4620
        window = 12220612
        tem = 37266293
        f = (struct frame *) 0xba7720
        p = {
  x = 280,
  y = 322
}
        isQ = 1 '\001'
#3  0x002a6374 in Fx_popup_dialog (position=41944121, contents=37266333, 
header=41944073) at nsmenu.m:1987
No locals.
#4  0x001d15d4 in Feval (form=37266357) at eval.c:2382
        numargs = 16
        args_left = 41944073
        i = 3
        maxargs = 3
        argvals = {41944121, 37266333, 41944073, 56, -2021289069, 
1758432, 41944121, 2}
        fun = 4517020
        val = 0
        original_fun = 42153569
        original_args = 37266349
        funcar = 1118644
        backtrace = {
  next = 0xbfffe504,
  function = 0xbfffe414,
  args = 0xbfffe454,
  nargs = 2,
  evalargs = 1 '\001',
  debug_on_exit = 0 '\0'
}
        gcpro1 = {
  next = 0xbfffe490,
  var = 0x2c6dbc,
  nvars = -1073748928
}
        gcpro2 = {
  next = 0x1d3644,
  var = 0xbfffe4b0,
  nvars = -2021289069
}
        gcpro3 = {
  next = 0x1d3ad0,
  var = 0xbfffe454,
  nvars = 3
}
#5  0x001d2efc in Ffuncall (nargs=2, args=0xbfffe584) at eval.c:3045
        fun = 4507372
        original_fun = 42035617
        funcar = 42030809
        numargs = 1
        lisp_numargs = -1073748608
        val = 37266357
        backtrace = {
  next = 0xbfffe874,
  function = 0xbfffe584,
  args = 0xbfffe588,
  nargs = 1,
  evalargs = 0 '\0',
  debug_on_exit = 0 '\0'
}
        internal_args = (Lisp_Object *) 0xbfffe588
        i = 17207349
#6  0x0023bc74 in Fbyte_code (bytestr=3676843, vector=3676860, 
maxdepth=24) at bytecode.c:678
        count = 8
        op = 1
        vectorp = (Lisp_Object *) 0x381ac0
        bytestr_length = 18
        stack = {
  pc = 0x3e4ffd "!)?",
  top = 0xbfffe588,
  bottom = 0xbfffe580,
  byte_string = 3676843,
  byte_string_start = 0x3e4fee "\b?\b",
  constants = 3676860,
  next = 0xbfffea64
}
        top = (Lisp_Object *) 0xbfffe584
        result = -2021289069
#7  0x001d3abc in funcall_lambda (fun=3676804, nargs=1, 
arg_vector=0xbfffe8f4) at eval.c:3232
        val = 77051645
        syms_left = 41944073
        next = 44796321
        count = 7
        i = 1
        optional = 0
        rest = 0
#8  0x001d3284 in Ffuncall (nargs=2, args=0xbfffe8f0) at eval.c:3091
        fun = 3676804
        original_fun = 44796297
        funcar = 42032497
        numargs = 1
        lisp_numargs = -1073747776
        val = 7
        backtrace = {
  next = 0xbfffebe4,
  function = 0xbfffe8f0,
  args = 0xbfffe8f4,
  nargs = 1,
  evalargs = 0 '\0',
  debug_on_exit = 0 '\0'
}
        internal_args = (Lisp_Object *) 0x2a958d9
        i = 41944073
#9  0x0023bc74 in Fbyte_code (bytestr=3677091, vector=3677108, 
maxdepth=24) at bytecode.c:678
        count = 6
        op = 1
        vectorp = (Lisp_Object *) 0x381bb8
        bytestr_length = 31
        stack = {
  pc = 0x3e4f61 "\v)B?\034A\n=?\033",
  top = 0xbfffe8f4,
  bottom = 0xbfffe8f0,
  byte_string = 3677091,
  byte_string_start = 0x3e4f54 "\b?\b",
  constants = 3677108,
  next = 0x0
}
        top = (Lisp_Object *) 0xbfffe8f0
        result = 1908324
#10 0x001d3abc in funcall_lambda (fun=3677052, nargs=1, 
arg_vector=0xbfffeca4) at eval.c:3232
        val = 1163
        syms_left = 41944073
        next = 44796321
        count = 5
        i = 1
        optional = 0
        rest = 0
#11 0x001d3284 in Ffuncall (nargs=2, args=0xbfffeca0) at eval.c:3091
        fun = 3677052
        original_fun = 42079201
        funcar = 1054660
        numargs = 1
        lisp_numargs = 41944073
        val = 1871360
        backtrace = {
  next = 0xbfffeed4,
  function = 0xbfffeca0,
  args = 0xbfffeca4,
  nargs = 1,
  evalargs = 0 '\0',
  debug_on_exit = 0 '\0'
}
        internal_args = (Lisp_Object *) 0x28213e1
        i = 0
#12 0x001cb6b4 in Fcall_interactively (function=42079201, 
record_flag=41944073, keys=23076988) at callint.c:864
        val = 1183984
        args = (Lisp_Object *) 0xbfffeca0
        visargs = (Lisp_Object *) 0xbfffec80
        specs = 3677139
        filter_specs = 3677139
        teml = 2494512
        up_event = 41944073
        enable = 41944073
        speccount = 3
        next_event = 2
        prefix_arg = 41944073
        string = (unsigned char *) 0xbfffecc0 "P"
        tem = (unsigned char *) 0x2c6d00 ""
        varies = (int *) 0xbfffec60
        i = 2
        j = 1
        count = 1
        foo = -1073746544
        prompt1 = '\0' <repeats 99 times>
        tem1 = 0x0
        arg_from_tty = 0
        gcpro1 = {
  next = 0xc24bc195,
  var = 0x87859393,
  nvars = -1035222635
}
        gcpro2 = {
  next = 0x87859393,
  var = 0xc24bc195,
  nvars = -2021289069
}
        gcpro3 = {
  next = 0xc24bc195,
  var = 0x87859393,
  nvars = 2
}
        gcpro4 = {
  next = 0x3132c7cc,
  var = 0x3ea9df60,
  nvars = 2
}
        gcpro5 = {
  next = 0x40f1134f,
  var = 0x772d19de,
  nvars = 0
}
        key_count = 2
        record_then_fail = 0
        save_this_command = 42079201
        save_last_command = 41974201
        save_this_original_command = 42079201
        save_real_this_command = 42079201
#13 0x001d2f94 in Ffuncall (nargs=4, args=0xbfffef58) at eval.c:3051
        fun = 4506628
        original_fun = 42058345
        funcar = 1758432
        numargs = 3
        lisp_numargs = -1073746144
        val = 30087754
        backtrace = {
  next = 0x0,
  function = 0xbfffef58,
  args = 0xbfffef5c,
  nargs = 3,
  evalargs = 0 '\0',
  debug_on_exit = 0 '\0'
}
        internal_args = (Lisp_Object *) 0xbfffef5c
        i = 1238767906
#14 0x001d26b8 in call3 (fn=42058345, arg1=42079201, arg2=41944073, 
arg3=41944073) at eval.c:2871
        ret_ungc_val = 37266621
        gcpro1 = {
  next = 0x28079d1,
  var = 0xbfffefa0,
  nvars = 4
}
        args = {42058345, 42079201, 41944073, 41944073}
#15 0x0011a63c in Fcommand_execute (cmd=42079201, record_flag=41944073, 
keys=41944073, special=41944073) at keyboard.c:10445
        final = 3677052
        tem = 41944073
        prefixarg = 41944073
#16 0x00104854 in command_loop_1 () at keyboard.c:1901
        scount = 2
        cmd = 42079201
        lose = 10
        nonundocount = 0
        keybuf = {192, 40, 2911676, -1073745776, 17209365, -1073745696, 
23679372, 0, 41944073, 41944073, 42028379, 41983689, 0, 1, 0, 1, 1, 
-1073747856, 20, 0, 0, 0, 1, -1073745696, 1055460, -1073745600, 
42384993, 1056068, 0, -1073745600}
        i = 2
        prev_modiff = 248
        prev_buffer = (struct buffer *) 0x467a1c0
        already_adjusted = 0
#17 0x001cf0c8 in internal_condition_case (bfun=0x102494 
<command_loop_1>, handlers=41983665, hfun=0x101888 <cmd_error>) at 
eval.c:1512
        val = 37382957
        c = {
  tag = 41944073,
  val = 41944073,
  next = 0xbffff5f8,
  gcpro = 0x0,
  jmp = {-1073745456, -1073745396, 0 <repeats 12 times>, 2, -1073742556, 
-1073742600, -1073742612, 2911676, -1073745456, 1896272, 1896488, 
1140851272, 1238767780, -1610562188, 11590800, -524288, -2113781760, 0, 
-1073745380, 44619784, 0, 44626064, 42670536, 0, 0, 0, 0, 4526880, 
-1073745216, 1709972, -1073745104, -1610570772, 1710060, -1610562188, 
-1073745104, 11626160, 42670536, 15, 15, 1140884002, -1878846272, 
1238352, -1073745024, 1107296802, 42670536, 0, 12, 44619784, 0, 
44626084, -1073744912, 8388688, 0, 0, -1073745008, 1140851240, 
-1073745104, 1709972, -1073745008, 0, 1710060, 15, -1073744944, 0, 
42670520, 6, 6, 1, 42670539, -1879023888, -1035222635, -2021289069, 
-1035222635, -2021289069, -1035222635, -2021289069, -1035222635, 
-2021289069, -1035222635, -2021289069, -1035222635, -2021289069, 
-1035222635, -2021289069, -1035222635, -2021289069, -1035222635, 
-2021289069, -1035222635, -2021289069, -1035222635, -2021289069, 
-1035222635, -2021289069, 1089540944, 825411532, 1051320160, 0, 
1089540943, 1999444446, 0, 0, 1085022207, -2172480, 1067925685, 
-1111490560, -1073744800, 1140851240, -1881078444, 1, -1073744800, 0, 6, 
15, 1, 1, 42670539, -1073742600, 1, 2911676, 42670523, 1818636, 
-1073744768, 11626160, -1073744832, 0, 0, 4526760, -1880767128, 4526760, 
8388688, 6664046, 5040, -1881077508, -1073744688, -1073744772, 
-1881077108, 42670539, 11590560, 2, 6, 6, -1073744656, 11626160, 
42670523, 0, 44626068, 1140851234, 8391184, 1799720, -1073744656, 110, 
1709736, 1818848768, 42670539, 4, 4096, -1880795504, 0, 8388688, 71, 
-1881123184, -1073744592, 2, -1881123000, -1073742600, -1073742612, 
2911676, -1073744656, 1799720, -1073743264, 42674507, 1800276, 775472, 
-1073744544, 44624404, -1073744076, 42670571, 41944073, 2, -1073742556},
  backlist = 0x0,
  handlerlist = 0x0,
  lisp_eval_depth = 0,
  pdlcount = 2,
  poll_suppress_count = 0,
  interrupt_input_blocked = 0,
  byte_stack = 0x0
}
        h = {
  handler = 41983665,
  var = 41944073,
  chosen_clause = 41944121,
  tag = 0xbffff20c,
  next = 0x0
}
#18 0x00101f00 in command_loop_2 () at keyboard.c:1359
        val = 1
#19 0x001ce850 in internal_catch (tag=41979785, func=0x101ec0 
<command_loop_2>, arg=41944073) at eval.c:1248
        c = {
  tag = 41979785,
  val = 41944073,
  next = 0x0,
  gcpro = 0x0,
  jmp = {-1073744448, 4784148, 0 <repeats 12 times>, 2, -1073742556, 
-1073742600, -1073742612, 2911676, -1073744448, 1894212, 1894448, 
1140851266, 603980322, -1073744272, 0, -524288, -2113781760, 0, 
-1073744376, -1073742612, 2911676, -1073744240, 2337384, -1073744144, 0, 
2337420, 10, 0, 35, 47, 0, 0, 0, 0, 1520, -1610600560, 2, 75497472, 
-1073742600, -1610600560, -1610600560, -1073744048, -1879036016, 
-1073744048, 1140851234, -1879035392, 12056, -1073744064, 0, 1701668, 
-1, -1610600560, 2, 152, -1073742600, -1610600560, -1610600560, 
-1073743984, -1879036016, -1073743952, 603980322, 11635312, 0, 
-1073743936, 2, -1073742556, -1073742600, -1035222635, -2021289069, 
-1035222635, -2021289069, -1035222635, -2021289069, -1035222635, 
-2021289069, -1035222635, -2021289069, -1035222635, -2021289069, 
-1035222635, -2021289069, -1035222635, -2021289069, -1035222635, 
-2021289069, -1035222635, -2021289069, -1035222635, -2021289069, 
-1035222635, -2021289069, 1089540944, 825411532, 1051320160, 0, 
1089540943, 1999444446, 0, 0, 1085022207, -2172480, 1067925685, 
-1111490560, -1073743808, 42670731, -1073743904, 24668, -1073743712, 
44619784, 75584512, 28956, -1073743808, 26, -1073743872, 0, 0, 2, 
-1073742556, 0, 0, 2, -1073742556, -1073742600, -1073742612, 2911676, 
-1073743824, 2337384, -1073743728, 10, 2337420, 10, -1073743680, 1520, 
0, 0, -1073743648, 0, 0, 11626160, 10, -1, 11626160, 11590608, 0, 10, 
11590608, 26912, -1073743664, 793920844, -1073743728, 26912, 
-1073743632, 2940110, 1701668, 0, 0, 0, 0, 2, 0, 0, -1073743680, 
1756784, -1073743552, 2, 1758432, 41944073, 2, -1610600560, 42129553, 
42130074, 41944073, 23074424, -1073743632, 1755956, -1073743552, 
1751216755, 1756164, 41, 0, 10},
  backlist = 0x0,
  handlerlist = 0x0,
  lisp_eval_depth = 0,
  pdlcount = 2,
  poll_suppress_count = 0,
  interrupt_input_blocked = 0,
  byte_stack = 0x0
}
#20 0x00101e64 in command_loop () at keyboard.c:1338
        val = -1073743488
#21 0x00101074 in recursive_edit_1 () at keyboard.c:953
        count = 1
        val = 11635472
#22 0x00101354 in Frecursive_edit () at keyboard.c:1015
        count = 0
        buffer = 41944073
#23 0x000feb90 in main (argc=2, argv=0xbffffcec) at emacs.c:1852
        dummy = 2
        stack_bottom_variable = -96 '?'
        do_initial_setlocale = 1
        skip_args = 2
        rlim = {
  rlim_cur = 8388608,
  rlim_max = 67108864
}
        no_loadup = 0
        junk = 0x0
        dname_arg = 0x0
        dname_arg2 = 
"?\000\031L?????p?\000\004\"\000\000\020\000??V?\000\000\000\000\000?\000P\000\000\000G??V?????\000\000\000\002?\000\023?????????\000\000\000\000??r??\000\025h???????("

In GNU Emacs 23.0.92.1 (powerpc-apple-darwin8.11.0, NS apple-appkit-824.48)
 of 2009-04-03 on sin
Windowing system distributor `Apple', version 10.3.824
configured using `configure  '--with-ns' '--enable-maintainer-mode' 
'--without-x' '--with-jpeg' '--with-gif' '--with-png' 
'--disable-ns-self-contained' 'CFLAGS=-g''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: en_US.UTF-8
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  eldoc-mode: t
  show-paren-mode: t
  auto-insert-mode: t
  iswitchb-mode: t
  partial-completion-mode: t
  recentf-mode: t
  cua-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
<down-mouse-1> <mouse-1> q C-x C-f b u i <tab> e m
<tab> f o <tab> <backspace> <backspace> s r <tab> f
o <tab> <backspace> <backspace> <tab> <tab> f o o <tab>
<tab> <return> C-n C-n C-n C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-x C-s M-x r e p o r t SPC b u f <return>
<backspace> g <return> C-a C-k M-x C-g M-x r e p o
r t <tab> <tab> <return>

Recent messages:
Loading /Users/lenst/src/emorb/loaddefs.el (source)...done
Loading /Users/lenst/.recentf...done
Cleaning up the recentf list...done (0 removed)
Loading paren...done
Loading /Users/lenst/.emacs-records...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading vc-git...done
(No changes need to be saved)
call-interactively: Command attempted to use minibuffer while in minibuffer
Quit
Quit