From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.bugs Subject: bug#5811: 23.1.94; Emacs Nextstep port crashes after graphical yes-or-no-p Date: Thu, 01 Apr 2010 11:31:47 -0400 Message-ID: <87ljd7b34s.fsf@stupidchicken.com> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1270137386 8329 80.91.229.12 (1 Apr 2010 15:56:26 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 1 Apr 2010 15:56:26 +0000 (UTC) Cc: 5811@debbugs.gnu.org, David Engster To: Adrian Robert Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Apr 01 17:56:21 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NxMkd-0006BX-Hr for geb-bug-gnu-emacs@m.gmane.org; Thu, 01 Apr 2010 17:56:12 +0200 Original-Received: from localhost ([127.0.0.1]:56382 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NxMkc-0001KR-O3 for geb-bug-gnu-emacs@m.gmane.org; Thu, 01 Apr 2010 11:56:10 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NxMkK-0001EL-Vt for bug-gnu-emacs@gnu.org; Thu, 01 Apr 2010 11:55:53 -0400 Original-Received: from [140.186.70.92] (port=33055 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NxMkI-0001Dp-Ko for bug-gnu-emacs@gnu.org; Thu, 01 Apr 2010 11:55:52 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NxMkE-0007B6-20 for bug-gnu-emacs@gnu.org; Thu, 01 Apr 2010 11:55:50 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:58869) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NxMkD-0007Ax-W8 for bug-gnu-emacs@gnu.org; Thu, 01 Apr 2010 11:55:46 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1NxMNF-0004Xe-Ma; Thu, 01 Apr 2010 11:32:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Chong Yidong Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Apr 2010 15:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 5811 X-GNU-PR-Package: emacs,ns X-GNU-PR-Keywords: Original-Received: via spool by 5811-submit@debbugs.gnu.org id=B5811.127013591617450 (code B ref 5811); Thu, 01 Apr 2010 15:32:01 +0000 Original-Received: (at 5811) by debbugs.gnu.org; 1 Apr 2010 15:31:56 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NxMNA-0004XP-1j for submit@debbugs.gnu.org; Thu, 01 Apr 2010 11:31:56 -0400 Original-Received: from pantheon-po25.its.yale.edu ([130.132.50.119]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NxMN8-0004XK-0S for 5811@debbugs.gnu.org; Thu, 01 Apr 2010 11:31:55 -0400 Original-Received: from furry (dhcp128036014175.central.yale.edu [128.36.14.175]) (authenticated bits=0) by pantheon-po25.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id o31FVmwM011950 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 1 Apr 2010 11:31:48 -0400 Original-Received: by furry (Postfix, from userid 1000) id 0DD86C055; Thu, 1 Apr 2010 11:31:47 -0400 (EDT) In-Reply-To: (David Engster's message of "Wed, 31 Mar 2010 12:26:15 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.94 (gnu/linux) X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Thu, 01 Apr 2010 11:32:01 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:35856 Archived-At: Could you take a look at this bug report? Thanks. David, it would help if you compile Emacs without optimizations. That makes the stack trace easier to read. David Engster writes: > I've notice that Emacs didn't seem to correctly deal with graphical > 'yes-or-no-p' question. When I've tried to further investigate this > issue, I've got Emacs to crash upon the following code: > > * Emacs -Q > > * Evalute the following: > > (let ((last-nonmenu-event nil)) > (yes-or-no-p "Question")) > > * Click on "No" > > Emacs crashes with EXC_BAD_ACCESS.=20 > > The above code runs fine when running Emacs under X11 on the same system. > > I'm using the latest pretest (23.1.94), configured only with > "--with-ns", on Mac OS X 10.6.3., using the following gcc: > > Using built-in specs. > Target: i686-apple-darwin10 > Configured with: /var/tmp/gcc/gcc-5646.1~2/src/configure --disable-checki= ng --enable-werror --prefix=3D/usr --mandir=3D/share/man --enable-languages= =3Dc,objc,c++,obj-c++ --program-transform-name=3D/^[cg][^.-]*$/s/$/-4.2/ --= with-slibdir=3D/usr/lib --build=3Di686-apple-darwin10 --with-gxx-include-di= r=3D/include/c++/4.2.1 --program-prefix=3Di686-apple-darwin10- --host=3Dx86= _64-apple-darwin10 --target=3Di686-apple-darwin10 > Thread model: posix > gcc version 4.2.1 (Apple Inc. build 5646) (dot 1) > > Here are the backtraces from running in gdb: > > -------------------------- Normal backtrace -----------------------------= -------- > Program received signal EXC_BAD_ACCESS, Could not access memory. > Reason: KERN_INVALID_ADDRESS at address: 0x0000000001800010 > print_object (obj=3D25165834, printcharfun=3D4320133130, escapeflag=3D1) = at print.c:1739 > 1739 register unsigned char *p =3D SDATA (SYMBOL_NAME (obj)); > (gdb) bt > #0 print_object (obj=3D25165834, printcharfun=3D4320133130, escapeflag= =3D1) at print.c:1739 > #1 0x00000001001300f3 in Fprin1_to_string (object=3D25165834, noescape= =3D4320133130) at print.c:792 > #2 0x0000000100111431 in Ffuncall (nargs=3D2, args=3D) at eval.c:3027 > #3 0x000000010014dc1e in Fbyte_code (bytestr=3D, vector=3D, maxdepth=3D) at bytecode.c:680 > #4 0x0000000100110d8c in funcall_lambda (fun=3D4298756909, nargs=3D1, ar= g_vector=3D0x7fff5fbfda18) at eval.c:3211 > #5 0x00000001001111d2 in Ffuncall (nargs=3D2, args=3D) at eval.c:3081 > #6 0x000000010014dc1e in Fbyte_code (bytestr=3D, vector=3D, maxdepth=3D) at bytecode.c:680 > #7 0x0000000100110d8c in funcall_lambda (fun=3D4298756709, nargs=3D1, ar= g_vector=3D0x7fff5fbfdbf8) at eval.c:3211 > #8 0x00000001001111d2 in Ffuncall (nargs=3D2, args=3D) at eval.c:3081 > #9 0x000000010014dc1e in Fbyte_code (bytestr=3D, vector=3D, maxdepth=3D) at bytecode.c:680 > #10 0x0000000100110d8c in funcall_lambda (fun=3D4298757197, nargs=3D1, ar= g_vector=3D0x7fff5fbfde28) at eval.c:3211 > #11 0x00000001001111d2 in Ffuncall (nargs=3D2, args=3D) at eval.c:3081 > #12 0x000000010010dd6e in Fcall_interactively (function=3D4321163482, rec= ord_flag=3D4320133130, keys=3D4317002904) at callint.c:869 > #13 0x000000010011141c in Ffuncall (nargs=3D4, args=3D) at eval.c:3030 > #14 0x00000001001115c6 in call3 (fn=3D, arg1=3D, arg2=3D, arg3= =3D) at eval.c:2850 > #15 0x00000001000ab987 in command_loop_1 () at keyboard.c:1904 > #16 0x000000010010f8a7 in internal_condition_case (bfun=3D0x1000ab4c0 , handlers=3D4320204218, hfun=3D0x1000a3770 ) at ev= al.c:1490 > #17 0x00000001000a2af7 in command_loop_2 () at keyboard.c:1360 > #18 0x000000010010f9b0 in internal_catch (tag=3D, func=3D0x1000a2ac0 , arg=3D43= 20133130) at eval.c:1226 > #19 0x00000001000a3586 in command_loop () at keyboard.c:1339 > #20 0x00000001000a39ef in recursive_edit_1 () at keyboard.c:954 > #21 0x00000001000a3b8f in Frecursive_edit () at keyboard.c:1016 > #22 0x0000000100099147 in main (argc=3D2, argv=3D0x7fff5fbfe688) at emacs= .c:1833 > -------------------------------------------------------------------------= -------- > > > ---------------------------- Full Backtrace -----------------------------= -------- > (gdb) bt full > #0 print_object (obj=3D25165834, printcharfun=3D4320133130, escapeflag= =3D1) at print.c:1739 > end =3D > c =3D > i_byte =3D > confusing =3D > p =3D > size_byte =3D > buf =3D "@=C3=96=C2=BF_=C3=BF\000\000hf4=C3=BF\000\000=C3=96=C2= =BF_=C3=BF\000\000=C3=A8\003\000\000\000\000\000\000`=C3=96=C2=BF_\001\000\= 000" > #1 0x00000001001300f3 in Fprin1_to_string (object=3D25165834, noescape= =3D4320133130) at print.c:792 > old =3D (struct buffer *) 0x101502ac8 > start_point =3D -1 > start_point_byte =3D -1 > free_print_buffer =3D 1 > old_point =3D -1 > old_point_byte =3D -1 > printcharfun =3D 4320133130 > save_deactivate_mark =3D 4320133130 > previous =3D > #2 0x0000000100111431 in Ffuncall (nargs=3D2, args=3D) at eval.c:3027 > fun =3D > original_fun =3D > funcar =3D > numargs =3D 1 > val =3D > backtrace =3D { > next =3D 0x7fff5fbfd9a0,=20 > function =3D 0x7fff5fbfd800,=20 > args =3D 0x7fff5fbfd808,=20 > nargs =3D 1,=20 > evalargs =3D 0 '\0',=20 > debug_on_exit =3D 0 '\0' > } > internal_args =3D (Lisp_Object *) 0x7fff5fbfd750 > i =3D > #3 0x000000010014dc1e in Fbyte_code (bytestr=3D, vector=3D, maxdepth=3D) at bytecode.c:680 > count =3D 10 > op =3D > vectorp =3D (Lisp_Object *) 0x10039d398 > stack =3D { > pc =3D 0x100469da7 "*\v\f`=C3=86\035\036\016\030\031\036\017=C3=88\n!= =C3=89\n!\036\020$",=20 > top =3D 0x7fff5fbfd808,=20 > bottom =3D 0x7fff5fbfd800,=20 > byte_string =3D 4298756969,=20 > byte_string_start =3D 0x100469da0 "=C3=86\030\031=C3=87\n!*\v\f`=C3=86\= 035\036\016\030\031\036\017=C3=88\n!=C3=89\n!\036\020$",=20 > constants =3D 4298757005,=20 > next =3D 0x7fff5fbfda60 > } > top =3D (Lisp_Object *) 0x7fff5fbfd800 > result =3D > #4 0x0000000100110d8c in funcall_lambda (fun=3D4298756909, nargs=3D1, ar= g_vector=3D0x7fff5fbfda18) at eval.c:3211 > val =3D > syms_left =3D > next =3D > i =3D 1 > optional =3D 0 > rest =3D 0 > #5 0x00000001001111d2 in Ffuncall (nargs=3D2, args=3D) at eval.c:3081 > fun =3D > original_fun =3D 4324698170 > funcar =3D > numargs =3D 1 > val =3D > backtrace =3D { > next =3D 0x7fff5fbfdb80,=20 > function =3D 0x7fff5fbfda10,=20 > args =3D 0x7fff5fbfda18,=20 > nargs =3D 1,=20 > evalargs =3D 0 '\0',=20 > debug_on_exit =3D 0 '\0' > } > internal_args =3D (Lisp_Object *) 0x7fff5fbfda18 > i =3D > #6 0x000000010014dc1e in Fbyte_code (bytestr=3D, vector=3D, maxdepth=3D) at bytecode.c:680 > count =3D 8 > op =3D > vectorp =3D (Lisp_Object *) 0x10039d2d8 > stack =3D { > pc =3D 0x100469e10 ")",=20 > top =3D 0x7fff5fbfda18,=20 > bottom =3D 0x7fff5fbfda10,=20 > byte_string =3D 4298756777,=20 > byte_string_start =3D 0x100469e00 "\b\b",=20 > constants =3D 4298756813,=20 > next =3D 0x7fff5fbfdc40 > } > top =3D (Lisp_Object *) 0x7fff5fbfda10 > result =3D > #7 0x0000000100110d8c in funcall_lambda (fun=3D4298756709, nargs=3D1, ar= g_vector=3D0x7fff5fbfdbf8) at eval.c:3211 > val =3D > syms_left =3D > next =3D > i =3D 1 > optional =3D 0 > rest =3D 0 > #8 0x00000001001111d2 in Ffuncall (nargs=3D2, args=3D) at eval.c:3081 > fun =3D > original_fun =3D 4324684746 > funcar =3D > numargs =3D 1 > val =3D > backtrace =3D { > next =3D 0x7fff5fbfdd60,=20 > function =3D 0x7fff5fbfdbf0,=20 > args =3D 0x7fff5fbfdbf8,=20 > nargs =3D 1,=20 > evalargs =3D 0 '\0',=20 > debug_on_exit =3D 0 '\0' > } > internal_args =3D (Lisp_Object *) 0x7fff5fbfdbf8 > i =3D > #9 0x000000010014dc1e in Fbyte_code (bytestr=3D, vector=3D, maxdepth=3D) at bytecode.c:680 > count =3D 6 > op =3D > vectorp =3D (Lisp_Object *) 0x10039d4c8 > stack =3D { > pc =3D 0x100469d73 "\v)B\034A\n=3D > \033",=20 > top =3D 0x7fff5fbfdbf8,=20 > bottom =3D 0x7fff5fbfdbf0,=20 > byte_string =3D 4298757273,=20 > byte_string_start =3D 0x100469d66 "\b > \b",=20 > constants =3D 4298757309,=20 > next =3D 0x0 > } > top =3D (Lisp_Object *) 0x7fff5fbfdbf0 > result =3D > #10 0x0000000100110d8c in funcall_lambda (fun=3D4298757197, nargs=3D1, ar= g_vector=3D0x7fff5fbfde28) at eval.c:3211 > val =3D > syms_left =3D > next =3D > i =3D 1 > optional =3D 0 > rest =3D 0 > #11 0x00000001001111d2 in Ffuncall (nargs=3D2, args=3D) at eval.c:3081 > fun =3D > original_fun =3D 4321163482 > funcar =3D > numargs =3D 1 > val =3D > backtrace =3D { > next =3D 0x7fff5fbfe000,=20 > function =3D 0x7fff5fbfde20,=20 > args =3D 0x7fff5fbfde28,=20 > nargs =3D 1,=20 > evalargs =3D 0 '\0',=20 > debug_on_exit =3D 0 '\0' > } > internal_args =3D (Lisp_Object *) 0x7fff5fbfde28 > i =3D > #12 0x000000010010dd6e in Fcall_interactively (function=3D4321163482, rec= ord_flag=3D4320133130, keys=3D4317002904) at callint.c:869 > val =3D > args =3D (Lisp_Object *) 0x7fff5fbfde20 > visargs =3D (Lisp_Object *) 0x7fff5fbfde00 > specs =3D 4320133130 > filter_specs =3D > teml =3D 1 > up_event =3D 4320133130 > enable =3D 4320133130 > speccount =3D 3 > next_event =3D 2 > prefix_arg =3D 4320133130 > string =3D > tem =3D (unsigned char *) 0x10019edf0 "" > varies =3D (int *) 0x7fff5fbfdde0 > i =3D 1 > j =3D 1 > foo =3D > prompt1 =3D '\0' > arg_from_tty =3D 0 > key_count =3D 2 > record_then_fail =3D 0 > save_this_command =3D 4321163482 > save_last_command =3D 4320190778 > save_this_original_command =3D 4321163482 > save_real_this_command =3D 4321163482 > #13 0x000000010011141c in Ffuncall (nargs=3D4, args=3D) at eval.c:3030 > fun =3D > original_fun =3D > funcar =3D > numargs =3D 3 > val =3D > backtrace =3D { > next =3D 0x0,=20 > function =3D 0x7fff5fbfe070,=20 > args =3D 0x7fff5fbfe078,=20 > nargs =3D 3,=20 > evalargs =3D 0 '\0',=20 > debug_on_exit =3D 0 '\0' > } > internal_args =3D (Lisp_Object *) 0x7fff5fbfe078 > i =3D > #14 0x00000001001115c6 in call3 (fn=3D, arg1=3D, arg2=3D, arg3= =3D) at eval.c:2850 > ret_ungc_val =3D 4296201300 > args =3D {4320305978, 4321163482, 4320133130, 4320133130} > #15 0x00000001000ab987 in command_loop_1 () at keyboard.c:1904 > cmd =3D > lose =3D > keybuf =3D {96, 20, 140734799798792, 4297574704, 4611686018427404= 288, 4611686018427389952, 4300458264, 4300480048, 140734799798736, 42960826= 11, 140734799798592, 140734799861322, 0, 3, 140734799798792, 0, 14073480008= 4000, 0, 140734799798688, 140734799883712, 0, 140734800069792, 0, 140734799= 798672, 140734799798416, 0, 4300526552, 4320133130, 4321264154, -8680165209= 918493533} > i =3D > prev_modiff =3D 264 > prev_buffer =3D (struct buffer *) 0x101502ac8 > already_adjusted =3D 0 > #16 0x000000010010f8a7 in internal_condition_case (bfun=3D0x1000ab4c0 , handlers=3D4320204218, hfun=3D0x1000a3770 ) at ev= al.c:1490 > val =3D > c =3D { > tag =3D 4320133130,=20 > val =3D 4320133130,=20 > next =3D 0x7fff5fbfe360,=20 > gcpro =3D 0x0,=20 > jmp =3D {5512632, 1, 1606411040, 32767, 1606410720, 32767, 5512472, 1, = 5489576, 1, 5490968, 1, 5512752, 1, 1112097, 1, 530, 0, 8096, 895, 16064111= 36, 32767, 668720, 1, 5513384, 1, 5513328, 1, 2, 0, 0, 0, 0, 0, 6886400, 1,= 0},=20 > backlist =3D 0x0,=20 > handlerlist =3D 0x0,=20 > lisp_eval_depth =3D 0,=20 > pdlcount =3D 2,=20 > poll_suppress_count =3D 0,=20 > interrupt_input_blocked =3D 0,=20 > byte_stack =3D 0x0 > } > h =3D { > handler =3D 4320204218,=20 > var =3D 4320133130,=20 > chosen_clause =3D 3418355679867659105,=20 > tag =3D 0x7fff5fbfe200,=20 > next =3D 0x0 > } > #17 0x00000001000a2af7 in command_loop_2 () at keyboard.c:1360 > val =3D 4296201300 > #18 0x000000010010f9b0 in internal_catch (tag=3D, func=3D0x1000a2ac0 , arg=3D43= 20133130) at eval.c:1226 > c =3D { > tag =3D 4320197482,=20 > val =3D 4320133130,=20 > next =3D 0x0,=20 > gcpro =3D 0x0,=20 > jmp =3D {5512632, 1, 1606411328, 32767, 1606411088, 32767, 5512768, 1, = 5489576, 1, 5490968, 1, 5512752, 1, 1112479, 1, 534, 0, 8096, 895, 0, 0, 34= 4, 0, 1606411264, 22, -2026609048, 32767, 0, 10, 25412515, 1, 25416952, 1, = 25412512, 1, 22031048},=20 > backlist =3D 0x0,=20 > handlerlist =3D 0x0,=20 > lisp_eval_depth =3D 0,=20 > pdlcount =3D 2,=20 > poll_suppress_count =3D 0,=20 > interrupt_input_blocked =3D 0,=20 > byte_stack =3D 0x0 > } > #19 0x00000001000a3586 in command_loop () at keyboard.c:1339 > No locals. > #20 0x00000001000a39ef in recursive_edit_1 () at keyboard.c:954 > val =3D > #21 0x00000001000a3b8f in Frecursive_edit () at keyboard.c:1016 > count =3D > buffer =3D 4320133130 > #22 0x0000000100099147 in main (argc=3D2, argv=3D0x7fff5fbfe688) at emacs= .c:1833 > dummy =3D 0 > stack_bottom_variable =3D -106 '' > do_initial_setlocale =3D > skip_args =3D 0 > rlim =3D { > rlim_cur =3D 8720000,=20 > rlim_max =3D 67104768 > } > no_loadup =3D 0 > junk =3D 0x0 > dname_arg =3D 0x0 > dname_arg2 =3D "\000\000\000\000\000\000\000\000=C3=A6=C2=BF_=C3= =BF\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000= \000\000=C3=80_=C3=BF\000\000\000\000\000\000\000\000\000\000=C3=B8\005=C3= =80_=C3=BF\000\000\t\000\000\000\t\000\000\000=C2=A8=C3=A7=C2=BF_=C3=BF\000= \000`\a=C3=80_=C3=BF\000" > -------------------------------------------------------------------------= ---------