From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Reitter Newsgroups: gmane.emacs.devel Subject: Re: crash in delete_frame Date: Tue, 24 Nov 2009 12:00:00 -0500 Message-ID: <73CAD017-34EB-489F-B7F5-B8BE83E1BE12@gmail.com> References: <90F618D6-EAAC-4593-979F-E0176B465F2F@gmail.com> <4B03AC47.5080102@gmx.at> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v1077) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1259082213 22469 80.91.229.12 (24 Nov 2009 17:03:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 24 Nov 2009 17:03:33 +0000 (UTC) Cc: Emacs discussions To: martin rudalics Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 24 18:03:25 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NCynR-0003sk-6O for ged-emacs-devel@m.gmane.org; Tue, 24 Nov 2009 18:03:23 +0100 Original-Received: from localhost ([127.0.0.1]:56958 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NCynQ-0004uf-24 for ged-emacs-devel@m.gmane.org; Tue, 24 Nov 2009 12:03:20 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NCykT-00046i-T2 for emacs-devel@gnu.org; Tue, 24 Nov 2009 12:00:17 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NCykP-00046D-DU for emacs-devel@gnu.org; Tue, 24 Nov 2009 12:00:17 -0500 Original-Received: from [199.232.76.173] (port=60048 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NCykP-000467-1N for emacs-devel@gnu.org; Tue, 24 Nov 2009 12:00:13 -0500 Original-Received: from mail-yw0-f172.google.com ([209.85.211.172]:62726) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NCykO-0005xK-NC for emacs-devel@gnu.org; Tue, 24 Nov 2009 12:00:13 -0500 Original-Received: by ywh2 with SMTP id 2so6855854ywh.27 for ; Tue, 24 Nov 2009 09:00:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=lOTCZ7R8taynMatUaoFKjt3fEkTIT6ixT4xqLQ0Djn0=; b=IO5n/xuQgnxEsfLKq+U+Xr5F3ogOO5Fot9LS9o2ghh1n/u5bCy/ftFe47Z+3ODam4X 5V141dbweoajuOrc70kq4/vU8JJlcj5hiO5KfW/iUEirhU0lOg29RAmu6tCm6Hm9J989 q4tnMRaR6Y3I3YkvYUeiOOsjrdff42pXwlTR4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=UVJPETWjNB2OliEhuNI+ed+nIAiH/tfnyq8L1qlYibXOs5eL7NTYoQrU9gsVgUQ731 Bw/m3Qs2e2rEQppm8HWA0FQ9Fo1UNvicF/aJKMMcToL8P0jAvHc14wNFVred/tpWB8da gBB4kT8tZ9RJO6cDd/GJsK+CEuoMYJ2BDkWTE= Original-Received: by 10.100.54.35 with SMTP id c35mr3509537ana.172.1259082004238; Tue, 24 Nov 2009 09:00:04 -0800 (PST) Original-Received: from scarlett.psy.cmu.edu (SCARLETT.PSY.CMU.EDU [128.2.249.106]) by mx.google.com with ESMTPS id 22sm1912439ywh.15.2009.11.24.09.00.01 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 24 Nov 2009 09:00:02 -0800 (PST) In-Reply-To: <4B03AC47.5080102@gmx.at> X-Mailer: Apple Mail (2.1077) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:117687 Archived-At: On Nov 18, 2009, at 3:11 AM, martin rudalics wrote: > > I just had a crash in delete_window and thought I'd do something = about > > it before/rather than filing a bug report.... =46rom the trace = below, > > it seems like Fdelq is called, followed by a process_pending_signals > > and some redisplay, which probably crashes because the window has = been > > half-deleted. >=20 > IIUC it was about to delete a single-window frame That's very likely. The real crash occurred in delete_frame (not = delete_window as indicated). >=20 > > 30 org.gnu.AquamacsEmacs 0x0000000100018d9e delete_frame = + 474 (frame.c:1474) >=20 > so the first question is whether there were other frames left at that > time. It's entirely possible that there were no other frames left, or that = there were only hidden frames left - I usually hide the last frame in = lieu of deleting it. (I just had another one in delete_frame (see = below), where this was the last visible frame, but can't trace the = origins, presumably also because of compile-time optimizations used in = that case). This one came via kill-buffer-hook. Any suggestions regarding tests or other debug code to insert? > > Would it be sensible in this case to add some BLOCK_INPUT statements > > to delete_window, or maybe SET_FRAME_GARBAGED? (Sorry if this is a > > naive suggestion.) >=20 > The downside of BLOCK_INPUT is that it makes Emacs unresponsive in the > sense that you can't even see a garbled frame when something goes = wrong. > But yes - some general advice on why, whether and how BLOCK_INPUT = should > be used would be very welcome. Yes, it would be good to see this written up somewhere (perhaps it = already is). Interval Since Last Report: 60693 sec Crashes Since Last Report: 1 Per-App Interval Since Last Report: 226449 sec Per-App Crashes Since Last Report: 1 Anonymous UUID: = 91FCF483-3023-4F2A-952D-036B2116B80B Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Application Specific Information: abort() called Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 libSystem.B.dylib 0x00007fff8435bfe6 __kill + 10 1 libSystem.B.dylib 0x00007fff843fce32 abort + 83 2 org.gnu.AquamacsEmacs 0x0000000100199ae2 ns_get_color = + 0 3 org.gnu.AquamacsEmacs 0x00000001000acbe8 = fatal_error_signal + 310 (emacs.c:388) 4 libSystem.B.dylib 0x00007fff8436deaa _sigtramp + = 26 5 ??? 0x00007fff5fbfcb70 0 + = 140734799793008 6 org.gnu.AquamacsEmacs 0x0000000100019a71 delete_frame = + 77 (frame.c:1329) 7 org.gnu.AquamacsEmacs 0x000000010012f51b Feval + 1664 = (eval.c:2349) 8 org.gnu.AquamacsEmacs 0x00000001001323c6 = internal_lisp_condition_case + 539 (eval.c:1435) 9 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 10 org.gnu.AquamacsEmacs 0x000000010012fb34 = funcall_lambda + 691 (eval.c:415) 11 org.gnu.AquamacsEmacs 0x000000010012fc8c apply_lambda = + 193 (eval.c:3126) 12 org.gnu.AquamacsEmacs 0x000000010012f110 Feval + 629 = (eval.c:2406) 13 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 14 org.gnu.AquamacsEmacs 0x000000010012fb34 = funcall_lambda + 691 (eval.c:415) 15 org.gnu.AquamacsEmacs 0x000000010012fc8c apply_lambda = + 193 (eval.c:3126) 16 org.gnu.AquamacsEmacs 0x000000010012f110 Feval + 629 = (eval.c:2406) 17 org.gnu.AquamacsEmacs 0x0000000100132ac4 Fif + 110 = (eval.c:415) 18 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 19 org.gnu.AquamacsEmacs 0x000000010012f574 Feval + 1753 = (eval.c:2404) 20 org.gnu.AquamacsEmacs 0x000000010012f7c8 Fprogn + 44 = (eval.c:415) 21 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 22 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 23 org.gnu.AquamacsEmacs 0x000000010013291c FletX + 321 = (eval.c:415) 24 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 25 org.gnu.AquamacsEmacs 0x000000010012fb34 = funcall_lambda + 691 (eval.c:415) 26 org.gnu.AquamacsEmacs 0x000000010012fc8c apply_lambda = + 193 (eval.c:3126) 27 org.gnu.AquamacsEmacs 0x000000010012f110 Feval + 629 = (eval.c:2406) 28 org.gnu.AquamacsEmacs 0x000000010012f824 Fand + 65 = (eval.c:336) 29 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 30 org.gnu.AquamacsEmacs 0x000000010013291c FletX + 321 = (eval.c:415) 31 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 32 org.gnu.AquamacsEmacs 0x00000001001324d9 Fwhile + 146 = (eval.c:416) 33 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 34 org.gnu.AquamacsEmacs 0x000000010013272f Flet + 452 = (eval.c:415) 35 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 36 org.gnu.AquamacsEmacs 0x000000010012f7c8 Fprogn + 44 = (eval.c:415) 37 org.gnu.AquamacsEmacs 0x000000010012e35f = internal_catch + 224 (eval.c:1226) 38 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 39 org.gnu.AquamacsEmacs 0x000000010012f377 Feval + 1244 = (eval.c:2331) 40 org.gnu.AquamacsEmacs 0x000000010012f574 Feval + 1753 = (eval.c:2404) 41 org.gnu.AquamacsEmacs 0x000000010012f574 Feval + 1753 = (eval.c:2404) 42 org.gnu.AquamacsEmacs 0x000000010013291c FletX + 321 = (eval.c:415) 43 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 44 org.gnu.AquamacsEmacs 0x000000010012fb34 = funcall_lambda + 691 (eval.c:415) 45 org.gnu.AquamacsEmacs 0x000000010012ff10 Ffuncall + = 470 (eval.c:3072) 46 org.gnu.AquamacsEmacs 0x0000000100131b54 = run_hook_with_args + 195 (eval.c:2674) 47 org.gnu.AquamacsEmacs 0x0000000100131cd6 Frun_hooks + = 54 (eval.c:2534) 48 org.gnu.AquamacsEmacs 0x00000001000d5932 Fkill_buffer = + 271 (buffer.c:1458) 49 org.gnu.AquamacsEmacs 0x000000010012f52f Feval + 1684 = (eval.c:2346) 50 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 51 org.gnu.AquamacsEmacs 0x000000010013291c FletX + 321 = (eval.c:415) 52 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 53 org.gnu.AquamacsEmacs 0x000000010012fb34 = funcall_lambda + 691 (eval.c:415) 54 org.gnu.AquamacsEmacs 0x000000010012ff10 Ffuncall + = 470 (eval.c:3072) 55 org.gnu.AquamacsEmacs 0x000000010012f60a Feval + 1903 = (eval.c:2319) 56 org.gnu.AquamacsEmacs 0x000000010013272f Flet + 452 = (eval.c:415) 57 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 58 org.gnu.AquamacsEmacs 0x000000010012fb34 = funcall_lambda + 691 (eval.c:415) 59 org.gnu.AquamacsEmacs 0x000000010012fc8c apply_lambda = + 193 (eval.c:3126) 60 org.gnu.AquamacsEmacs 0x000000010012f110 Feval + 629 = (eval.c:2406) 61 org.gnu.AquamacsEmacs 0x000000010013272f Flet + 452 = (eval.c:415) 62 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 63 org.gnu.AquamacsEmacs 0x0000000100132a32 Fcond + 128 = (eval.c:415) 64 org.gnu.AquamacsEmacs 0x000000010012f58d Feval + 1778 = (eval.c:2293) 65 org.gnu.AquamacsEmacs 0x000000010012fb34 = funcall_lambda + 691 (eval.c:415) 66 org.gnu.AquamacsEmacs 0x000000010012ff10 Ffuncall + = 470 (eval.c:3072) 67 org.gnu.AquamacsEmacs 0x0000000100131fba apply1 + 62 = (eval.c:2769) 68 org.gnu.AquamacsEmacs 0x000000010012b444 = Fcall_interactively + 1391 (callint.c:396) 69 org.gnu.AquamacsEmacs 0x0000000100130336 Ffuncall + = 1532 (eval.c:3021) 70 org.gnu.AquamacsEmacs 0x00000001001304ba call3 + 38 = (eval.c:2847) 71 org.gnu.AquamacsEmacs 0x00000001000c1c8c = command_loop_1 + 1442 (keyboard.c:1912) 72 org.gnu.AquamacsEmacs 0x000000010012e268 = internal_condition_case + 317 (eval.c:1490) 73 org.gnu.AquamacsEmacs 0x00000001000b24e6 = command_loop_2 + 44 (keyboard.c:1361) 74 org.gnu.AquamacsEmacs 0x000000010012e35f = internal_catch + 224 (eval.c:1226) 75 org.gnu.AquamacsEmacs 0x00000001000b3705 = recursive_edit_1 + 331 (keyboard.c:1340) 76 org.gnu.AquamacsEmacs 0x00000001000b38c0 = Frecursive_edit + 381 (keyboard.c:1017) 77 org.gnu.AquamacsEmacs 0x00000001000ad9cd main + 3444 = (emacs.c:1831) 78 org.gnu.AquamacsEmacs 0x00000001000023c8 start + 52